重新審視Prompt優(yōu)化問題,預(yù)測偏差讓語言模型上下文學(xué)習(xí)更強(qiáng)
- 論文鏈接: https://arxiv.org/abs/2303.13217
- 代碼鏈接: https://github.com/MaHuanAAA/g_fair_searching
研究介紹
大型語言模型在上下文學(xué)習(xí)中表現(xiàn)出了驚人的能力,這些模型可以通過幾個(gè)輸入輸出示例構(gòu)建的上下文進(jìn)行學(xué)習(xí),無需微調(diào)優(yōu)化直接應(yīng)用于許多下游任務(wù)。然而,先前的研究表明,由于訓(xùn)練樣本 (training examples)、示例順序 (example order) 和提示格式 (prompt formats) 的變化,上下文學(xué)習(xí)可能會(huì)表現(xiàn)出高度的不穩(wěn)定性。因此,構(gòu)建適當(dāng)?shù)?prompt 對(duì)于提高上下文學(xué)習(xí)的表現(xiàn)至關(guān)重要。
以前的研究通常從兩個(gè)方向研究這個(gè)問題:(1)編碼空間中的提示調(diào)整 (prompt tuning),(2)在原始空間中進(jìn)行搜索 (prompt searching)。
Prompt tuning 的關(guān)鍵思想是將任務(wù)特定的 embedding 注入隱藏層,然后使用基于梯度的優(yōu)化來調(diào)整這些 embeddings。然而,這些方法需要修改模型的原始推理過程并且獲得模型梯度,這在像 GPT-3 和 ChatGPT 這樣的黑盒 LLM 服務(wù)中是不切實(shí)際的。此外,提示調(diào)整會(huì)引入額外的計(jì)算和存儲(chǔ)成本,這對(duì)于 LLM 通常是昂貴的。
更可行且高效的方法是通過在原始文本空間中搜索近似的演示樣本和順序來優(yōu)化提示。一些工作從 “Global view” 或 “Local view” 構(gòu)建提示。基于 Global view 的方法通常將提示的不同元素作為整體進(jìn)行優(yōu)化,以達(dá)到更優(yōu)異的性能。例如,Diversity-guided [1] 的方法利用演示的整體多樣性的搜索,或者試圖優(yōu)化整個(gè)示例組合順序 [2],以實(shí)現(xiàn)更好的性能。與 Global view 相反,基于 Local view 的方法通過設(shè)計(jì)不同的啟發(fā)式選擇標(biāo)準(zhǔn),例如 KATE [3]。
但這些方法都有各自的局限性:(1)目前的大多數(shù)研究主要集中在沿著單個(gè)因素搜索提示,例如示例選擇或順序。然而各個(gè)因素對(duì)性能的總體影響尚不清楚。(2)這些方法通常基于啟發(fā)式標(biāo)準(zhǔn),需要一個(gè)統(tǒng)一的視角來解釋這些方法是如何工作的。(3)更重要的是,現(xiàn)有的方法會(huì)全局或局部地優(yōu)化提示,這可能會(huì)導(dǎo)致性能不理想。
本文從 “預(yù)測偏差” 的角度重新審視了 NLP 領(lǐng)域中的 prompt 優(yōu)化問題,發(fā)現(xiàn)了一個(gè)關(guān)鍵現(xiàn)象:一個(gè)給定的 prompt 的質(zhì)量取決于它的內(nèi)在偏差。基于這個(gè)現(xiàn)象,文章提出了一個(gè)基于預(yù)測偏差的替代標(biāo)準(zhǔn)來評(píng)估 prompt 的質(zhì)量,該度量方法能夠在不需要額外開發(fā)集 (development set) 的情況下通過單個(gè)前向過程來評(píng)估 prompt。
具體來說,通過在一個(gè)給定的 prompt 下輸入一個(gè) “無內(nèi)容” 的測試,期望模型輸出一個(gè)均勻的預(yù)測分布(一個(gè) “無內(nèi)容” 的輸入不包含任何有用的信息)。因此,文中利用預(yù)測分布的均勻性來表示給定 prompt 的預(yù)測偏差。這與先前的后校準(zhǔn)方法 [4] 用的指標(biāo)類似,但與后校準(zhǔn)在固定的 prompt 情況下使用這個(gè) metric 進(jìn)行概率后校準(zhǔn)不同的是,文中進(jìn)一步探索了其在自動(dòng)搜索近似 prompt 中的應(yīng)用。并通過大量實(shí)驗(yàn)證實(shí)了一個(gè)給定 prompt 的內(nèi)在偏差和它在給定測試集上的平均任務(wù)表現(xiàn)之間的相關(guān)性。
此外,這種基于偏差的度量使該方法能夠以 “局部到全局” 的方式搜索合適的 prompt。然而,一個(gè)現(xiàn)實(shí)的問題是無法通過遍歷所有組合的方式搜索最優(yōu)解,因?yàn)樗膹?fù)雜度將超過 O (N!)。
該工作提出了兩種新穎的策略以高效的方式搜索高質(zhì)量的 prompt:(1) T-fair-Prompting (2) G-fair-Prompting。T-fair-Prompting 使用一種直觀的方式,首先計(jì)算每個(gè)示例單獨(dú)組成 prompt 的偏差,然后選擇 Top-k 個(gè)最公平示例組合成最終 prompt。這個(gè)策略相當(dāng)高效,復(fù)雜度為 O (N)。但需要注意的是,T-fair-Prompting 基于這樣的假設(shè):最優(yōu)的 prompt 通常是由偏差最小的示例構(gòu)建的。然而,這在實(shí)際情況下可能并不成立,并且往往會(huì)導(dǎo)致局部最優(yōu)解。因此,文章中進(jìn)一步介紹了 G-fair-Prompting 來改善搜索質(zhì)量。G-fair-Prompting 遵循貪心搜索的常規(guī)過程,通過在每個(gè)步驟上進(jìn)行局部最優(yōu)選擇來找到最優(yōu)解。在算法的每一步,所選擇的示例都能使更新的 prompt 獲得最佳的公平性,最壞情況時(shí)間復(fù)雜度為 O (N^2),搜索質(zhì)量顯著提高。G-fair-Prompting 從局部到全局的角度進(jìn)行工作,其中在早期階段考慮單個(gè)樣本的偏差,而在后期階段則側(cè)重于減少全局預(yù)測偏差。
實(shí)驗(yàn)結(jié)果
該研究提出了一種有效和可解釋的方法來提高語言模型的上下文學(xué)習(xí)性能,這種方法可以應(yīng)用于各種下游任務(wù)。文章驗(yàn)證了這兩種策略在各種 LLMs(包括 GPT 系列模型和最近發(fā)布的 LMaMA 系列)上的有效性,G-fair-Prompting 與 SOTA 方法相比,在不同的下游任務(wù)上獲得了超過 10%的相對(duì)改進(jìn)。
與該研究最相近的是 Calibration-before-use [4] 方法,兩者都使用 “無內(nèi)容” 的輸入提高模型的表現(xiàn)。但是,Calibration-before-use 方法旨在使用該標(biāo)準(zhǔn)來校準(zhǔn)輸出,而該輸出仍然容易受到所使用示例的質(zhì)量的影響。與之相比,本文旨在搜索原始空間找到近似最優(yōu)的 prompt,以提高模型的性能,而不需要對(duì)模型輸出進(jìn)行任何后處理。此外,該文首次通過大量實(shí)驗(yàn)驗(yàn)證了預(yù)測偏差與最終任務(wù)性能之間的聯(lián)系,這在 Calibration-before-use 方法中尚未研究。
通過實(shí)驗(yàn)還能發(fā)現(xiàn),即使不進(jìn)行校準(zhǔn),該文章所提方法選擇的 prompt 也可以優(yōu)于經(jīng)過校準(zhǔn)的隨機(jī)選擇的 prompt。這表明該方法可以在實(shí)際應(yīng)用中具有實(shí)用性和有效性,可以為未來的自然語言處理研究提供啟示。