超越PaLM!北大碩士提出DiVeRSe,全面刷新NLP推理排行榜
?大型語言模型可以說是現代自然語言處理技術的基石了,比如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年獲得北京大學的學士和博士學位,主要研究方向為機器學習及其在軟件分析和數據分析中的應用。?