微軟:兩個 AI 相互糾錯,數學再漲 5 分

提升 LLM 數學能力的新方法來了 ——

一個大模型不行,那就兩個。讓他們彼此合作,糾正對方的錯誤。

這就是來自加州大學和微軟研究院的最新研究成果:Flow-DPO。通過使用在線學習流(Flow)和直接偏好優化(DPO, Direct Preference Optimization),可以讓 LLM 生成更加詳細和精確的推理軌跡。

同時,這種在線多智能體(Agent)的學習形式還能挖掘數據中的深層信息,有效避免了人類標註數據不夠準確的問題。

我們先一起看個例子感受一下。

比如針對下面這道題:

方程 x + 2y + 3 = 0 的圖與方程 ax + 2y + 3 = 0 的圖互相垂直。請問 ax + 2y + 3 = 0 中,a 的值是多少?

基準回答是這樣的:

方程 x + 2y + 3 = 0 的圖形的斜率為 -1/2,因為圖形垂直,所以 ax + 2y + 3 = 0 的圖形的斜率必須是 x + 2y + 3 = 0 的負倒數。因此,方程 ax + 2y + 3 = 0 的斜率為 2,改寫為 2y = -ax – 3,然後兩邊除以 2,得到 y = -a / 2x-3/2。將此與斜率截距形式 y = mx + b 相比,我們發現斜率 m 為 -a / 2。由於我們知道斜率為 2,所以 – a / 2= 2。將兩邊乘以 -2,得到 a = -4,答案為:-4。

Flow-DPO 的回答是這樣的:

要解決這個問題,我們需要瞭解線性方程中垂直線的概念。當兩條直線垂直時,它們的斜率互為負倒數。讓我們以斜率-截距形式複述給定方程 x + 2y + 3 = O,即 y = -1/2x – 3/2。這告訴我們直線的斜率是 – 1/2。現在,我們需要找出方程 ax + 2y + 3 = 0 所表示的直線的斜率。我們可以將方程改寫成斜率-截距形式,即 y = -a / 2x – 3/2。這告訴我們這條直線的斜率是-a / 2。由於兩條直線垂直,因此它們的斜率互為負倒數。這意味著 -1/2 * (-a / 2) = 1,簡化為 a = -4。因此,a 的值為 -4。

GTP-4o 當球證,針對兩個模型的回答分析了一下,它認為答案 B(FLow-DPO)更好,原因有兩點:

1.概念解釋

答案 A 的回答是:「我們可以利用斜率之間的負倒數關係來求解 a」。答案 B 花時間明確解釋了垂直的概念,強調垂直線的斜率是負倒數。這種回答更有教育意義,可以讓讀者理解數學背後的推理。

2.解題思路清晰

答案 A 推導出了正確的方程並正確地求解了方程,但引入了一些不必要的步驟。

例如,中間步驟涉及將方程改寫為 2y = -ax – 3 和兩邊除以 2 的中間步驟比必要的步驟複雜。

答案 B 立即使用兩個方程的斜截距形式簡化了方法。它有效地解釋了如何提取斜率,並直接比較了兩個等式的斜率,過程更直接,更容易理解。

結論

答案 B 的解釋更清晰、更透徹,既注重概念和公式,又避免了不必要的複雜性,這種循序漸進的方法更易於理解和掌握。

可以看到,在解決真實數學問題的時候,Flow-DPO 生成的推理過程不僅有更詳細的指導,還避免了不必要的複雜性,增強了可讀性和理解性。

這是怎麼做到的呢?

兩個大模型彼此合作

針對 LLM 解決數學問題時反饋信息有限標註數據質量不高等問題,團隊提出了一種新的方法。

那就是通過在線學習流(Flow)和直接偏好優化(DPO)學習來生成高質量的推理軌跡。

具體分為 2 個部分:

1.增量輸出生成 Flow(Incremental Output Production Flow)

Flow-DPO 採用了增量輸出生成 Flow,其中有兩個獨立的 LLM(Answer LLM 和 Stop LLM)協同工作,通過迭代通信構建解決方案。

具體來說,Answer LLM 一次會生成一個有限的答案塊,而 Stop LLM 則判斷部分答案是否達到最終狀態,兩個 LLM 通過迭代式學習不斷進步。

Answer LLM 和 Stop LLM 的底層都是相同的基礎模型,但它們使用不同的 LoRA 適配器進行了微調,可以專門完成各自的任務。

而且在訓練過程中,Flow-DPO 可實現更精細的控制較小的塊大小,靈活適應不同的概念和方法,較大的塊大小近似於單次模型生成。

2.在線 Flow 學習與回滾(Online Flow Learning with Rollouts)

Flow-DPO 還會通過在線 DPO 學習和回滾來增強 Flow。

對於每個輸入問題,Answer LLM 會生成一個答案片段,一直持續到產生完整的回答。

然後模型會在每個輸出節點進行隨機展開,比如在生成初始答案片段且 Stop LLM 判斷為「否」後,Flow 還會生成另一個答案片段,基於之前的部分答案繼續構建。

如果兩個答案在正確性上不同,就把它們作為答案語言模型的 DPO 對,引導到正確答案的那個片段被選為首選響應。

顯著提高 LLM 數學推理能力顯著提高

為了驗證 Flow-DPO 的性能,研究團隊還設計了精密的驗證實驗,具體設置如下

  • 數據集:實驗使用了 MetaMath 數據集,該數據集基于于 GSM8K 和 MATH 數據集,並通過數據增強技術進行了增強。

  • 模型選擇:實驗採用了兩種不同規模的模型:Llama-3-8B-Instruct 和 Phi-3-medium-128k-instruct (14B)

  • Flow 學習階段:在 Flow 學習階段,團隊使用不同的 LoRA 適配器對 Answer LLM 和 Stop LLM 進行微調,讓它們在 DPO 訓練中的能力更加專業。

  • 編譯階段:在編譯階段,收集 Flow 生成的正確推理軌跡和基線模型生成的正確推理軌跡,進行獨立評估。

最終結果顯示,使用了 Flow-DPO 之後,Llama3 模型和 Phi3 在數學推理上的能力都大幅提升了!

一起來看看具體結果分析:

1.漸進驗證準確率(Progressive Validation Accuracy)

漸進驗證準確率的準確定義,是模型在訓練前對輸入訓練數據的累積準確度,公式和變量含義如下圖所示:

實驗結果顯示,在線 DPO 訓練顯著提高了 Flow 的泛化能力。

對於 Llama-3-8B-Instruc 模型,在線 DPO 學習在僅 2000 個訓練實例內將 Flow 的性能提高了 20%。對於 Phi-3-medium-128k-instruct 模型,在線 DPO 學習使其準確率提高了 4 個百分點,達到了 83%.

2.推理軌跡質量

Flow 生成的推理軌跡在質量上也優於基線和模型生成的正確推理軌跡。

對於 Llama-3-8B-Instruct 模型,Flow 生成的推理軌跡在 GSM8K 和 MATH 數據集上的微調準確率分別提高了 6% 和 7.8%。

對於 Phi-3-medium-128k-instruct 模型,Flow 生成的推理軌跡在兩個數據集上的微調準確率分別提高了 1.9% 和 2.1%.

除了剛開始的垂直直線問題,研究團隊還放出了很多真實的解題回答和對比,感興趣的朋友可以查看論文的更多相關信息。

沒想到,不久前還讓 LLM 非常頭疼的數學問題現在也進步飛快!

有了優秀的邏輯分析能力,我們也能期待 LLM 未來能解決更多複雜的問題了。

參考鏈接:

  • [1]https://arxiv.org/abs/2410.22304

廣告聲明:文內含有的對外跳轉鏈接(包括不限於超鏈接、二維碼、口令等形式),用於傳遞更多信息,節省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。