谷歌:LLM找不到推理錯誤,但能糾正它
今年,大型語言模型(LLM)成為 AI 領(lǐng)域關(guān)注的焦點。LLM 在各種自然語言處理(NLP)任務(wù)上取得了顯著的進(jìn)展,在推理方面的突破尤其令人驚艷。但在復(fù)雜的推理任務(wù)上,LLM 的表現(xiàn)仍然欠佳。
那么,LLM 能否判斷出自己的推理存在錯誤?最近,劍橋大學(xué)和 Google Research 聯(lián)合開展的一項研究發(fā)現(xiàn):LLM 找不到推理錯誤,但卻能使用該研究提出的回溯(backtracking)方法糾正錯誤。
- 論文地址:https://arxiv.org/pdf/2311.08516.pdf
- 數(shù)據(jù)集地址:https://github.com/WHGTyen/BIG-Bench-Mistake
這篇論文引起了一些爭論,有人提出異議,比如在 Hacker News 上,有人評論這篇論文的標(biāo)題言過其實,有些標(biāo)題黨。也有人批評說其中提出的校正邏輯錯誤的方法基于模式匹配,而非采用邏輯方法,這種方法其實容易失敗。
Huang 等人在論文《Large language models cannot self-correct reasoning yet》中指出:自我校正或許是能有效地提升模型輸出的風(fēng)格和質(zhì)量,但鮮有證據(jù)表明 LLM 有能力在沒有外部反饋的情況下識別和糾正自身的推理和邏輯錯誤。比如 Reflexion 和 RCI 都使用了基本真值的糾正結(jié)果作為停止自我校正循環(huán)的信號。
劍橋大學(xué)和 Google Research 的研究團(tuán)隊提出了一種新思路:不再把自我校正看作一個單一過程,而是分成錯誤發(fā)現(xiàn)和輸出校正兩個過程:
- 錯誤發(fā)現(xiàn)是一種基礎(chǔ)推理技能,已經(jīng)在哲學(xué)、心理學(xué)和數(shù)學(xué)領(lǐng)域得到了廣泛的研究和應(yīng)用,并催生了批判性思維、邏輯和數(shù)學(xué)謬誤等概念。我們可以合理地認(rèn)為發(fā)現(xiàn)錯誤的能力也應(yīng)該是 對 LLM 的一項重要要求。但是,本文結(jié)果表明:當(dāng)前最佳的 LLM 目前還無法可靠地發(fā)現(xiàn)錯誤。
- 輸出校正涉及部分或完全修改之前生成的輸出。自我校正是指由生成輸出的同一模型來完成校正。盡管 LLM 沒有發(fā)現(xiàn)錯誤的能力,但本文表明:如果能提供有關(guān)錯誤的信息(如通過一個小型的監(jiān)督式獎勵模型),LLM 可以使用回溯方法校正輸出。
本文的主要貢獻(xiàn)包括:
- 使用思維鏈 prompt 設(shè)計方法,任何任務(wù)都可以變成錯誤發(fā)現(xiàn)任務(wù)。研究者為此收集并發(fā)布了一個 CoT 類型的軌跡信息數(shù)據(jù)集 BIG-Bench Mistake,該數(shù)據(jù)集由 PaLM 生成,并標(biāo)注了第一個邏輯錯誤的位置。研究者表示,BIG-Bench Mistake 在它的同類數(shù)據(jù)集中,是首個不局限于數(shù)學(xué)問題的數(shù)據(jù)集。
- 為了測試當(dāng)前最佳 LLM 的推理能力,研究者基于新數(shù)據(jù)集對它們進(jìn)行了基準(zhǔn)評測。結(jié)果發(fā)現(xiàn),當(dāng)前 SOTA LLM 也難以發(fā)現(xiàn)錯誤,即便是客觀的明確的錯誤。他們猜測:LLM 無法發(fā)現(xiàn)錯誤是 LLM 無法自我校正推理錯誤的主要原因,但這方面還有待進(jìn)一步研究。
- 本文提出使用回溯方法來校正輸出,利用錯誤的位置信息來提升在原始任務(wù)上的性能。研究表明這種方法可以校正原本錯誤的輸出,同時對原本正確的輸出影響極小。
- 本文將回溯方法解釋成了「言語強(qiáng)化學(xué)習(xí)」的一種形式,從而可實現(xiàn)對 CoT 輸出的迭代式提升,而無需任何權(quán)重更新。研究者提出,可以通過一個經(jīng)過訓(xùn)練的分類器作為獎勵模型來使用回溯,他們也通過實驗證明了在不同獎勵模型準(zhǔn)確度下回溯的有效性。
BIG-Bench Mistake數(shù)據(jù)集
BIG-Bench 由 2186 個 CoT 風(fēng)格的軌跡信息集合組成。每個軌跡由 PaLM 2-L-Unicorn 生成,并標(biāo)注了第一個邏輯錯誤的位置。表 1 展示了一個軌跡示例,其中錯誤位于第 4 步。
這些軌跡來自 BIG-Bench 數(shù)據(jù)集中的 5 個任務(wù):詞排序、跟蹤經(jīng)過混洗的對象、邏輯推演、多步算術(shù)和 Dyck 語言。
他們使用 CoT prompt 設(shè)計法來調(diào)用 PaLM 2,使其解答每個任務(wù)的問題。為了將 CoT 軌跡分成明確的步驟,他們使用了論文《React: Synergizing reasoning and acting in language models》中提出的方法,分開生成每一步,并使用了換行符作為停止 token。
在該數(shù)據(jù)集中,生成所有軌跡時,temperature = 0。答案的正確性由精確匹配決定。
基準(zhǔn)測試結(jié)果
表 4 報告了 GPT-4-Turbo、GPT-4 和 GPT-3.5-Turbo 在新的錯誤發(fā)現(xiàn)數(shù)據(jù)集上的準(zhǔn)確度。
對于每個問題,可能的答案有兩種情況:要么沒有錯誤,要么就有錯誤。如有錯誤,則數(shù)值 N 則會指示第一個錯誤出現(xiàn)的步驟。
所有模型都被輸入了同樣的 3 個 prompt。他們使用了三種不同的 prompt 設(shè)計方法:
- 直接的軌跡層面的 prompt 設(shè)計
- 直接的步驟層面的 prompt 設(shè)計
- CoT 步驟層面的 prompt 設(shè)計
相關(guān)討論
研究結(jié)果表明,這三個模型都難以應(yīng)對這個新的錯誤發(fā)現(xiàn)數(shù)據(jù)集。GPT 的表現(xiàn)最好,但其在直接的步驟層面的 prompt 設(shè)計上也只能達(dá)到 52.87 的總體準(zhǔn)確度。
這說明當(dāng)前最佳的 LLM 難以發(fā)現(xiàn)錯誤,即使是在最簡單和明確的案例中。相較之下,人類在沒有特定專業(yè)知識時也能發(fā)現(xiàn)錯誤,并且具有很高的一致性。
研究者猜測:LLM 無法發(fā)現(xiàn)錯誤是 LLM 無法自我校正推理錯誤的主要原因。
prompt 設(shè)計方法的比較
研究者發(fā)現(xiàn),從直接軌跡層面的方法到步驟層面的方法再到 CoT 方法,無錯誤的軌跡準(zhǔn)確度顯著下降。圖 1 展示了這種權(quán)衡。
研究者猜測其原因是模型生成的輸出的數(shù)量。這三種方法涉及到生成越來越復(fù)雜的輸出:直接的軌跡層面的 prompt 設(shè)計方法需要單個 token,直接的步驟層面的 prompt 設(shè)計方法每步需要一個 token,CoT 步驟層面的 prompt 設(shè)計每步需要多個句子。如果每次生成調(diào)用都有一定的概率識別出錯誤,那么對每條軌跡的調(diào)用越多,模型識別出至少一個錯誤的可能性就越大。
將錯誤位置作為正確性代理的少樣本 prompt 設(shè)計
研究者探究了這些 prompt 設(shè)計方法能否可靠地決定一個軌跡的正確性,而不是錯誤位置。
他們計算了平均 F1 分?jǐn)?shù),依據(jù)為模型能否預(yù)測軌跡中是否存在錯誤。如果存在錯誤,則假設(shè)模型預(yù)測的是該軌跡是 incorrect_ans。否則就假設(shè)模型預(yù)測的是該軌跡是 correct_ans。
使用 correct_ans 和 incorrect_ans 作為正例標(biāo)簽,并根據(jù)每個標(biāo)簽的出現(xiàn)次數(shù)進(jìn)行加權(quán),研究者計算了平均 F1 分?jǐn)?shù),結(jié)果見表 5。
這個加權(quán) F1 分?jǐn)?shù)表明,對于確定最終答案的正確性而言,通過 prompt 尋找錯誤是一個很糟糕的策略。
回溯
Huang 等人指出 LLM 無法在沒有外部反饋的情況下自我校正邏輯錯誤。但是,在許多真實世界應(yīng)用中,通常沒有可用的外部反饋。
研究者在這項研究中采用了一種替代方案:用一個在少量數(shù)據(jù)上訓(xùn)練的輕量級分類器替代外部反饋。與傳統(tǒng)強(qiáng)化學(xué)習(xí)中的獎勵模型類似,這個分類器可以檢測 CoT 軌跡中的任何邏輯錯誤,然后再將其反饋給生成器模型以提升輸出。如果想要最大化提升,可以進(jìn)行多次迭代。
研究者提出了一種簡單的回溯方法,可以根據(jù)邏輯錯誤的位置來提升模型的輸出:
- 模型首先生成一個初始的 CoT 軌跡。在實驗中,設(shè)置 temperature = 0。
- 然后使用獎勵模型確定軌跡中錯誤的位置。
- 如果沒有錯誤,就轉(zhuǎn)向下一個軌跡。如果有錯誤,則再次向模型輸入 prompt 以執(zhí)行相同的步驟,但這一次 temperature = 1,生成 8 個輸出。這里會使用同樣的 prompt 以及包含錯誤步驟之前所有步驟的部分軌跡。
- 在這 8 個輸出中,過濾掉與之前的錯誤一樣的選項。再從剩下的輸出中選擇對數(shù)概率最高的一個。
- 最后,用新的重新生成的步驟替換之前步驟,再重新設(shè)置 temperature = 0,繼續(xù)生成該軌跡的剩余步驟。
相比于之前的自我校正方法,這種回溯方法有諸多優(yōu)勢:
- 新的回溯方法不需要對答案有預(yù)先的知識。相反,它依賴于有關(guān)邏輯錯誤的信息(比如來自訓(xùn)練獎勵模型的信息),這可以使用獎勵模型一步步地確定。邏輯錯誤可能出現(xiàn)在 correct_ans 軌跡中,也可能不出現(xiàn)在 incorrect_ans 軌跡中。
- 回溯方法不依賴于任何特定的 prompt 文本或措辭,從而可減少相關(guān)的偏好。
- 相比于需要重新生成整個軌跡的方法,回溯方法可以通過復(fù)用已知邏輯正確的步驟來降低計算成本。
- 回溯方法可直接提升中間步驟的質(zhì)量,這可能對需要正確步驟的場景來說很有用(比如生成數(shù)學(xué)問題的解),同時還能提升可解釋性。
研究者基于 BIG-Bench Mistake 數(shù)據(jù)集實驗了回溯方法能否幫助 LLM 校正邏輯錯誤。結(jié)果見表 6。
?accuracy? 是指在原始答案是 correct_ans 時,在軌跡集合上的 accuracy_ans 之差。
?accuracy? 則是對于 incorrect_ans 軌跡的結(jié)果。
這些分?jǐn)?shù)結(jié)果表明:校正 incorrect_ans 軌跡的收益大于改變原本正確的答案所造成的損失。此外,盡管隨機(jī)基準(zhǔn)也獲得了提升,但它們的提升顯著小于使用真正錯誤位置時的提升。注意,在隨機(jī)基準(zhǔn)中,涉及步驟更少的任務(wù)更可能獲得性能提升,因為這樣更可能找到真正錯誤的位置。
為了探索在沒有好的標(biāo)簽時,需要哪種準(zhǔn)確度等級的獎勵模型,他們實驗了通過模擬的獎勵模型使用回溯;這種模擬的獎勵模型的設(shè)計目標(biāo)是產(chǎn)生不同準(zhǔn)確度等級的標(biāo)簽。他們使用 accuracy_RM 表示模擬獎勵模型在指定錯誤位置的準(zhǔn)確度。
當(dāng)給定獎勵模型的 accuracy_RM 為 X% 時,便在 X% 的時間使用來自 BIG-Bench Mistake 的錯誤位置。對于剩余的 (100 ? X)%,就隨機(jī)采樣一個錯誤位置。為了模擬典型分類器的行為,會按照與數(shù)據(jù)集分布相匹配的方式來采樣錯誤位置。研究者也想辦法確保了采樣的錯誤位置與正確位置不匹配。結(jié)果見圖 2。
可以看到 ?accuracy? 的損失在 65% 時開始趨于穩(wěn)定。事實上,對于大多數(shù)任務(wù),在 accuracy_RM 大約為 60-70% 時,?accuracy? 就已經(jīng)大于 ?accuracy? 了。這表明盡管更高的準(zhǔn)確度能得到更好的結(jié)果,但即便沒有黃金標(biāo)準(zhǔn)的錯誤位置標(biāo)簽,回溯也依然有效。