大模型邊推理邊糾錯,有可能做到嗎?這是ICML爆火的演講
即便是最強大的語言模型(LLM),仍會偶爾出現(xiàn)推理錯誤。除了通過提示詞讓模型進行不太可靠的多輪自我糾錯外,有沒有更系統(tǒng)的方法解決這一問題呢?
來自 Meta FAIR、CMU 和 MBZUAI 的葉添、徐子誠、李遠志、朱澤園團隊在最新的 arXiv 論文《語言模型物理學 Part 2.2:如何從錯誤中學習》中,通過可控實驗,探索了讓模型「邊推理邊糾錯」的可能性。
他們在預訓練中加入大量「錯誤的推理」和「錯誤的糾正」,展示了這類數(shù)據(jù)可以提高語言模型的推理準確性(無需提示詞,無需多輪對話)。文章還深入探討了許多細節(jié),例如(1)這種方法與 beam search 的區(qū)別,(2)如何準備此類數(shù)據(jù),(3)是否需要對錯誤進行掩碼,(4)所需的錯誤數(shù)量,(5)此類數(shù)據(jù)是否可用于微調等。
圖 1
作者首先展示了一個 GPT-4o 通過提示詞和多輪對話進行糾錯的示例(圖 2),可以看到成功率不高,而且需要很長的對話才能完成糾錯。那么,如果模型最終能糾錯,為什么不在第一次犯錯時「立即收回并改正」呢?
圖 2:GPT-4o 通過提示詞和多輪對話進行糾錯的實例
為此,作者使用探針(probing)方法研究模型的內部工作機制。通過 Part 2.1 建立的 iGSM 數(shù)據(jù)集,作者發(fā)現(xiàn)當模型犯錯后,內部參數(shù)常常表現(xiàn)出「很后悔」的狀態(tài),也就是說,模型可能已經(jīng)知道自己犯了錯,但「覆水難收」。
那么,能否簡單地讓模型「后悔即重試(retry upon regret)」?即,通過額外訓練(如微調)得到一個檢測錯誤的模型,只要該模型判定當前步驟有錯,就立即退格回到上一步驟的末尾,再重新生成呢?
如圖 3 所示,作者進行了橫向對比。即便錯誤識別率超過 99%,這種重試方法在 iGSM 數(shù)據(jù)集上也只能將推理正確率提高 2%(雖然比 beam search 好)。作者總結了此方法的三個不足。
首先,對正確率提高有限,畢竟退格后,模型依然是隨機生成,并沒有用高級的方法改錯。其次,對錯誤識別率的要求很高(同等條件下,需要 100% 錯誤識別率才能將推理正確率提高 8%,但這太不現(xiàn)實)。最重要的是,這并不能降低模型生成文本的時間復雜度,因為依然需要一次次地重新生成。
圖 3
接下來,作者更換方法,在預訓練數(shù)據(jù)中加入大量的錯誤和糾正,例如「A=>B,哦我說錯了,應該是 A=>C」。那么,這能否提升模型的推理正確率呢?乍一看,這似乎不合理,因為增加錯誤的同時,模型豈不是被迫學習說錯誤的話(即 A=>B)?是否需要將錯誤部分(譬如「A=>B,哦我說錯了,應該是」這幾個字)通過掩碼(label masking)從訓練標簽中刪除?
答案是不需要。依然通過 iGSM 數(shù)據(jù)集,作者用控制變量法,橫向對比了諸多參數(shù)后得出若干結論(圖 4)。
例如,即便預訓練數(shù)據(jù)中的每道題目有 50% 的步驟包含錯誤,模型在測試階段并不會刻意犯錯(如使用 temp=0 生成時)。背后的原因與語言模型對語法的糾錯能力有關,具體可參見作者的另一篇 Part 1 論文,因此不需要對錯誤進行掩碼。更神奇的是,在合理范圍內,訓練集里的錯誤其實越多越好,例如包含 50% 錯誤的數(shù)據(jù),比 10% 錯誤的數(shù)據(jù)在 iGSM 數(shù)據(jù)集上還能再提升推理正確率 4 個百分點。
圖 4
接下來,作者研究了包含「錯誤和糾正」的數(shù)據(jù)能否作為微調數(shù)據(jù)使用。這是個重要問題,因為現(xiàn)有的開源大模型可能并不具備很好的糾錯能力。如果我們制備了完美的錯誤糾正數(shù)據(jù)集,能否通過少量參數(shù)微調(如使用 LoRA 方法)讓現(xiàn)有模型學會糾錯?
答案是否定的。如圖 5 所示,作者嘗試了多種 LoRA 參數(shù),發(fā)現(xiàn)最多只能將推理正確率從 78% 提高到 83%—— 甚至在大多數(shù)情況下,如 LoRA 的 rank 較小時,模型的正確率遠低于 78%。這說明「糾正錯誤」是一個高級能力,與模型的正常推理不同,需要大量參數(shù)變化才能實現(xiàn)。(這也合理,畢竟如果修改少量參數(shù)就能完成糾錯,那么讓模型「后悔即重試(圖 3)」恐怕早就能提高推理正確率了。)
相對而言,「錯誤識別」并不是高級能力,可以通過微量的 LoRA 微調學會。此外,通過 beam search 模型也能進行一定程度的重試,但對正確率的提升幾乎為零。綜合以上,作者認為,如果能制備優(yōu)質的「錯誤和糾正」數(shù)據(jù),應將此類數(shù)據(jù)放入預訓練數(shù)據(jù)集中,而不是等到微調時再使用。
圖 5
最后,作者研究了在實際生活中如何制備「錯誤和糾正」數(shù)據(jù)。目前為止,文章都在 iGSM 數(shù)據(jù)集上進行可控實驗,由于此數(shù)據(jù)集中的數(shù)學題滿足統(tǒng)一格式,可以隨意刪減拼接,制作無限量的錯誤和糾正數(shù)據(jù)。這太理想化了?,F(xiàn)實生活中,有沒有辦法在不要求理解題目的基礎上生成一些「假錯誤」?
作者對此做了一些初步嘗試。例如,通過將解題步驟中靠后的第 Y 步驟挪到前面作為第 X 步的假錯誤,然后用原本的第 X 步作為糾正。這一方法在 iGSM 數(shù)據(jù)集上也能顯著提升正確率(從 78% 到 91%),如圖 6 所示。
圖 6
據(jù)此,作者大膽預測,盡管未來的 LLM 可能不會直接在 iGSM 數(shù)據(jù)上進行訓練,但本文通過可控的對比試驗,研究了在通向 AGI 的道路上,我們需要對數(shù)據(jù)進行哪些修改和制備。
例如,利用像 Llama3-405B 這樣的模型來改寫數(shù)學題,在正確的解題步驟中插入許多錯誤 —— 甚至是簡單的假錯誤,也有望改變模型的答題方式。讓模型「邊推理邊糾錯」,而不是通過額外的提示詞被動糾錯,或許是一個新的思路。作者限于 GPU 限制,無法對如此方向做真實數(shù)據(jù)的大規(guī)模研究,但歡迎讀者沿著這一思路試試看。
最后,這篇 arXiv 論文是《語言模型物理學》系列作品中的 Part 2.2。此系列目前共 6 篇論文,在 ICML 2024 大會上做了 2 小時的演講,收獲諸多好評(圖 7)。有興趣了解整個系列作品的小伙伴,可以移步 https://www.bilibili.com/video/BV1Yw4m1k7nH
圖 7