科學家提出大模型自我糾錯鏈機制,有望提高對數學推理問題的精度
大模型(諸如 ChatGPT、GPT-4 等)被視為通往通用人工智能征途上的關鍵前沿突破之一。然而,目前的大模型在邏輯推理方面的能力存在明顯不足。
目前,這些大模型的底層機制是 Next Token Prediction,即在回答問題時,大模型基於數據關聯性來預測並輸出下一個 token 直到結束。
但這種模式類似於人類的快思考,完全沒有反思和自我糾錯的能力。因此智能化程度偏低,難以處理需要深入推理的問題,比如複雜的數學問題。
讓大模型擁有自我糾錯的能力
為了克服上述局限性並提高大模型的邏輯推理能力,李誌鋒博士團隊與合作者提出了一種自我糾錯鏈機制(Chain of Self-Correction)。
讓大模型在回答問題時,能建立一個內部的自我糾錯鏈路,來驗證和糾錯擬輸出的回答。
將這種機制將反思和自我糾錯能力嵌入到大模型中,使其能顯著提高對於複雜數學推理問題的回答精度。
這個新算法在國際上最大最有挑戰性的數學問題評測集 Math 上取得了 53.5% 的回答正確率(基於開源的 34B 的 Codellama 底座來實現的),超過了 OpenAI 的 ChatGPT(35.5%)、GPT-4(42.5%)、GPT-4(PAL)(51.8%)、GPT-4V(52.9%)和Google的 Gemini-1.0 Pro(32.6%)、Gemini-1.0 Ultra(53.2%)等知名的閉源大模型。
值得一提的是,這個新算法的推理是基於零樣本的方式進行的,無需示例演示。
這種自我糾錯的機制代表了一種更高級的人類智能,它不僅對大模型的智能提升有很大幫助,而且對於其他生成式 AI(比如文生圖、文生影片、從文本到語音等)也是有啟示意義的。
眾所周知,除非用更強的大模型來構建訓練數據,否則用大模型本身所構建的訓練數據來訓練自己難以顯著提升性能。
但是在該研究中發現,這種自我糾錯鏈機制能衍生出一種有趣的「數據飛輪機制」。
讓大模型用自我糾錯鏈機制構建這種帶自我糾錯鏈的訓練數據,並加入訓練集來訓練自己,能有效並更加快捷地提升性能。
日前,相關論文以《將自我糾錯作為固有能力嵌入大模型以增強數學推理能力》(Embedding Self-Correction as an Inherent Ability in Large Language Models for Enhanced Mathematical Reasoning)為題發表在預印本網站 arXiv 上 [1]。
自我糾錯鏈機制的工作原理
自我糾錯鏈機制類似於人類的慢思考過程,它能夠在模型回答問題之前促使其進行深思熟慮,並創建一個內部自我糾正鏈,逐步驗證和糾正原始答案,從而有助於解決複雜的數學推理問題。
眾所周知,數學是人工智能的試金石之一。為了從根本上提升大模型的推理能力,他們首先著眼於大模型推理中數學推理這一基石任務。
自我糾錯鏈機制由一系列自我糾錯階段構成,主要是分成兩個步驟——驗證和修正。
具體流程如下:
給定問題 q 時,大模型首先生成代碼程序 p,然後通過 Python 解釋器執行程序 p 以產生輸出 o。
接著,大模型分析輸出並生成包含改進建議的驗證內容 v,確保程序 p 及其輸出 o 與問題 q 保持一致。
基於這些驗證內容,自我糾錯鏈機制得出結論 c,以改進程序 p 或生成最終答案。
這一過程不斷重覆,形成答案序列 povcpovc……povc。他們利用 GPT-4 生成基於自我糾錯鏈的訓練數據,並通過有監督的微調方法,將這一能力內化為大模型的內在機制。
但是,在驗證的過程 v 中,研究人員以簡單的驗證機制來進行自我驗證,比如,「請驗證生成的答案是否有誤?」
但這種方法對提高大模型的推理能力幫助有限,可能是因為簡單的驗證指令難以引導大模型進行有效的自我驗證。
大模型本身不具備反思和自我糾錯的能力,因此應該想辦法教會大模型如何自我糾錯。
最終,該課題組提出了一種改進的自我糾錯鏈機制。在構造訓練數據時,採用了 povcpovc……povc 的模式,並設計了一種包含詳細指令的驗證過程 v。
這一過程包括兩個步驟:
首先,讓大模型判斷生成的程序代碼 p 是否與問題 q 一致,例如檢查變量及其關係。
其次,讓大模型判斷代碼運行結果 o 是否滿足問題 q 的要求,例如檢查數值的合理性。
換句話說,他們把一個很抽像的檢查過程轉換成一個具象的、大模型容易理解並執行的過程。
通過這種詳細指令的驗證過程,研究人員成功地「教會」了大模型進行自我驗證。
在開源的 34B 參數規模的 Code Llama 模型的實驗表明,通過監督式微調訓練,該模型在數學評測集上的表現甚至超過了 GPT-4 等知名的閉源模型,且不依賴於任何指令提示。
舉例來說,題目要計算某個圓的周長或者半徑,但是大模型計算的初步結果卻是負的,這種情況屬於計算結果與題意不符合。經過優化後,顯著提升了效果。
這一成果不僅展示了自我糾錯鏈機制的潛力,也為大模型的未來發展開闢了新的可能性。
然而他們並未止步於此,而是進一步思考改進空間。
鑒於該課題組此前用 GPT-4 構建自我糾錯鏈的訓練數據,該課題組開始考慮是否可以用他們自己訓練的模型生成自我糾錯鏈數據,來實現自我提升。
基於這一思路,研究人員利用 GPT-4 生成的少量訓練數據,在 34B 規模的開源 CodeLlama 底座模型上訓練了一個種子模型,再用該種子模型生成大量訓練數據進行自我提升。
在多個 CodeLlama 底座模型的對比實驗顯示,實驗效果均有顯著提升,充分證明了該思路的可行性。
綜合上述策略,他們最終提出了兩階段的新模型,如下圖所示,這個兩階段的新模型在 Math 評測集上取得了非常優異的效果,超過了 GPT-4 等知名的閉源模型。
圖丨兩階段訓練:第一階段(a)用 GPT-4 構建的種子數據來訓練種子模型,第二階段(b)就進入數據飛輪,自己生成數據來訓練自己(來源:arXiv)
儘管此前已有一些關於大模型自我糾錯的相關研究,但在開源文獻中,還沒有看到任何工作能夠成功將自我糾錯能力內化為大模型的一種固有能力,並且取得顯著效果。
自我糾錯機制的應用空間廣闊
反思和自我糾錯能力意味著,AI 可以在生成內容的過程中識別自身的不足、發現錯誤並進行調整,從而提升其生成內容的質量、可靠性和創造性,這種能力有望帶來潛在的應用價值。
比如,自我糾錯鏈機制能夠幫助大模型在解決數學問題,幫助生成更準確、更可靠的代碼,確保文檔解讀的準確性。
未來,具有反思和自我糾錯能力的大模型有更廣闊的應用前景。
反思與自我糾錯能力是一種更高級的人類智能,不僅對大模型至關重要,對其他生成式 AI(如文本生成圖像 、文本生成影片、文本生成語音等)也具有重要意義。
這一能力能顯著提升生成式 AI 的內容質量、準確性和創造力。在不久的將來,有可能研發出具有反思和自我糾錯能力的多模態生成式大模型。
該課題組對自我糾錯鏈機制在大模型中的未來應用充滿期待,已有一些初步的想法,主要涵蓋以下幾個方向:
第一,擴展研究領域:該團隊近期正在積極探索如何將反思和自我糾錯能力嵌入到更多生成式 AI 模型中,比如文本生成圖像、文本生成語音等,這些研究正在推進中,已取得初步進展。
研究人員期待在不久的將來,能研發出一個具有初步反思和自我糾錯能力的多模態生成式大模型。
第二,擴展應用領域:該課題組研發這種機制的目的絕對不僅僅是為了單純提高大語言模型在數學問題上的回答精度,他們只是想通過數學問題(公認的人工智能的試金石之一)來初步驗證這種機制的有效性,這隻是小試牛刀。
在未來,研究人員計劃將自我糾錯鏈機制推廣應用到數學以外的更多應用領域,比如金融分析、法律、醫療、科學研究,以及任何需要複雜推理和糾錯能力的應用場景中。這些領域中,準確性和邏輯一致性尤為重要,自我糾錯鏈的引入有望顯著提高任務執行的可靠性和效率。
該團隊期待與更廣泛的研究社區合作,共同推動自我糾錯鏈機制的發展,並探索其在 AI 領域的多方面應用。
參考資料:
1.https://arxiv.org/html/2410.10735v1
運營/排版:何晨龍