重要的事情說兩遍!Prompt「復(fù)讀機(jī)」,顯著提高LLM推理能力
眾所周知,人類的本質(zhì)是復(fù)讀機(jī)。
我們遵循復(fù)讀機(jī)的自我修養(yǎng):敲黑板,劃重點,重要的事情說三遍。
but,事實上同樣的方法對付AI也有奇效!
有研究證明,在提問的時候故意重復(fù)一遍——也就是復(fù)制粘貼,即可顯著提高LLM的推理能力。
圖片
論文地址:https://arxiv.org/pdf/2309.06275
看下面的例子:
圖片
作者認(rèn)為,通常情況下,問題中的重點token(比如這里的tennis balls)無法看到位于它后面的token(上圖)。
相比之下,使用重讀(re-reading,RE2)的方法,允許「tennis balls」在第二遍中看到自己對應(yīng)的整個問題(How many tennis balls does he have now?),從而達(dá)到雙向理解的效果(下圖)。
圖片
實驗表明,在14個數(shù)據(jù)集上的112個實驗中,RE2技術(shù)都能帶來一致的性能提升,無論是經(jīng)過指令調(diào)整的模型(如ChatGPT),還是未經(jīng)調(diào)整的模型(如Llama)。
實踐中,RE2作為獨立的技巧,可以與CoT(Let’s think step by step)以及自我一致性方法(self-consistency,SC)一起使用。
下表展示了混合應(yīng)用多種方法對模型效果的影響。盡管自我一致性聚合了多個答案,但重讀機(jī)制仍然有助于大多數(shù)場景的改進(jìn)。
圖片
接下來,在GSM8K數(shù)據(jù)集上(使用ChatGPT)進(jìn)一步研究輸入問題復(fù)雜性對CoT和RE2提示的推理性能的影響。
這里通過計算真實解釋中存在的推理步驟來衡量問題的復(fù)雜性,結(jié)果如下圖所示。
圖片
隨著問題復(fù)雜性的增加,所有提示的表現(xiàn)通常都會下降,但重讀的引入提高了LLM應(yīng)對各種復(fù)雜問題的表現(xiàn)。
此外,作者還計算了各代和輸入問題之間的覆蓋度,證明RE2增加了輸出解釋中的n-gram (n=1,2,3,4) 召回率。
重要的事情說2遍
現(xiàn)有的推理研究主要集中在設(shè)計多樣化引導(dǎo)提示,而對輸入階段的理解卻很少受到關(guān)注。
事實上,理解是解決問題的第一步,至關(guān)重要。
當(dāng)今大多數(shù)LLM都采用單向注意力的decoder-only架構(gòu) ,在對問題進(jìn)行編碼時,單向注意力限制了token的可見性,這可能會損害對問題的全局理解。
怎么解決這個問題?作者受到人類習(xí)慣的啟發(fā),嘗試讓LLM把輸入再讀一遍。
與引導(dǎo)模型在輸出中推理的CoT不同,RE2通過兩次處理問題將焦點轉(zhuǎn)移到輸入,促進(jìn)了單向解碼器的雙向編碼,從而增強(qiáng)LLM理解過程。
圖片
上圖為GSM8K數(shù)據(jù)集上測試的注意力分布圖,較暗的單元格表示較高的注意力。
上虛線三角形內(nèi)的區(qū)域表明,第二遍輸入中的每個token都明顯關(guān)注第一遍中的后續(xù)token,證明LLM的重讀有望實現(xiàn)對問題的雙向理解。
從另一個角度考慮,重讀使LLM能夠為輸入編碼分配更多的計算資源,類似于水平增加神經(jīng)網(wǎng)絡(luò)的深度。因此,擁有RE2的LLM對問題有更深入的理解。
普通推理
利用帶有CoT提示的LLM來解決推理任務(wù),可以用公式表述為:
圖片
其中,Cx表示提示輸入,來自帶有CoT提示指令的模板,z表示自然語言中的采樣基本原理。
因此, LLM可以將復(fù)雜的任務(wù)分解為更易于管理的推理步驟,將每個步驟視為整個解決方案鏈的組成部分。
RE2 推理
受到人類重讀策略的啟發(fā),將上面的方程改寫為:
圖片
所以RE2在實際應(yīng)用中就是下面這種格式:
圖片
其中{Input Query}是輸入查詢的占位符,左側(cè)部分可以包含其他引發(fā)思考的提示。
實驗
由于RE2的簡單性和對輸入階段的重視,它可以與各種LLM和算法無縫集成,包括few-shot、自我一致性、各種引發(fā)思考的提示策略等。
為了驗證RE2的有效性和通用性,研究人員在14個數(shù)據(jù)集上進(jìn)行了112個實驗,涵蓋算術(shù)、常識和符號推理任務(wù)。
算術(shù)推理
實驗考慮以下七個算術(shù)推理基準(zhǔn):
數(shù)學(xué)應(yīng)用題的GSM8K基準(zhǔn)、具有不同結(jié)構(gòu)的數(shù)學(xué)應(yīng)用問題的SVAMP數(shù)據(jù)集、不同數(shù)學(xué)應(yīng)用題的ASDiv數(shù)據(jù)集、代數(shù)應(yīng)用題的AQuA數(shù)據(jù)集、三到五年級學(xué)生的加法和減法數(shù)學(xué)應(yīng)用題、多步驟數(shù)學(xué)問題數(shù)據(jù)集,以及單次運算的初等數(shù)學(xué)應(yīng)用題數(shù)據(jù)集。
圖片
上表為算術(shù)推理基準(zhǔn)測試結(jié)果。*處表示不使用任何技巧,但效果優(yōu)于CoT提示的情況。
常識和符號推理
對于常識推理,實驗采用StrategyQA、ARC和CSQA數(shù)據(jù)集。
StrategyQA數(shù)據(jù)集包含需要多步驟推理的問題;
ARC數(shù)據(jù)集(ARC-t)分為兩個集合:挑戰(zhàn)集(ARC-c)和簡單集(ARC-e),前者包含基于檢索和單詞共現(xiàn)算法都錯誤回答的問題;
CSQA數(shù)據(jù)集由需要各種常識知識的問題組成。
實驗評估兩個符號推理任務(wù):日期理解和Coinflip。日期理解是 BigBench數(shù)據(jù)集的子集,Coinflip是一個問題數(shù)據(jù)集,根據(jù)問題中給出的步驟,判斷硬幣翻轉(zhuǎn)后是否仍然正面朝上。
圖片
結(jié)果表明,除了普通ChatGPT上的某些場景之外,具有簡單重讀策略的RE2,持續(xù)增強(qiáng)了LLM的推理性能。
RE2展示了跨各種LLM的多功能性(Text-Davinci-003、ChatGPT、LLaMA-2-13B和LLaMA-2-70B),涵蓋指令微調(diào) (IFT) 和非IFT模型。
作者還對RE2在零樣本和少樣本的任務(wù)設(shè)置、思維引發(fā)的提示方法以及自洽設(shè)置方面進(jìn)行了探索,突出了其通用性。
Prompting
實驗嚴(yán)格評估RE2模型在兩種基線提示方法上的性能:Vanilla(不添加特技)和CoT(通過逐步的思維過程來指導(dǎo)模型)。
圖片
針對不同的任務(wù),作者在提示中設(shè)計了答案格式指令,以規(guī)范最終答案的結(jié)構(gòu),便于精確提取答案。
圖片
實驗的解碼策略使用貪婪解碼,溫度設(shè)置為0,從而產(chǎn)生確定性輸出。
最后探索一下問題重讀次數(shù)對推理性能的影響:
圖片
上圖展示了兩個不同的LLM的表現(xiàn)如何隨問題重讀次數(shù)的變化而變化。我們可以發(fā)現(xiàn)重讀2次使性能提高,之后隨著問題重讀次數(shù)增加,性能開始下降。
猜測原因有兩個:i)過度重復(fù)問題可能會起到示范作用,鼓勵LLM重復(fù)問題而不是生成答案,ii)重復(fù)問題會顯著增加推理和預(yù)訓(xùn)練之間的不一致。
參考資料:https://arxiv.org/pdf/2309.06275