提升 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