AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
在 AI 領域,近期的新聞焦點無疑是關於「Scaling Law 是否撞牆?」的辯論。這一曾經被視作大模型發展的第一性原理,如今卻遭遇了挑戰。在這樣的背景下,研究人員開始意識到,與其單純堆砌更多的訓練算力和資料資源,不如讓模型「花更多時間思考」。以 OpenAI 推出的 o1 模型為例,透過增加推理時間,這種方法讓模型能夠進行反思、批評、回溯和糾正,大幅提升了推理表現。
但問題在於,傳統的自我反思(Self-Reflection)和自我糾正(Self-Correction)方法存在明顯侷限 —— 模型的表現往往受制於自身能力,缺乏外部訊號的引導,因此容易觸及瓶頸,止步不前。
單一模型在傳統自我糾正與自我最佳化時往往難以糾正自身,而雙模型協作架構下能夠獲得更有建設性的建議。針對這些挑戰,復旦 NLP 研究團隊提出了一種全新的雙模型協作架構(Two-Player Paradigm)。簡單來說,就是讓評判模型(Critique Model)參與到行為模型(Actor Model)的推理過程中 —— 行為模型專注推理,評判模型則以步驟級別的反饋為行為模型指路。這種設計打破了傳統依賴於單一模型的限制,也讓行為模型能夠在訓練和推理階段實現自我改進。更重要的是,整個框架無需依賴模型蒸餾過程(例如直接模仿 o1 的思考過程),而是透過多模型協作互動獲得了高質量、可靠的反饋訊號,最終實現效能隨計算投增大的不斷提升。- 如何自動化構建 critique 資料集,訓練高效、可靠的評判模型(Critique Model);
- 使用評判模型推動測試階段的擴充套件(Test-time Scaling);
- 透過互動協作提升行為模型的訓練效能(Training-time Scaling);
- 基於 critique 資料的 Self-talk 幫助模型自我糾錯。
作者們提出了一個創新性框架 ——AutoMathCritique,可以自動生成步驟級別的反饋(step-level feedback),並基於此構建了名為 MathCritique-76k 的資料集,用於訓練評判模型。進一步,研究團隊深入探討了評判模型在測試階段助力推理效能的機制,並透過引入雙模型協作架構 Critique-in-the-Loop,有效緩解了模型探索與學習的自訓練過程中常見的長尾分佈問題,為復現 OpenAI o1 深度推理表現開闢了新的可能性。- 論文題目:Enhancing LLM Reasoning via Critique Models with Test-Time and Training-Time Supervision
- 論文地址:http://arxiv.org/abs/2411.16579
- 專案主頁:https://mathcritique.github.io/
- 程式碼倉庫:https://github.com/WooooDyy/MathCritique
- 資料倉儲:https://huggingface.co/datasets/MathCritique/MathCritique-76k
自動化、可擴充套件地構造步驟級 Critique 資料為了研究 Critique 模型在架構中的作用與效能,作者們首先訓練了一個可靠的 Critique 模型。鑑於步驟級別反饋資料的稀缺,作者們提出了一種新的框架 AutoMathCritique,用於自動化構造多樣性推理資料,並獲得步驟級別的反饋。AutoMathCritique 流程:透過多種方式收集錯誤資料與錯誤資訊,並交由標註模型進行步驟級別標註。在標註完相應問答反饋對後,交由 Actor 模型進行進一步篩選。圖中,第一個階段「構建錯誤推理路徑」包含三種策略:- RG1: 直接構建整體推理路徑,在高溫度下讓 Actor 模型進行重複取樣,取樣出的資料只會包含最終答案的錯誤資訊;
- RG2: 以某一條推理路徑為模板,在特定的推理步後逐漸提高溫度,讓 Actor 模型取樣出新的軌跡,取樣出的資料會包含最終答案的錯誤資訊與錯誤步驟的位置資訊;
- RG3: 以某一條推理路徑為模板,對特定的推理步插入多樣化錯誤內容,讓 Actor 模型繼續取樣出完整軌跡,取樣出的資料會包含最終答案的錯誤資訊與錯誤步驟的位置與錯誤資訊。
第二個階段「標註步驟級別反饋」提供了詳細的反饋資料:為了更好的提升反饋資料的質量,研究人員將第一階段獲得的各類錯誤資訊交由標註模型,並提供參考答案、錯位定位和錯誤型別資訊作為輔助,幫助標註模型提供步驟級別的反饋。第三個階段「精篩反饋」篩選出更加高質量的資料:為了進一步篩選出能夠更好幫助 Actor 模型的資料,研究人員將錯誤推理路徑與反饋資料一起輸入給 Actor 模型,根據其修改後答案的正確率決定是否保留。 AutoMathCritique 收集到的資訊示例透過如上方案構建的資料既包含模型本身所可能犯下的錯誤,又構建了域外錯誤,使 Critique 模型能夠學習大批次、多樣化錯誤資料。而步驟級別的反饋資料使得 Actor 模型能夠更好的定位自己所犯下的錯誤,進而提升修改的質量。使用如上框架,研究團隊構建了一個擁有 76k 資料量的資料集 MathCritique-76k,其中既包含了正確推理軌跡又包含了自動化合成的錯誤軌跡,並且篩選了優質的步驟級別反饋資料用於之後的訓練。Critique 模型如何幫助 Actor 模型提高測試效能?實驗探究:Critique 模型在測試時對 Actor 模型的幫助基於如上構建的資料集,作者以 Llama3-Instruct 系列為基座模型,微調了一個專門用於提供步驟級別反饋的 Critique 模型。其選取了常用的數學推理資料集 GSM8K 與 MATH 為測試物件,進行了多種實驗。1. Critique 模型對錯誤的識別率與對 Actor 模型的幫助不同 Critique 模型的推理軌跡正誤判斷能力與對 Actor 模型的幫助,Acc. 代表 Actor 模型在不同 Critique 模型的幫助下能夠達到的正確率。
作者選取了兩個微調後的模型與 SOTA 模型作為研究物件,發現 Critique 模型能夠極為有效地識別出推理軌跡的正確與否,並且其所提供的步驟級別反饋能夠被 Actor 模型所用,使得 Actor 模型能夠顯著改進自己的錯誤,以達到更高的正確率。為了更進一步探究 Actor 模型是如何受到幫助的,作者將資料集按照 Actor 模型初始的正確率分為了 5 個難度,並且比較在不同難度下,有無反饋資料對模型回答正確率的影響。 以 Actor 模型正確率(取樣 100 次)作為難度分級的指標,使用 Critique 模型的反饋資料能在更高難度題目下獲得更大的幫助。研究發現 Actor 模型在幾乎各個難度下,正確率均有所提升。而且在難度級別較高的題目中,Actor 模型均收到了更大的幫助,表現為正確率的顯著提升。這說明,使用 Critique 模型幫助 Actor 模型改進其所不會的難題,可以是解決自我提升長尾分佈難題的新方法。2. 在 Critique 模型幫助下增加推理計算投入的效能 有無反饋資料對測試時 Majority voting 效能的影響,@3K 代表取樣數量為橫座標的三倍,以控制取樣消耗相同。研究人員進一步探究 Critique 模型能否在測試時提高 Actor 模型效能。他們以並行 Majority voting 的結果作為測試指標,發現即使在控制了相同的取樣消耗的情況下,擁有反饋資料依舊能夠顯著超過沒有反饋資料的 Actor 模型。這說明,加入 Critique 模型可以作為實現 Test-time Scaling 的新方法之一。Critique 模型如何幫助 Actor 模型探索與學習?基於以上在 Test-time 的發現,研究人員將測試階段所展現出來的優勢用於訓練階段(Training-time)的探索與學習(Exploration & Learning),進一步探究 Critique 模型能否幫助 Actor 模型在訓練時進行自我最佳化。為此,他們提出了一個有難度感知的雙模型協作最佳化架構 Critique-in-the-loop Self-Improvement,用於獲得更高質量、多樣化的資料,並緩解自我最佳化取樣時的長尾難題。Critique-in-the-loop Self-Improvement:有難度感知的雙模型協作最佳化架構 Critique-in-the-loop Self-Improvement 演算法虛擬碼
研究人員提出了一種雙模型協作最佳化架構。在第一次取樣時,Actor 模型會在訓練集上重複多次取樣。針對錯誤資料,研究人員使用 Critique 模型輔助 Actor 模型進行多次自我修正,從而達到了難度感知的目的。每一輪迭代時,Actor 模型總會學習正確的資料,從而實現自我提升。實驗探究:Critique 模型在訓練時對模型效能的影響1. Critique-in-the-loop 能夠有效幫助模型自我提升相比於在訓練階段只使用 Actor 模型進行取樣(Vanilla SI), 使用 Critique 模型後,Actor 模型在測試集正確率上均有顯著提升。圖中 N 代表取樣次數。實驗發現,Vanilla Self-Improve 儘管能在一定程度上提升模型的效能,然而其很快達到瓶頸,甚至開始出現效能的下滑。但是 Critique-in-the-loop 能夠顯著改善這一情況,既使得模型的自我提升較為穩定,又能夠在多個取樣次數下獲得相當顯著的效能提升。研究人員認為,這與長尾分佈難題的緩解密不可分。2. Critique-in-the-loop 能夠緩解長尾分佈難題為了進一步證實長尾分佈難題獲得了緩解,研究人員進一步探究在訓練時,不同難度問題的訓練資料佔總體資料集的比例。圖 1:相比於 Vanilla SI、Critique-in-the-loop 在不同難度問題中取樣出的訓練資料比例變化。圖 2、圖 3:兩者在測試集中,不同難度問題的效能表現比較。實驗發現,Critique-in-the-loop 能夠更有效地平衡不同難度問題佔總體資料集的佔比。值得注意的是,難度較高的問題所佔的比例出現顯著上升,證實了長尾分佈難題得到緩解。與此同時,研究團隊還分析了測試集上不同難度問題的效能表現。實驗結論也說明,在較難問題上模型展現出效能的顯著提高。3. 在測試時使用 Critique 模型,Critique-in-the-loop 能夠帶來更大的提升不同訓練策略與測試策略的效能效能。訓練時,使用了直接微調推理與有反饋的糾正資料,直接微調推理與自我糾正資料,無 Critique 模型的自我提升以及有 Critique 模型的自我提升四種方式。測試時,比較了是否使用 Critique 模型兩種方式。
鑑於作者之前所提到的訓練與測試時 Critique 模型的好處,作者進一步分析了兩者結合後的效果。實驗發現當使用 Critique-in-the-loop 時,在測試階段使用 Critique 模型帶來的效能提升較小,說明 Critique 模型所帶來的效能提升已經被融入到了推理模型中。儘管如此,相比於其他訓練方案,其效能依舊有顯著優勢。實驗探究:Critique 模型擴充套件性(Scaling Properties)為了探究 Critique 模型是否對多種模型——尤其是那些模型大小與效能高於自己的 Actor 模型——做到相類似的幫助,作者固定 Critique 模型為 3B 大小的 Qwen-2.5 模型,並使用不同模型大小的 Qwen-2.5 系列模型(1.5B、3B、7B、14B)作為 Actor 模型進行了實驗。 不同模型大小的 Actor 模型在測試賽上正確率表現。其中 w/o critic 代表不使用 Critique 模型,w/orcale 代表僅對原始回答錯誤的資料進行修正。實驗結論發現,無論何種模型大小, Critique 模型的存在均能顯著提升模型測試效能。然而,在較為簡單的資料集 GSM8K 上,更大的模型獲得的幫助不如較小的模型;但在較為困難的資料集 MATH 上,效能的提升依舊顯著。實驗探究:Critique 模型對 Majority Voting 效能的影響作者進一步探究 Critique 模型對 Majority Voting 效能的影響,探究當取樣次數更大時的表現。 對 Actor 模型取樣 1000 次後的效能圖,問題按照透過率由低到高進行排序,其中紅色部分表示該問題在 Majority Voting 下依舊做錯。
研究發現,擁有 Critique 模型的情況下,Actor 模型在整體上提高了問題的正確率,從而帶來了 Majority Voting 的穩定性。另外,作者們還發現,不使用 Critique 模型時,儘管 Actor 模型會給出佔比較多的正確答案,然而非正確答案卻擁有更高的佔比;而擁有 Critique 模型時, Actor 模型最終修改給出的答案更為一致,使得正確答案的佔比會超過某些出現頻率較高的錯誤答案,幫助模型能夠更好的選出正確答案。作者繼續探討了多種計算提升消耗策略下 Actor 模型的表現。實驗使用了並行取樣與線性取樣兩種方式,並且比較了 Pass@k、Majority Voting 以及 Sequential Final(僅選取最終答案)三種方式。圖 1 及圖 2:線性與並行取樣策略下,模型的 Pass@k 表現;圖 3 及圖 4:不同取樣策略下模型的 Majority voting 表現。橫座標表示取樣樣本的數量實驗結果發現,在 Pass@k 的設定下,線性取樣的表現略低於並行取樣,這可能源於並行取樣會帶來更多樣化的答案選擇。而在模型需要給出答案的設定下,僅選取最終答案並不如 Majority voting 的表現要好,強調了內在一致方式的重要性;隨著取樣次數的提高,線性取樣的效能超過了並行取樣的方式,這有可能源於當取樣次數足夠大時,並行取樣帶來的多樣性答案可能有害於最終的效能表現,而線性取樣透過反覆修改一個回答,使得結果更加穩定。基於 Critique 資料構建 Self-talk 模型幫助自我糾錯最後,受到 OpenAI o1 模型的推理啟發,研究人員進一步探究 Self-talk 形式幫助模型自我糾錯的可能性。Self-talk 形式幫助模型在每一個推理步驟後立刻開始反思與改進,而不必等整個軌跡生成完之後再進行改進。圖中,第一個階段用於「構建初始反饋資料」。研究人員使用 AutoMathCritique 框架構建步驟級別的反饋資料,並加入到推理路徑中,形成初始的思維鏈。第二個階段用於「迴圈修正錯誤思考鏈」。第一階段中的資料存在著錯誤的推理路徑,研究人員使用 Critique 模型幫助 Actor 模型生成新的推理路徑,並將反饋資料同樣加入到推理路徑中逐步生成思維鏈,直到整個推理路徑沒有錯誤為止。第三個階段用於「最佳化思考鏈為 Self-talk 形式」。前兩階段得到的思考鏈較為生硬,因此研究人員進一步使用模型最佳化思維鏈,使其變為自然的 Self-talk 形式,並保證了最終答案的正確性。使用如上構建的資料,研究人員訓練了一個 Self-talk 模型。初步實驗發現,相比於軌跡級別的自我改進,Self-talk 格式能夠顯著改善模型效能。儘管表現不如所提出的雙模型合作架構,然而這也揭示了其潛能所在。在 MATH 資料集上三種方法的各種指標,分別使用軌跡層面的自我改進,步驟層面的自我對話改進以及雙模型協作架構。實驗比較了正確率、Pass@k 和 MV@k 三個指標。- 提出自動化構造步驟級別 Critique 的框架 AutoMathCritique;
- 探究 Critique 模型對於 Actor 模型在推理時的幫助;
- 提出擁有難度感知方式的自我改進框架 Critique-in-the-loop Self-Improvement,緩解長尾難題;
- 探究測試時的各種 Scaling 策略,包括模型大小,取樣策略與取樣數量等方面。