互相檢查,讓小模型也能解決大問題。
眾所周知,LLM 很強大,但執行複雜推理的能力還不夠強。
舉個例子,在 GSM8K 資料集上,Mistral-7B 即使使用思維鏈(CoT)等技術,也只能達到 36.5% 的準確度。儘管微調確實也能有效地提升推理能力,但大多數 LLM 依靠的微調數據都是經過 GPT-4 等更強大模型蒸餾過的,甚至可能原本是這些強大模型合成的。
同時,研究者們也積極發展出能提供輔助但也更困難的方法:使用一個更優的教師 LLM 來提升推理能力。
為了在沒有更優模型的前提下提升推理能力,一個頗有希望的範式是利用 LLM 自身之中的知識。舉個例子,一種名為 RAP 的方法採用了一種自我探索式的解決方法,即透過自我獎勵的回饋來迭代式地提升 LLM 的推理表現。不幸的是,研究顯示這個範式有兩大根本性問題。
第一,在執行推理時,LLM 往往難以有效地探索解答空間。這種自我探索式方法往往會因推理步驟品質不佳而受困於某個解答空間,即使多次嘗試也是如此。
第二,即使自我探索找到了高品質的推理步驟,小版本的大型語言模型(SLM)也難以辨別哪些推理步驟的品質更高,也難以確定最終答案是否正確,由此難以有效地引導自我探索。研究表明,基於基本的常規獎勵的自我探索引導得到的結果並不比隨機猜測更好。
更麻煩的是,小版本的大型語言模型(SLM)更容易出現上述兩個問題,因為它們的能力更差一些。舉個例子,GPT-4 能透過自我最佳化來提升輸出結果,但 SLM 卻很難做到這一點,甚至可能導致輸出結果品質下降。這會嚴重妨礙神經語言模型的推廣應用。
針對這些問題,微軟亞洲研究院和哈佛大學的一個研究團隊提出了 Self-play muTuAl Reasoning,即自博弈相互推理,簡稱 rStar。簡單來說,這個方法就類似於讓兩個學習平平的人互相檢查試卷答案,最終提升得分,甚至達到比肩學霸的程度。團隊宣稱 rStar 「無需微調或更優模型就能提升 SLM 的推理能力」。
論文標題:Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers
方法
為了解決上述難題,rStar 的做法是將推理過程分成了解答生成和相互驗證兩部分,如圖2 所示。 針對第一個難題,團隊引入了一個集合,其中包含豐富的類似人類的推理動作,可透徹地探索多種不同的推理任務空間。 針對第二個難題,他們設計了一個專門針對 SLM 的獎勵函數,這能對中間步驟進行評估,從而避免依賴它們那往往並不可靠的自我評估。 此外,團隊還使用了另一個 SLM 作為判別器來增強 MCTS 過程,與判別器 SLM 互相驗證每條軌蹟的正確性。使用 MCTS Rollout 自己產生推理軌跡
一個包含豐富的類人推理動作的集合。 MCTS 生成的核心在於動作空間,其定義了樹探索的範圍。大多數基於 MCTS 的方法在建立樹時都使用了單一動作類型。例如 RAP 中的動作是提出下一個子問題,而 AlphaMath 和 MindStar 中的動作是產生下一推理步驟。但是,依賴單一動作類型可能容易導致空間探索效果不佳。 為了解決這個問題,團隊回顧了人類執行推理的方法。不同的人解決問題的方法也不同:某些人會將問題分解成子問題,有些則會直接解決問題,有些人則會換個視角重新表達問題。此外,人們也會根據當前狀態調整自己的方法,並根據需求選擇不同的動作。 受人類推理過程的啟發,該團隊建立了一個更為豐富的資料集,其中包含 5 類動作,以盡可能地提升 SLM 正確解決複雜推理問題的潛力。以上五個動作定義了一個高度多樣化的動作空間 {A1, A2, A3, A4, A5}。
在每個步驟 i,MCTS 從該空間選取一個動作 a_i。然後基於目前狀態(即先前產生的軌跡 x ⊕ s_1 ⊕ s_2 ⊕ ... ⊕ s_{i−1}),使用該動作 a_i 讓 LLM 產生下一推理步驟 s_i。請注意某些動作需要依序執行。圖 3 給出了一個範例。
如表 1 所示,在提升最終推理準確度方面,每個動作都具有重要作用。
獎勵函數
MCTS 的另一個關鍵組件是獎勵函數,其作用是評估每🎜>
MCTS 的另一個關鍵組件是獎勵函數,其作用是評估每個動作的價值並為樹的擴展提供指示。針對 SLM,團隊設計了一個簡單但有效的獎勵函數。他們的方法靈感來自 AlphaGo,即基於每個中間節點對最終正確答案的貢獻對它們進行評分。這樣一來,經常得到正確答案的動作就能獲得更高獎勵,它們也就更可能在未來的 MCTS 樹擴充中被選取。 這裡將執行動作 a 後產生的節點 s 的獎勵值定義為 Q (s, a)。一開始,所有未被探索過的節點都被分配了 Q (s_i, a_i) = 0,從而實現隨機的樹擴展。抵達首個端節點 n_d 時,根據其是否得到正確答案而計算一個獎勵分數 Q (s_d, a_d)。 然後,沿著軌跡 t = x ⊕ s_1 ⊕ s_2 ⊕ ... ⊕ s_d 將該分數反向傳播給每個中間節點。具體來說,對於每個 s_i,都以以下方式更新其 Q 值:Q (s_i, a_i) = Q (s_i, a_i) + Q (s_d, a_d)。為了計算端節點的 Q (s_d, a_d),這裡使用的獎勵值是自洽多數投票的似然(置信度)。使用互恰性選擇推理軌跡
基於收集到的所有軌跡,團隊提出使用推理互恰性來選擇答案。圖 4 中比較了判別器 SLM 補全的答案是否與原始軌跡 t 相符。如果兩者一致,則認為 t 是可以最終選擇的已驗證軌跡。
由目標 SLM 選取最終軌跡。在對所有候選軌跡使用了推理互恰性之後,再回到目標 SLM,讓其從已驗證軌跡中選出最終軌跡。為了計算每條軌跡的最終分數,團隊的做法是用其獎勵乘以透過 Rollout 得到的其端節點的置信度分數。最終分數最高的軌跡被選作解答。
實驗
實驗設定
rStar 適用於多種 LLM 和推理任務。團隊評估了 5 個 SLM:Phi3-mini、LLaMA2-7B、Mistral-7B、LLaMA3-8B、LLaMA3-8B-Instruct。
測驗的推理任務有 5 個,其中包括 4 個數學任務(GSM8K、GSM-Hard、MATH、SVAMP)和 1 個常識任務(StrategyQA)。
實驗細節請訪問原論文。
主要結果
團隊首先評估了 rStar 在一般推理基準上的有效性。表 2 比較了 rStar 和其它目前最佳方法在不同 SLM 和推理資料集上的準確度。為了展示新生成器的效果,團隊還提供了 rStar (generator @maj) 的準確度,即不使用判別器,僅使用多數投票來驗證答案而獲得的準確度。
團隊指出了其中的三個關鍵結果:
1. 得到 rStar 助力的 SLM 解決問題的能力更強。例如,在 GSM8K 資料集上,使用少樣本 CoT 的 LLaMA2-7B 的準確度只有 12.51%。但有了 rStar 的幫助,其準確度提升到了 63.91%,這一成績接近使用微調得到的準確度,如圖 1 所示。類似地,使用 rStar 的 Mistral 的效能甚至比微調版的 MetaMath 還高 4.18%。這樣的提升表明,SLM 本身已經具備很強的推理能力,但需要引導才能產生和選出正確解答。
2.rStar 可以穩定地將被評估的多種 SLM 在不同任務上的推理準確度提升至當前最佳水平。相較之下,其它對比方法都無法穩定地在所有四個基準上取得優良表現。舉個例子,儘管 SC(自我一致性)擅長三個數學任務,但卻無法有效解決 StrategyQA 的邏輯推理任務。
3. 即使沒有新提出的用於驗證推理軌蹟的判別器,新提出的 MCTS 生成器在提升 SLM 的推理準確度方面依然效果很好。例如,在 GSM8K 資料集上,rStar (generator @maj) 的準確度比 RAP 高 2.88%-16.39%、比 ToT 高 10.60%- 38.37%、比 SC 高 1.69% - 7.34%。
在高難度數學資料集上的結果
團隊也在一個更高難度的數學資料集上評估了 rStar。為此他們選擇了 GSM-Hard 和 MATH 資料集。遵照同類研究的慣例,他們使用了 MATH-500,這是來自 MATH 資料集的一個包含代表性問題的子集。這樣做是為了提升評估速度。如表 2 和 3 所示,rStar 能夠顯著提高 SLM 在這些高難度數學資料集上的推理準確度。
消融研究
不同🎜 🎜>rStar 使用了Rollout 策略來執行MCTS 樹擴充。更多 Rollout 會產生更多候選解答軌跡,但也會提高推理成本。圖 5 比較了在 GSM8K 上,SC、RAP 和 rStar 使用不同 Rollout 時的準確度。
1. 即使僅2 次Rollout,rStar 也能大幅提升SLM 的推理準確度,這表明了其有效性;
2.Rollout 更多時對rStar 和SC 都有利,而RAP 在4 次Rollout 之後往往會飽和甚至下降。一個原因是 RAP 的單類型動作空間會限制 MCTS 探索的效果。
團隊比較了 MCTS 產生器與其它三種生成器的效果。如表 4 所示,新提出的 MCTS 產生器全面勝過其它產生器。此外,針對 SLM 調整的獎勵函數的有效性也得到了證明,因為自我評估會降低新生成器的準確度。
判別器的有效性
團隊設定了兩個評估實驗。
第一個實驗是將判別方法與多數投票和自我驗證方法進行比較。結果見表 5(左),可以看到判別方法的優點非常顯著。
第二個實驗則是研究不同的判別器模型的影響。結果見表 5(右),可以看到選擇不同的判別器模型通常不會影響推理互恰性方法驗證答案的效果。值得注意的是,即使使用強大的 GPT-4 作為判別器,性能也只有略微提升(從 91.13% 提升到 92.57%)。這表明推理互恰性方法可以有效地使用 SLM 來驗證答案。
以上是兩個小模型互相驗證,直接比肩大模型?微軟的rStar甚至沒用CoT和微調的詳細內容。更多資訊請關注PHP中文網其他相關文章!