GRPO教會DeepSeek R1高智商推理,但GRPO可能不完美且有偏見 | Dr. GRPO簡化之,消除偏見帶來改進
DeepSeek R1在數學推理、問題解決等復雜任務上的表現令全世界矚目。它在AIME 2024等高難度數學測試中取得了79.8分好成績(OpenAI o1-1217得分79.2)。而這一切的背后,有一個關鍵技術功不可沒——Group Relative Policy Optimization(GRPO),一種基于強化學習的優化算法。
盡管GRPO教會R1高智商推理,但有研究人員發現,它存在一些缺陷,比如它會導致模型生成冗長的錯誤回答,或者更傾向于解決簡單問題而忽略難題。大家在用DeepSeek R1的時候,估計也遇到過這樣的場景:當它思考過程是錯誤的時候,會在那兒叨叨沒完沒了,陷入一個怪圈中出不來。
為了解決這些問題,來自新加坡的研究團隊提出了一個改進版本——Dr. GRPO(Group Relative Policy Optimization Done Right)。Dr. GRPO嘗試消除GRPO的偏見,提升模型的推理準確性和效率。
GRPO:R1高智商推理的“幕后老師”
在探討GRPO的缺陷或偏見之前,我們先來回憶一下它是什么,以及它如何幫助R1在數學推理任務中大放異彩。
GRPO的核心思想
GRPO是一種強化學習(Reinforcement Learning, RL)算法,專門用于優化大型語言模型的推理能力。在R1的訓練中,GRPO會讓模型針對一個數學問題生成多個回答(稱為“響應組”),比如10個不同的解答。然后,它會根據這些回答的正確性打分:正確答案得1分,錯誤答案得0分。通過比較這些回答的得分,GRPO計算出每個回答的“優勢”(advantage),也就是這個回答比其他回答好多少或差多少。最后,它用這個優勢值調整模型的參數,讓模型更傾向于生成正確的回答。
這種方法讓R1在數學推理任務上取得了顯著進步。更重要的是,R1還展現了一些“類人”的推理行為,比如自我反思(self-reflection)和“頓悟時刻”(Aha moment)。例如,它會在回答問題時嘗試不同的解法,并在過程中檢查自己的思路,這種能力讓它在高難度測試中表現尤為出色。
GRPO的技術細節
為了更直觀地理解GRPO,我們來看看它的核心公式:
其中優勢函數計算方法如下
這個公式看起來復雜,但它的核心思想很簡單:通過獎勵對比,找到更好的回答策略,并調整模型讓它更傾向于生成高獎勵的輸出。
GRPO的缺陷:為何它不完美?
盡管GRPO幫助R1取得了優異成績,但它并非沒有問題。研究人員發現,GRPO存在兩個主要缺陷:響應長度偏見和問題難度偏見。這些偏見讓模型在訓練過程中出現了意想不到的行為,比如生成冗長的錯誤回答,或者更傾向于優化簡單問題而忽視難題。
缺陷1:響應長度偏見——“話癆”模型的誕生
問題出在哪兒?
形象理解:一場不公平的作文比賽
想象你是一個語文老師,正在組織一場作文比賽。你給學生的評分規則是:“如果作文寫對了主題,得1分;如果跑題了,得0分。”但你還加了一條奇怪的規定:“得分會除以作文的字數。也就是說,正確作文越短,分數越高;錯誤作文越長,扣分越少。”
這個規則會帶來什么后果呢?學生很快就會發現:
- 如果他們寫了一篇短小精悍的正確作文,比如200字,得分是 (1 / 200 = 0.005) 分/字,獎勵很高。
- 如果他們寫了一篇跑題的作文,但用了1000字,得分是 (0 / 1000 = 0) 分/字,幾乎沒懲罰。
結果呢?聰明的學生會開始“鉆空子”:當他們不確定主題時,就故意寫很長的跑題作文,因為這樣懲罰少;而當他們有把握時,就盡量精簡字數。這種策略雖然符合規則,卻完全偏離了你的初衷——你本來是想讓學生寫出高質量的作文,而不是追求長短。
GRPO的情況也是如此。該“偏見”讓模型變成了一個“話癆”:當它不確定答案時,就傾向于生成冗長的錯誤回答(比如1000個token),因為這樣每個token的懲罰被攤薄了;當它確定答案時,則盡量簡潔。這種偏見在R1的訓練中表現得很明顯:錯誤回答的長度逐漸增加,甚至超過1000個token,而正確回答則相對較短。
實際影響
在MATH數據集的測試中,研究人員發現,經過GRPO優化的模型,錯誤回答的平均長度顯著高于正確回答。比如,錯誤回答可能長達800-1000個token,而正確回答只有400-600個token。這種“話癆”行為不僅浪費計算資源,還降低了模型的token效率(即生成有效信息所需的token數量),讓人誤以為模型在“深度思考”,實際上已經陷入錯誤怪圈。
缺陷2:問題難度偏見——“挑軟柿子捏”的優化策略
問題出在哪兒?
GRPO的第二個缺陷來源于公式中的 std項(上面公式中第二個標紅的地方),也就是獎勵的標準差歸一化。這個項會根據一組回答的獎勵波動調整梯度更新:
- 如果一個問題的獎勵標準差小(比如回答正確率很穩定),梯度更新會被放大。
- 如果獎勵標準差大(比如回答正確率波動很大),梯度更新會被縮小。
這導致模型更傾向于優化獎勵穩定的問題(通常是簡單問題),而對獎勵波動大的問題(通常是難題)優化不足。
形象理解:一場不公平的運動會
假設你是一個體育老師,正在訓練學生參加跑步比賽。你告訴學生:“我會在不同難度的跑道上測試你們,簡單跑道平坦,復雜跑道有很多障礙。你們的得分會根據每條跑道的成績波動調整:如果跑道上大家的成績差不多(標準差小),得分會更高;如果成績差距很大(標準差大),得分會更低。”
這個規則會怎樣影響學生呢?他們很快就會發現:
- 在平坦的簡單跑道上,大家跑得差不多,標準差小,得分被放大,他們更愿意在這上面努力。
- 在障礙重重的復雜跑道上,有人跑得快有人跑得慢,標準差大,得分被縮小,他們就不愿意花心思挑戰。
結果是,學生們開始“挑軟柿子捏”,專注于簡單跑道,而對復雜跑道敷衍了事。你的初衷是想全面提升他們的跑步能力,但這個規則卻讓他們只顧著容易的部分。
GRPO的 std項也是如此。它讓模型更傾向于優化簡單問題(獎勵標準差小),而對難題(獎勵標準差大)不夠重視。這種偏見導致模型在簡單任務上進步很快,但在高難度任務上提升有限。
實際影響
在實際測試中,經過GRPO優化的模型在簡單問題(如GSM-8K數據集)上的準確率提升明顯,但在高難度問題(如AIME 2024)上的進步較慢。這表明,GRPO的優化策略不夠公平,無法均衡提升模型在不同難度任務上的表現。
Dr. GRPO:消除偏見的“增強版”優化算法
為了解決GRPO的這兩個缺陷,研究團隊提出了Dr. GRPO。Dr. GRPO的核心思想是移除偏見項,讓優化過程更加公平高效。具體改進包括:
改進1:移除響應長度偏見
Dr. GRPO去掉了GRPO公式中的 1/|oi| 項。新的目標函數變為:
效果
移除 1/|oi| 后,回答長度不再影響梯度更新:
- 正確回答不會因為短而獲得額外獎勵。
- 錯誤回答不會因為長而減少懲罰。
回到作文比賽的比喻,Dr. GRPO就像一個更公平的老師:他不再根據字數調整分數,而是只看作文的質量。這樣,學生就不會為了少扣分而寫冗長的跑題作文,而是專注于提高內容本身。模型也是如此,它不再傾向于生成“話癆”式的錯誤回答,而是更關注答案的正確性。
改進2:移除問題難度偏見
Dr. GRPO還去掉了 std 項,新的優勢函數變為:
效果
移除標準差歸一化后,梯度更新不再受問題獎勵波動的影響。簡單問題和難題對模型優化的貢獻變得平等,模型不會“挑軟柿子捏”。回到運動會的比喻,Dr. GRPO就像一個一視同仁的老師:無論跑道難度如何,他都用同樣的標準評分,學生們必須在所有跑道上努力,而不是只顧著簡單的。
Dr. GRPO的整體優勢
通過這兩項改進,Dr. GRPO讓優化過程更加公平:
- 不再“話癆”:錯誤回答的長度不會無限制增加,token效率顯著提升。
- 公平優化:模型對不同難度的問題一視同仁,整體推理能力更均衡。
實驗結果:Dr. GRPO的優越性
為了驗證Dr. GRPO的效果,研究團隊在多個數學推理基準測試中對比了GRPO和Dr. GRPO的表現。以下是詳細結果。
實驗設置
研究團隊使用Qwen2.5-Math-7B作為基礎模型,分別用GRPO和Dr. GRPO進行強化學習訓練。訓練在8個A100 GPU上進行,總耗時27小時。測試基準包括:
- AIME 2024:高難度數學邀請賽。
- AMC:中等難度數學競賽。
- MATH500:高中數學競賽題目。
- Minerva Math:定量推理測試。
- OlympiadBench:奧林匹克級難題。
結果1:推理準確性提升
下表展示了不同模型在各基準上的準確率:
- 分析:使用Dr. GRPO訓練的Oat-Zero-7B在所有測試中平均準確率最高(51.4%),尤其在AIME 2024上達到43.3%,比SimpleRL-Zero-7B高16.6個百分點,比PRIME-Zero-7B高26.6個百分點。這表明Dr. GRPO顯著提升了模型的推理能力。
結果2:token效率提升
Dr. GRPO還顯著縮短了錯誤回答的長度:
- GRPO:錯誤回答長度隨訓練增加,甚至超過1000個token。
- Dr. GRPO:錯誤回答長度穩定在400-600個token,接近正確回答長度,減少約40%-50%。
在MATH500測試中,GRPO的錯誤回答平均長度為800-1000個token,而Dr. GRPO僅為400-600個token。這說明Dr. GRPO消除了“話癆”傾向,讓模型更高效。
結果3:訓練穩定性
GRPO訓練的模型在獎勵提升趨緩后,回答長度仍持續增加,這種“過度思考”現象被Dr. GRPO有效避免。Dr. GRPO的回答長度與獎勵信號更匹配,訓練過程更穩定。
為什么Dr. GRPO更強?
Dr. GRPO的優越性來源于以下幾點:
- 消除“話癆”傾向:移除 1/|oi| 項,避免了模型生成冗長錯誤回答。
- 公平優化:移除 std 項,讓模型均衡提升簡單和復雜問題的能力。
- 高效訓練:優化目標更直接,模型更快收斂到最優策略。
這些改進讓Dr. GRPO不僅提升了準確率,還提高了token效率和訓練穩定性。
總結:Dr. GRPO是GRPO的“增強版”
GRPO雖然為R1的高智商推理能力奠定了基礎,但其響應長度偏見和問題難度偏見導致了冗長低效的回答和不公平的優化。Dr. GRPO通過消除這些偏見,讓模型更專注于提升推理質量,而不是追求無關的長度或簡單性。可以說,Dr. GRPO是GRPO的“改進版”,為強化學習優化提供了更高效、更公平的方向。如果你對實現細節感興趣,可以訪問研究團隊的GitHub頁面(https://github.com/sail-sg/understand-r1-zero)。
?本文轉載自??后向傳播??,作者: 張發恩
