大模型邊推理邊糾錯(cuò),有可能做到嗎?這是ICML爆火的演講
即便是最強(qiáng)大的語言模型(LLM),仍會(huì)偶爾出現(xiàn)推理錯(cuò)誤。除了通過提示詞讓模型進(jìn)行不太可靠的多輪自我糾錯(cuò)外,有沒有更系統(tǒng)的方法解決這一問題呢?
來自 Meta FAIR、CMU 和 MBZUAI 的葉添、徐子誠(chéng)、李遠(yuǎn)志、朱澤園團(tuán)隊(duì)在最新的 arXiv 論文《語言模型物理學(xué) Part 2.2:如何從錯(cuò)誤中學(xué)習(xí)》中,通過可控實(shí)驗(yàn),探索了讓模型「邊推理邊糾錯(cuò)」的可能性。
他們?cè)陬A(yù)訓(xùn)練中加入大量「錯(cuò)誤的推理」和「錯(cuò)誤的糾正」,展示了這類數(shù)據(jù)可以提高語言模型的推理準(zhǔn)確性(無需提示詞,無需多輪對(duì)話)。文章還深入探討了許多細(xì)節(jié),例如(1)這種方法與 beam search 的區(qū)別,(2)如何準(zhǔn)備此類數(shù)據(jù),(3)是否需要對(duì)錯(cuò)誤進(jìn)行掩碼,(4)所需的錯(cuò)誤數(shù)量,(5)此類數(shù)據(jù)是否可用于微調(diào)等。

圖 1
作者首先展示了一個(gè) GPT-4o 通過提示詞和多輪對(duì)話進(jìn)行糾錯(cuò)的示例(圖 2),可以看到成功率不高,而且需要很長(zhǎng)的對(duì)話才能完成糾錯(cuò)。那么,如果模型最終能糾錯(cuò),為什么不在第一次犯錯(cuò)時(shí)「立即收回并改正」呢?

圖 2:GPT-4o 通過提示詞和多輪對(duì)話進(jìn)行糾錯(cuò)的實(shí)例
為此,作者使用探針(probing)方法研究模型的內(nèi)部工作機(jī)制。通過 Part 2.1 建立的 iGSM 數(shù)據(jù)集,作者發(fā)現(xiàn)當(dāng)模型犯錯(cuò)后,內(nèi)部參數(shù)常常表現(xiàn)出「很后悔」的狀態(tài),也就是說,模型可能已經(jīng)知道自己犯了錯(cuò),但「覆水難收」。
那么,能否簡(jiǎn)單地讓模型「后悔即重試(retry upon regret)」?即,通過額外訓(xùn)練(如微調(diào))得到一個(gè)檢測(cè)錯(cuò)誤的模型,只要該模型判定當(dāng)前步驟有錯(cuò),就立即退格回到上一步驟的末尾,再重新生成呢?
如圖 3 所示,作者進(jìn)行了橫向?qū)Ρ取<幢沐e(cuò)誤識(shí)別率超過 99%,這種重試方法在 iGSM 數(shù)據(jù)集上也只能將推理正確率提高 2%(雖然比 beam search 好)。作者總結(jié)了此方法的三個(gè)不足。
首先,對(duì)正確率提高有限,畢竟退格后,模型依然是隨機(jī)生成,并沒有用高級(jí)的方法改錯(cuò)。其次,對(duì)錯(cuò)誤識(shí)別率的要求很高(同等條件下,需要 100% 錯(cuò)誤識(shí)別率才能將推理正確率提高 8%,但這太不現(xiàn)實(shí))。最重要的是,這并不能降低模型生成文本的時(shí)間復(fù)雜度,因?yàn)橐廊恍枰淮未蔚刂匦律伞?/span>

圖 3
接下來,作者更換方法,在預(yù)訓(xùn)練數(shù)據(jù)中加入大量的錯(cuò)誤和糾正,例如「A=>B,哦我說錯(cuò)了,應(yīng)該是 A=>C」。那么,這能否提升模型的推理正確率呢?乍一看,這似乎不合理,因?yàn)樵黾渝e(cuò)誤的同時(shí),模型豈不是被迫學(xué)習(xí)說錯(cuò)誤的話(即 A=>B)?是否需要將錯(cuò)誤部分(譬如「A=>B,哦我說錯(cuò)了,應(yīng)該是」這幾個(gè)字)通過掩碼(label masking)從訓(xùn)練標(biāo)簽中刪除?
答案是不需要。依然通過 iGSM 數(shù)據(jù)集,作者用控制變量法,橫向?qū)Ρ攘酥T多參數(shù)后得出若干結(jié)論(圖 4)。
例如,即便預(yù)訓(xùn)練數(shù)據(jù)中的每道題目有 50% 的步驟包含錯(cuò)誤,模型在測(cè)試階段并不會(huì)刻意犯錯(cuò)(如使用 temp=0 生成時(shí))。背后的原因與語言模型對(duì)語法的糾錯(cuò)能力有關(guān),具體可參見作者的另一篇 Part 1 論文,因此不需要對(duì)錯(cuò)誤進(jìn)行掩碼。更神奇的是,在合理范圍內(nèi),訓(xùn)練集里的錯(cuò)誤其實(shí)越多越好,例如包含 50% 錯(cuò)誤的數(shù)據(jù),比 10% 錯(cuò)誤的數(shù)據(jù)在 iGSM 數(shù)據(jù)集上還能再提升推理正確率 4 個(gè)百分點(diǎn)。

圖 4
接下來,作者研究了包含「錯(cuò)誤和糾正」的數(shù)據(jù)能否作為微調(diào)數(shù)據(jù)使用。這是個(gè)重要問題,因?yàn)楝F(xiàn)有的開源大模型可能并不具備很好的糾錯(cuò)能力。如果我們制備了完美的錯(cuò)誤糾正數(shù)據(jù)集,能否通過少量參數(shù)微調(diào)(如使用 LoRA 方法)讓現(xiàn)有模型學(xué)會(huì)糾錯(cuò)?
答案是否定的。如圖 5 所示,作者嘗試了多種 LoRA 參數(shù),發(fā)現(xiàn)最多只能將推理正確率從 78% 提高到 83%—— 甚至在大多數(shù)情況下,如 LoRA 的 rank 較小時(shí),模型的正確率遠(yuǎn)低于 78%。這說明「糾正錯(cuò)誤」是一個(gè)高級(jí)能力,與模型的正常推理不同,需要大量參數(shù)變化才能實(shí)現(xiàn)。(這也合理,畢竟如果修改少量參數(shù)就能完成糾錯(cuò),那么讓模型「后悔即重試(圖 3)」恐怕早就能提高推理正確率了。)
相對(duì)而言,「錯(cuò)誤識(shí)別」并不是高級(jí)能力,可以通過微量的 LoRA 微調(diào)學(xué)會(huì)。此外,通過 beam search 模型也能進(jìn)行一定程度的重試,但對(duì)正確率的提升幾乎為零。綜合以上,作者認(rèn)為,如果能制備優(yōu)質(zhì)的「錯(cuò)誤和糾正」數(shù)據(jù),應(yīng)將此類數(shù)據(jù)放入預(yù)訓(xùn)練數(shù)據(jù)集中,而不是等到微調(diào)時(shí)再使用。

圖 5
最后,作者研究了在實(shí)際生活中如何制備「錯(cuò)誤和糾正」數(shù)據(jù)。目前為止,文章都在 iGSM 數(shù)據(jù)集上進(jìn)行可控實(shí)驗(yàn),由于此數(shù)據(jù)集中的數(shù)學(xué)題滿足統(tǒng)一格式,可以隨意刪減拼接,制作無限量的錯(cuò)誤和糾正數(shù)據(jù)。這太理想化了?,F(xiàn)實(shí)生活中,有沒有辦法在不要求理解題目的基礎(chǔ)上生成一些「假錯(cuò)誤」?
作者對(duì)此做了一些初步嘗試。例如,通過將解題步驟中靠后的第 Y 步驟挪到前面作為第 X 步的假錯(cuò)誤,然后用原本的第 X 步作為糾正。這一方法在 iGSM 數(shù)據(jù)集上也能顯著提升正確率(從 78% 到 91%),如圖 6 所示。

圖 6
據(jù)此,作者大膽預(yù)測(cè),盡管未來的 LLM 可能不會(huì)直接在 iGSM 數(shù)據(jù)上進(jìn)行訓(xùn)練,但本文通過可控的對(duì)比試驗(yàn),研究了在通向 AGI 的道路上,我們需要對(duì)數(shù)據(jù)進(jìn)行哪些修改和制備。
例如,利用像 Llama3-405B 這樣的模型來改寫數(shù)學(xué)題,在正確的解題步驟中插入許多錯(cuò)誤 —— 甚至是簡(jiǎn)單的假錯(cuò)誤,也有望改變模型的答題方式。讓模型「邊推理邊糾錯(cuò)」,而不是通過額外的提示詞被動(dòng)糾錯(cuò),或許是一個(gè)新的思路。作者限于 GPU 限制,無法對(duì)如此方向做真實(shí)數(shù)據(jù)的大規(guī)模研究,但歡迎讀者沿著這一思路試試看。
最后,這篇 arXiv 論文是《語言模型物理學(xué)》系列作品中的 Part 2.2。此系列目前共 6 篇論文,在 ICML 2024 大會(huì)上做了 2 小時(shí)的演講,收獲諸多好評(píng)(圖 7)。有興趣了解整個(gè)系列作品的小伙伴,可以移步 https://www.bilibili.com/video/BV1Yw4m1k7nH

圖 7































