語言模型的自洽性思維鏈推理技術

論文標題:Self-Consistency Improves Chain of Thought Reasoning in Language Models
論文鏈接:https://arxiv.org/abs/2203.11171
論文來源:ICLR 2023

一、概述

盡管語言模型在一系列NLP任務中展現出了顯著的成功,但它們在推理能力方面仍然面臨一些限制,這種限制不能僅僅通過增加模型規(guī)模來克服。為了解決這些問題,Wei等人(2022)提出了思維鏈提示(chain-of-thought prompting),即提示語言模型生成一系列模擬人在解決任務時可能使用的推理過程的短句。例如,給出問題“If there are 3 cars in the parking lot and 2 more cars arrive, how many cars are in the parking lot?”時,不直接回答“5”,而是提示語言模型以完整的思維鏈回答:“There are 3 cars in the parking lot already. 2 more arrive. Now there are 3 + 2 = 5 cars. The answer is 5.”。實驗結果顯示思維鏈提示顯著提高了模型在各種多步推理任務中的性能。

在本文中,我們引入了一種新的解碼策略,稱為自洽性(self-consistency),以替代思維鏈提示中使用的貪婪解碼(greedy decoding)策略,這進一步顯著提高了語言模型的推理性能。自洽性利用了一個直覺,即對于復雜的推理任務,通常可以通過多個推理路徑達到正確的答案。對一個問題需要進行更多的深思熟慮和分析,可以得到答案的推理路徑的多樣性就越大。

下圖用一個例子說明了自洽性方法。我們首先用思維鏈提示語言模型,然后我們不是貪婪地解碼最優(yōu)推理路徑,而是提出了一種“采樣和邊際化”(sample-and-marginalize)解碼程序:我們首先從語言模型的Decoder中采樣,生成一套多樣的推理路徑;每個推理路徑可能會導致不同的最終答案,因此我們通過邊際化采樣的推理路徑來確定最優(yōu)答案,找出在最終答案集合中最一致(consistent)的答案。這種方法類似于人類的經驗,即如果多種不同的思考方式都能得出相同的答案,人們對最終答案的正確性就會更有信心。與其他解碼方法相比,自洽性避免了貪婪解碼中困擾的重復性(repetitiveness)和局部最優(yōu)性(local-optimality),同時減輕了單一采樣生成的隨機性。

自洽思維鏈

自洽性思維鏈比之前那些要么訓練額外的verifier,要么在給定額外人類標注以提高生成質量的情況下訓練一個re-ranker的方法要簡單得多。相反,自洽性完全是無監(jiān)督的,可以直接與預訓練的語言模型一起使用,無需額外的人類標注,也避免了任何額外的訓練,輔助模型或微調。自洽性也不同于典型的集成(ensemble)方法,其中訓練多個模型并聚合每個模型的輸出,它更像是一個作用在單一語言模型之上的“自我集成”。

我們在廣泛的算術和常識推理任務上評估了自洽性思維鏈,這些任務涵蓋了四種不同規(guī)模的語言模型:UL2-20B、GPT-3-175B、LaMDA-137B和PaLM-540B。在所有四種語言模型上,自洽性在所有任務上都顯著提高了思維鏈提示的效果。在額外的實驗中,我們展示了自洽性可以在一些添加思維鏈可能會降低與標準提示相比的性能的NLP任務上魯棒地提升性能。我們還展示了自洽性顯著優(yōu)于sample-and-rank,beam search以及基于集成的方法,并且對采樣策略和不完美的提示具有魯棒性。

二、方法

人類的一個顯著特點是思考方式各異。很自然地,我們會假設在需要深思熟慮的任務中,可能有幾種方法來解決問題。我們提出,這樣的過程可以通過從語言模型的Decoder中進行抽樣在語言模型中進行模擬。例如,如上圖所示,一個模型可以針對數學問題生成幾個可能的回答,所有的回答都能得出同樣正確的答案(輸出1和3)。由于語言模型并不是完美的推理者,模型也可能產生一個不正確的推理路徑,或者在推理步驟中出現錯誤(例如,在輸出2中),但是這樣的解決方案不太可能得出相同的答案。也就是說,我們假設,即使正確推理過程是多樣的(diverse),它們在最終答案上的一致性也往往大于錯誤的過程。

我們利用這個直覺,提出了以下的自洽性方法。首先,用一組手工編寫的思維鏈示例(魏等人,2022)提示語言模型。接下來,我們從語言模型的Decoder中抽取一組候選輸出,生成一組多樣的候選推理路徑。自洽性與大多數現有的抽樣算法兼容,包括溫度抽樣、top-k抽樣,以及核采樣。最后,我們通過邊際化出采樣的推理路徑并聚合答案,選擇在生成答案中最一致的答案。

更詳細地說,假設生成的答案a_{i}來自一個固定的答案集合,a_{i}\in \mathbb{A},其中i=1,\cdots ,m索引的是從Decoder采樣的m個候選輸出。給定一個提示和一個問題,自洽性引入了一個額外的隱變量r_{i},這是一個代表第i個輸出中推理路徑的token序列,然后將(r_{i},a_{i})的生成耦合在一起,其中r_{i}\rightarrow a_{i},即,推理路徑r_{i}是可選的,只用于到達最終答案a_{i}。例如,考慮上圖中的輸出3:前幾句“She eats 3 for breakfast ... So she has 9 eggs * $2 = $18.”構成了r_{i},而最后一句中的答案18,“The answer is $18”,即是a_{i}。在從模型的Decoder中采樣多個(r_{i},a_{i})后,自洽性對r_{i}進行邊際化(邊際化的意思就是說不管推理路徑了,只看最終答案),并且在a_{i}上應用多數投票,即將argmax_{a}\sum_{i=1}^{m}\mathbb{1}(a_{i}=a)作為最終答案,或者我們定義為在最終答案集中最“一致”的答案。

在下表中,我們使用不同的答案聚合策略顯示了一組推理任務的測試準確率。除了多數投票外,在聚合答案時,還可以通過P(r_{i},a_{i}|prompt,question)為每個(r_{i},a_{i})賦予權重。注意,要計算P(r_{i},a_{i}|prompt,question),我們可以給定(prompt,question)條件下生成(r_{i},a_{i})的未歸一化概率,也可以通過輸出長度來歸一化條件概率,也就是:

P(r_{i},a_{i}|prompt,question)=exp^{\frac{1}{K}\sum_{k=1}^{K}logP(t_{k}|prompt,question,t_{1},\cdots ,t_{k-1})}

其中,logP(t_{k}|prompt,question,t_{1},\cdots ,t_{k-1})是在前一個token的條件下生成(r_{i},a_{i})中第k個tokent_{k}的對數概率,K(r_{i},a_{i})中的總token數。下表中顯示了,“unweighted sum”,即,直接對a_{i}進行多數投票,得出的準確率與使用“normalized weighted sum”進行聚合的準確率非常相似。我們仔細查看了模型的輸出概率,發(fā)現這是因為對于每個(r_{i},a_{i}),歸一化的條件概率P(r_{i},a_{i}|prompt,question)彼此非常接近,即,語言模型認為這些生成是“同樣可能的”。此外,當聚合答案時,下表中的結果顯示,“normalized weighted sum”(即上面的等式)比對應的“unnormalized weighted sum”產生的準確率要高得多。為了完整起見,我們還在下表中報告了采取“weighted avg”的結果,即,每個a得分為其weighted sum除以\sum_{i=1}^{m}\mathbb{1}(a_{i}=a),這導致了性能大大降低。

聚合策略

自洽性探索了在開放式文本生成和固定答案的最優(yōu)文本生成之間的一個有趣的空間。推理任務通常有固定的答案,這就是為什么研究者們通??紤]貪婪解碼方法。然而,我們發(fā)現,即使期望的答案是固定的,在推理過程中引入多樣性也可以帶來很大的益處;因此,我們利用常用于開放式文本生成的采樣來實現這個目標。需要注意的是,自洽性只能應用于最終答案來自固定答案集的問題,但原則上,如果可以在多個生成之間定義一種一致性的合適的度量,比如,兩個答案是否一致或者相互矛盾,那么這種方法就可以擴展到開放式文本生成問題。

三、實驗

  1. 主要結果
實驗
實驗
實驗
實驗
  1. 思維鏈會造成性能下降的實驗
實驗
  1. 與其他先用方法的對比
實驗
實驗
實驗
  1. 其他研究
實驗
實驗
實驗
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容