谷歌推出 BIG-Bench Mistake 數(shù)據(jù)集,可幫助大語言模型提升自我糾錯能力。
隨著人工智能技術快速發(fā)展,作為基礎技術之一的大語言模型(LLMs)在推理任務中也越來越受歡迎,例如多回合問答(QA)、任務完成、代碼生成或數(shù)學領域。
但是,LLMs 在第一次嘗試時未必能夠正確解決問題,尤其是在它們沒有接受過訓練的任務中。對此,谷歌研究人員指出,想要將此類模型能夠發(fā)揮出最大作用,它們必須能夠做到兩點:1.確定其推理出錯的地方;2.回溯(Backtrack)找到另一個解決方案。
這導致了行業(yè)內(nèi)與 LLMs 自我糾正(Self-Correction)相關的方法激增,即利用 LLMs 來識別自身輸出中的問題,然后根據(jù)反饋產(chǎn)生改進的結果。
谷歌研究人員表示,自我糾正通常被認為是一個單一的過程,但谷歌將其分解為兩個部分:錯誤發(fā)現(xiàn)和輸出糾正。
在《LLMs 無法發(fā)現(xiàn)推理錯誤,但可以糾正錯誤!》論文中,谷歌分別測試了最先進的大語言模型的錯誤發(fā)現(xiàn)和輸出糾正能力。在此基礎上,谷歌研究院最近使用自家 BIG-Bench 基準測試,創(chuàng)建了一項名為“BIG-Bench Mistake”的專用基準數(shù)據(jù)集,以進行一系列評估研究。具體如下:
1.LLMs 能否發(fā)現(xiàn)思維鏈(CoT)式推理中的邏輯錯誤?
2.在找到錯誤所在后,是否可以提示 LLMs 回溯并得出正確答案?
3.作為一種技能,錯誤發(fā)現(xiàn)是否可以推廣到 LLMs 從未見過的任務中?
BIG-Bench Mistake 數(shù)據(jù)集
錯誤發(fā)現(xiàn)(Mistake Finding)是自然語言處理中一個尚未充分研究的問題,特別是在這個領域缺乏評估任務。為了更好地評估 LLMs 查找錯誤的能力,首先評估任務應該要展示明確的錯誤。正因如此,當前大多數(shù)查找錯誤的數(shù)據(jù)集都沒有脫離數(shù)學領域。
而谷歌生成的 BIG-Bench Mistake 數(shù)據(jù)集,則是為了評估 LLMs 對數(shù)學領域之外的錯誤進行推理的能力。研究人員通過 PaLM 2 語言模型在 BIG-Bench 基準測試任務中運行了 5 項任務,然后將這些任務中生成的“思維鏈(Chain-of-Thought)”軌跡組合成這項數(shù)據(jù)集。據(jù)稱,每個軌跡都標注了第一個邏輯錯誤的位置。
為了最大限度地增加數(shù)據(jù)集中的錯誤數(shù)量,提升準確程度,谷歌研究人員反復操作提取了 255 條答案錯誤的軌跡(可以確定肯定存在邏輯錯誤)和 45 條答案正確的軌跡(可能存在錯誤,也可能沒有錯誤)。谷歌還要求人工標注者查看每條軌跡,并找出第一個錯誤步驟,并確保每條軌跡都至少由三位標注者進行標注,使得最終的答案具有 >0.98 的評級間可靠性水平(使用Krippendorff 的 α)。
研究表明,該數(shù)據(jù)集中出現(xiàn)的邏輯錯誤“簡單且明確”,因此為“LLMs 發(fā)現(xiàn)錯誤的能力”提供了一個良好的測試標準,可協(xié)助 LLMs 先從簡單的邏輯錯誤開始訓練,然后再將其用于更難、更模糊的任務。
錯誤識別的核心問題
1.LLMs 能否發(fā)現(xiàn)思維鏈式推理中的邏輯錯誤?
首先,需要確定 LLMs 是否能獨立于其糾正錯誤的能力來識別錯誤。谷歌嘗試了多種提示方法來測試GPT 系列模型錯誤查找的能力(此處假設它們能夠廣泛代表現(xiàn)代 LLMs 的表現(xiàn))。
在實驗過程中,研究人員嘗試了三種不同的提示方法:Direct(trace)、Direct(step)和 CoT(step)。在 Direct(trace)中,谷歌向 LLM 提供 trace 并詢問錯誤或沒有錯誤的位置步驟。在 Direct(step)中,谷歌會提示 LLM 針對其采取的每一步詢問自己這個問題。在 Direct(trace)中,谷歌則提示 LLM 給出每個步驟是否錯誤的推理。
研究人員發(fā)現(xiàn),目前最先進的 LLms 自我糾錯能力相對有限,即使是最好的模型總體準確率也僅為 52.9%。而研究發(fā)現(xiàn)與上文提到的論文結果一致,絕大多數(shù) LLMs 可以識別在推理過程中出現(xiàn)的邏輯錯誤,但情況并不理想,仍然需要人工干預來糾正模型輸出的內(nèi)容。谷歌假設這是 LLMs 無法自我糾正推理錯誤的一個重要原因。
2.LLMs 能否在知道錯誤所在的情況下進行回溯?
在證明了 LLMs 在發(fā)現(xiàn) CoT 軌跡中的推理錯誤方面表現(xiàn)不佳的情況下,谷歌下一項研究在于評測 LLMs 是否能糾正錯誤。
需要注意的是,知道錯誤位置與知道正確答案并不相同: 即使最終答案是正確的,CoT 軌跡也可能包含邏輯錯誤,反之亦然。谷歌研究人員提出回溯方法如下:
- 在溫度值(temperature)= 0 時,照常生成 CoT 軌跡。(溫度值是控制生成響應隨機性的參數(shù),較高的溫度值會產(chǎn)生更加多樣化和創(chuàng)造性的輸出,通常以犧牲質(zhì)量為代價。)
- 識別第一個邏輯錯誤的位置(例如使用分類器,或者此處只使用 BIG-Bench Mistake 數(shù)據(jù)集中的標簽)。
- 在溫度值 = 1 時重新生成錯誤步驟,并產(chǎn)生一組 8 個輸出。由于已知原始輸出會導致錯誤結果,因此目標是在此步驟中找到與原始輸出顯著不同的替代生成。
- 從這 8 個輸出中,選擇一個與原始錯誤步驟不同的輸出。(目前只使用精確匹配,但將來可以使用更復雜的方法)
- 使用新步驟,在溫度值 = 0 時正常生成軌跡的其余部分。
這是一種非常簡單的方法,不需要任何額外的提示制作,并且避免了重新生成整個軌跡。在使用 BIG-Bench Mistake 的錯誤位置數(shù)據(jù)對其進行測試后,研究人員發(fā)現(xiàn)它可以糾正 CoT 錯誤。
值得一提的是,最近的研究表明,自我糾正方法(例如Reflexion 和RCI)會導致準確性分數(shù)下降,因為正確答案變?yōu)殄e誤答案的情況,多于錯誤答案變?yōu)檎_答案的情況。而谷歌的方法產(chǎn)生的“收益”(通過糾正錯誤答案)則多于“損失”(通過將正確答案更改為錯誤答案)。
除此以外,谷歌還將其方法與隨機基線進行了比較。在隨機基線中,谷歌隨機假設一個步驟是錯誤的。結果表明,這種隨機基線確實產(chǎn)生了一些“收益”,但不如在正確的錯誤位置回溯時產(chǎn)生的“收益”多,并且“損失”更大。
3.錯誤發(fā)現(xiàn)是否可以推廣到 LLMs 從未見過的任務中?
為了回答這一問題,谷歌研究人員在 4 個 BIG-Bench 任務上微調(diào)了一個小模型,并在第 5 個未完成的任務上對其進行了測試。通過重復上述操作,谷歌總共生成了 5 個微調(diào)模型。然后,研究人員將結果與零樣本提示PaLM 2-L-Unicorn(一個更大的模型)進行比較。
研究結果表明,經(jīng)過相關測試任務微調(diào)后的小型獎勵模型(reward model),通常比零樣本提示大模型的表現(xiàn)更好,即使小型模型從未見過測試集中任務相關的數(shù)據(jù)。唯一的例外是在邏輯推理方面,它的表現(xiàn)與零樣本提示大模型相當。
谷歌研究人員表示,這是一個非常有前景的結果。雖然相比小型模型的高效,大語言模型目前發(fā)現(xiàn)邏輯錯誤難度更高。但他們可以使用一個經(jīng)過微調(diào)的小型模型來執(zhí)行回溯,幫助大模型,并提高任何任務的準確性。并且小型模型完全獨立于生成器 LLM,也可以針對單個用例進行更新和進一步微調(diào)。
文章來源:https://blog.research.google/2024/01/can-large-language-models-identify-and.html。