大型語言模型可以說是現代自然語言處理技術的基石了,例如1750億參數的GPT-3,5400億參數的PaLM,預訓練模型為下游任務提供了非常強大的few-shot learning的能力。
但推理任務仍然是一個難關,尤其是需要多步驟推理才能得到正確答案的問題。
最近有研究人員發現,只要設計合適的prompt就能引導模型進行多步驟的推理來產生最終答案,這種方法也稱為思維鏈(chain-of-thought)推理。
思維鏈技術在算術基準GSM8K上將準確率從17.9%提升到了58.1%,後來引入的投票自洽(self-consistency)機制進一步將準確率提升到74.4%
簡單來說,複雜的推理任務通常有多個能得到正確答案的推理路徑,自洽方法透過思考鏈從語言模型中取樣一組不同的推理路徑,然後回到其中最自洽的答案。
最近,來自北大和微軟的研究人員基於自洽的新方法DiVeRSe,包含三個主要的創新點,進一步提升了模型的推理能力。
論文連結:https://arxiv.org/abs/2206.02336
程式碼連結:https://github.com/microsoft/DiVeRSe
第一,受到自洽方式「想法不同,答案相同」的啟發,即從語言模型中採樣不同的推理路徑,DiVeRSe在多樣性上更進一步,按照“條條大路通羅馬”的理念,使用多個prompt產生答案,能夠產生更完整、互補的答案。
研究人員先提供每個問題5個不同的prompts,然後對每個prompt取樣出20個推理路徑,最後就可以對每個問題產生100個解答推理路徑。
一個關鍵的問題是如何取得不同的prompt,假定已經取得一個範例函式庫後,我們可以從中取樣K個範例來建構一個prompt,然後重複5次即可
如果沒有足夠的範例,則採用self-teaching的方式提升prompt多樣性,也就是從一部分範例產生偽推理路徑和對。
第二,在產生推理路徑時,語言模型中並不存在一種機制來修正先前步驟中的錯誤,可能會導致最終預測結果的混亂。 DiVeRSe借鑒verifier的思想,對每個推理路徑的正確性進行驗證來引導投票機制。也就是說,並非所有的推理機制都是相等重要的或都是好的。
假設我們對一個問題有100條推理路徑,其中60條的結果為「答案是110」,而40條路徑的結果為「答案是150」。如果沒有驗證器(即原始自洽方法),「答案是110」為多數票,所以我們可以將110視為最終答案,並刪除結果為150的40條推理路徑。
verifier則是對推理路徑進行評分,函數f由一個二分類器訓練得到,輸入為問題x,路徑z和答案y,輸出為positive的機率。
有verifier後,假設「答案是110」的60條推理路徑的平均分數是0.3;「答案是150」的40條推理路徑的平均分數是0.8。那麼最終的答案應該是150,因為40*0.8>60*0.3
第三,由於答案是基於多個步驟的推理而產生的,當一個路徑產生一個正確的答案時,可以認為所有的步驟都對最終的正確性做出了貢獻。然而,當產生一個錯誤的答案時,這並不意味著所有的步驟都是錯誤的或對錯誤有貢獻。
換句話說,儘管結果錯了,中間一些步驟可能仍然是正確的,但一些後續的偏離方向的步驟導致了最終的錯誤答案。 DiVeRSe設計了一個機制,為每個步驟分配一個細粒度的標籤,並提出了一個step-aware的驗證器,並將正確性分配到每個步驟的推理上,而不是只看最終的答案。
主體仍然是一個二分類器,但關鍵的問題是如何獲得step-level的負標籤,因為如果最終的答案錯誤,沒有人工的參與,我們並不知道哪一步出錯,而正確的答案則過程應該都是正確的。
研究者提出supports的概念,例如在算術任務中,需要有另外一個範例的中間結果和該中間步驟的結果相同。
基於這三點改進,研究人員在5個算數推理資料集上進行實驗,可以看到在基於code-davinci-002的DiVeRSe方法都取得了新的SOTA演算法,平均的提升率為6.2%
在兩個常識推理任務上,DiVeRSe的表現略低於基於PaLM的自洽(-2.2% ),推測原因可能是常識推理任務是多項選擇任務,而不是開放性的生成任務,導致了出現了更多false-positive的偽例證。
在歸納推理任務上,DiVeRSe在CLUTRR任務上取得了95.9%的成績,超過了先前SOTA的微調結果( 28.9%)
在消融實驗中,可以看到voting verifier機制對效能的提升是比較明顯的。
而在大多數實驗中,將voting verifier擴充為step-aware版本可以帶來效能的提升。對於GSM8K上的code-davinci-002,step-aware版本的verifier則會導致效能略有下降。
可能的原因為code-davinci-002更強大,可以為GSM8K產生更高品質的推理路徑,從而減少步驟級資訊的必要性,即text-davinci更容易產生短/不完整的推理路徑,而code-davinci對生成長內容更友善。
論文的第一作者為Yifei Li,於2020年本科畢業於東北大學軟體工程專業,目前碩士就讀於北京大學,主要研究方向為自然語言處理,特別是大規模語言模型中的prompt-tuning和推理。
文章的第二作者為Zeqi Lin,為微軟亞洲研究院DKI研究員,分別於2014年和2019年獲得北京大學的學士和博士學位,主要研究方向為機器學習及其在軟體分析和數據分析中的應用。
以上是超越PaLM!北大碩士提出DiVeRSe,全面刷新NLP推理排行榜的詳細內容。更多資訊請關注PHP中文網其他相關文章!