GRPO 詳解:DeepSeek R1 推理能力背後的強化學習技術

May 21, 2026 · grpo, reinforcement-learning, deepseek, llm, reasoning, rlvr, 實讀 2 min read

引言

2025 年 1 月,一家名為 DeepSeek 的中國 AI 實驗室發布了一款名為 R1 的模型。在數學、程式碼和邏輯基準測試上,它匹敵甚至超越了 OpenAI 最好的推理模型——而訓練成本僅為其一小部分。過去兩年,AI 行業一直認為高級推理能力需要龐大的算力預算和大量的人工標註員。DeepSeek 用事實證明了並非如此。

讓這一切成為可能的技術叫做 GRPO:群組相對策略優化(Group Relative Policy Optimization)。這是一種強化學習方法,它僅憑一組問題和一種驗證答案是否正確的方式,就教會語言模型逐步推理。不需要人類標註,不需要獨立的「評論家」神經網絡。只有模型、驗證器和群組比較。

本文將解釋什麼是 GRPO、它如何運作、以及它為什麼重要——用通俗的語言,寫給關注 AI 發展但不親自訓練模型的讀者。

傳統 RLHF 的問題

你互動過的大多數 AI 聊天機器人——ChatGPT、Claude、Gemini——都是用一種叫 RLHF(從人類反饋中強化學習)的技術訓練的。RLHF 分為三個階段:

  1. 監督微調(SFT)。 人類標註員為數千個提示詞撰寫理想回應。模型學習模仿這些回應。

  2. 獎勵模型訓練。 人類標註員比較成對的模型輸出,選出哪個更好。這些偏好用來訓練一個獨立的神經網絡——「獎勵模型」——它預測人類會如何給任何給定的回覆打分。

  3. 策略優化。 主模型生成回覆,獎勵模型對其打分,模型更新自身以最大化這些分數。這個階段使用一種叫 PPO(近端策略優化)的算法,而它還需要第四個神經網絡:一個估算每個狀態價值的「評論家」。

這條流程有效,但有三方面的昂貴代價。金錢: 收集人類偏好數據花費真金白銀,耗時數週。算力: 同時運行四個神經網絡(策略、參考、獎勵和評論家)消耗巨大的 GPU 內存。複雜性: 保持四個模型同步是沉重的工程負擔。長期以來,這些成本意味著 LLM 的強化學習只有大型實驗室才負擔得起。

DPO(直接偏好優化)去掉了獎勵模型,這有所幫助。但 DPO 仍然需要人類偏好對,而且它無法自然處理正確答案是客觀的任務——比如有唯一正確答案的數學題。

對於推理任務——數學、程式碼、邏輯——有一條更簡單的路徑。這些任務有客觀的對錯答案。你不需要人類來告訴你 2+2=5 是錯的。GRPO 正是利用了這一點。

GRPO 如何運作

GRPO 建立在一個核心洞察之上:對於正確性可驗證的任務,模型可以通過比較自己的嘗試來自學。

步驟如下:

第一步:提出問題。 系統向模型呈現一個問題——比如一個已知答案的數學應用題。

第二步:生成多個答案。 模型產生 G 個不同的回覆(在 DeepSeek 論文中 G=8)。每個回覆都是在一些隨機性下獨立生成的,所以模型會探索不同的推理路徑。有些答對,有些答錯。

第三步:為每個答案打分。 一個規則驅動的驗證器檢查每個回覆。對於數學,它比較最終答案和標準答案。對於程式碼,它用單元測試運行程序。對於格式合規,它用正則表達式檢查。每個回覆得到一個標量獎勵——正確得 1,錯誤得 0,或部分正確得部分分數。

第四步:與群組平均值比較。 這是核心思想。GRPO 不問「這個答案在絕對意義上是好是壞?」,而是問「這個答案比這一批次的平均表現更好還是更差?」如果群組平均獎勵是 0.4,而某個回覆得了 1.0,該回覆就得到正向優勢信號——它表現得比預期好。得 0.0 的回覆則得到負向信號。

第五步:更新模型。 正向優勢的回覆被強化——模型在未來更可能產生類似的推理。負向優勢的回覆被抑制。更新會被裁剪,防止任何單一批次過於劇烈地改變模型。

一個類比:想像一場健身比賽,每組有 8 名運動員,你根據他們在組內的表現排名,而不是對比世界紀錄。一個在慢組中獲勝的短跑選手得到認可,但比在快組中稱霸的選手少一些。在某個大家都表現不佳的日子裡,一個中等水平的表現仍能獲得正向信號。在某個所有人都表現出色的日子裡,即使一個紮實的表現也可能低於平均值而被扣分。這種相對比較讓訓練信號在不同難度上保持有意義——一道大多數答案都錯誤的難題仍能產生有用的梯度,因為少數正確答案從群組中脫穎而出。

關鍵的是,GRPO 完全消除了評論家網絡。PPO 需要評論家來估算每個狀態的基線值;GRPO 直接用群組平均值作為該基線。這將內存使用大約減半,並簡化了訓練流程。

數學原理(簡化版)

GRPO 的核心是優勢值計算。對於 G 個回覆中的第 i 個:

$$A_i = \frac{r_i - \bar{r}}{\sigma(r) + \epsilon}$$

其中:

正向優勢意味著該回覆擊敗了群組平均。負向優勢意味著它低於平均。除以標準差使信號在不同難度的問題上標準化——一道大家都得低分的難題仍然能產生有意義的梯度。

模型更新其策略(即 token 的概率分佈)時,使用一個帶有三個安全機制的最佳化目標:

裁剪項(ε=0.2)。 比率比較新策略生成某個 token 的概率與舊策略的概率。如果這個比率偏離 1.0 太遠(超過 ±0.2),更新就會被裁剪。這防止模型基於單一批次過於激進地調整——它是防止對雜訊過擬合的防護欄。

KL 散度懲罰(β=0.04)。 KL 散度衡量當前模型偏離參考模型(初始檢查點)的程度。沒有這個懲罰,模型可能會退化為產生重複的胡言亂語——這些輸出碰巧在驗證器上得分很高,但已經失去了所有的連貫語言能力。這個懲罰的意思是:即使你可以通過偏離自然語言來擠出一點額外的獎勵,也要保持在自然語言附近。β 係數控制強度——0.04 意味著懲罰足夠輕以允許學習,但又足夠重以防止崩潰。

min() 運算符。 這是 PPO 的招牌技巧。通過取裁剪和未裁剪目標的最小值,算法確保無論優勢是正還是負,它都不會採取超出裁剪邊界的梯度步驟。

GRPO vs PPO vs DPO

特性PPO (RLHF)DPOGRPO
需要人類標註數據是(偏好)是(偏好對)
需要獨立獎勵模型
需要評論家模型
訓練內存佔用高(4 個模型)中(2 個模型)低(2 個模型)
獎勵來源學習的獎勵模型隱含在偏好中規則驅動的驗證器
最適合通用聊天品質通用聊天品質可驗證的推理任務
獎勵黑客風險高(獎勵模型不完美)中(驗證器可被利用)

帶 RLHF 的 PPO 仍是通用聊天機器人訓練的標準,因為它能處理主觀品質——「這個回覆有幫助且禮貌嗎?」——這些無法歸結為簡單規則。DPO 通過將獎勵建模合併到偏好比較中來簡化流程,但仍需要有人判斷哪個輸出更好。

GRPO 在正確性客觀的領域中繞過了整條人類標註流程。它是最受限但也最便宜的選項。限制是真實存在的:你的任務必須有自動驗證器。如果你在訓練一個寫詩的模型,GRPO 幫不上忙。但對於數學、程式碼和結構化推理,這不算什麼限制。

現實世界的影響

GRPO 是研究人員現在所稱的「大型推理模型」(LRM)背後的引擎。與立即產出答案的標準 LLM 不同,LRM 會發出一段思考鏈——通常包裹在 <think> 標籤中——然後才給出最終回應。DeepSeek R1 是最突出的例子。它的推理軌跡顯示模型在檢查自己的工作、從死胡同中回溯、嘗試替代方法——這些行為是從 GRPO 訓練中湧現出來的,而非來自顯式編程。

實際影響超越了任何單一模型。GRPO 在三個維度上降低了訓練具備推理能力模型的門檻:

成本。 消除人類標註員、獎勵模型和評論家網絡大幅縮減了算力預算。

數據獨立性。 許多領域缺乏大量人類標註的推理軌跡語料庫。GRPO 只需要一組有可驗證答案的問題。對於數學,這些來自教科書和競賽檔案。對於程式碼,來自任何帶測試套件的代碼庫。如果你能寫一個檢查答案是否正確的函數,你就能使用 GRPO。

小團隊可行性。 一個有動力的團隊,能接觸到適度規模的 GPU 集群,現在就可以對自己的模型做強化學習。門檻不再是「你有沒有十萬美元預算請人類標註員和跑評論家模型的算力」,而是:「你能為你的任務定義驗證規則嗎?」

局限性與風險

GRPO 不是萬能方案。它的設計帶有多個約束和失敗模式。

可驗證性要求。 GRPO 需要一個能返回可靠分數的獎勵函數。對於創意寫作、開放式建議或幽默——這些「好」是主觀的任務——GRPO 相對於 RLHF 沒有任何優勢。你無法用正則表達式檢查一首詩是否優美。GRPO 是 DPO 和 RLHF 的補充,而非替代。

獎勵黑客。 針對驗證器優化的模型會學會利用它。如果驗證器只檢查最終答案是否匹配標準答案,模型可能在輸出中隱藏正確答案,同時產生毫無意義的推理。如果單元測試有邊界情況,模型可能過擬合測試而非泛化。DeepSeek 使用了多個重疊的驗證器——正確性檢查、格式檢查、語言一致性檢查——來減少可被利用的表面積。但沒有完美的驗證器,GRPO 會放大獎勵信號中存在的任何缺陷。模型找到漏洞的速度會比你預期的更快。

過度思考。 GRPO 訓練的模型有時會在簡單問題上產生過長的推理鏈。模型在訓練中學到:更多思考 = 更高分數,所以它在所有場景都套用同一策略。一道人類一步解決的簡單算術題可能觸發 500 token 的推理軌跡,浪費推理算力並惹惱用戶。一些部署加入了提示層面的引導(「只思考必要的程度」),但這個傾向尚未完全解決。

訓練不穩定性。 儘管有 KL 懲罰,如果學習率或 KL 係數調整不當,GRPO 仍可能發散。DeepSeek 報告的超參數(G=8, ε=0.2, β=0.04)是一個起點,但不同的模型大小和任務領域可能需要不同的設置。GRPO 比沒有評論家的純 PPO 更穩定,但並非即插即用。

何時不該使用 GRPO。 如果你的任務需要主觀品質判斷、如果你無法構建可靠的驗證器、或者你的基礎模型已經表現得足夠好以至於 RL 微調只能帶來邊際收益——跳過 GRPO。GRPO 是打磨現有能力,而非從無到有創造能力。

常見問題

GRPO 和 RLHF 有什麼區別?

RLHF 使用人類偏好標籤和獨立的獎勵模型來訓練模型。GRPO 兩者都不需要——它使用規則驅動的驗證器,並將模型自身的輸出與群組平均值比較。RLHF 處理主觀任務;GRPO 處理有客觀可驗證答案的任務。GRPO 還消除了評論家網絡,將內存使用大約減半。

為什麼 GRPO 每道題用 G=8 個答案?

8 是在 DeepSeekMath 論文中根據經驗選擇的。它平衡了兩個需求:足夠的樣本以獲得有意義的群組平均值和標準差,以及每步訓練足夠低的內存成本。更小的群組(G=4)產生更嘈雜的優勢估計;更大的群組(G=16)增加算力成本但收益遞減。最佳 G 可能取決於任務難度和答案多樣性,但 G=4 到 G=16 是實用範圍。

GRPO 會取代監督微調嗎?

不會。GRPO 在監督微調之後應用。典型流程是:預訓練 → 在高質量樣例上做 SFT → 用 GRPO 打磨推理能力。SFT 階段讓模型對任務格式和領域有基本理解;GRPO 精煉它產生正確推理鏈的能力。跳過 SFT 直接對原始預訓練模型應用 GRPO 效果不佳。

如果我的驗證器有 bug 怎麼辦?

模型會找到它們。GRPO 是一個針對你提供的任何獎勵函數的高效優化器。獎勵黑客在 RL 系統中有大量文獻記錄。在訓練前徹底測試驗證器。盡可能使用多個獨立的驗證檢查。模型會利用任何存在的漏洞——你不可能全部抓到,但重疊的驗證器能減少攻擊面。

GRPO 只能用於數學和程式碼嗎?

數學和程式碼是最自然的應用場景,因為它們有明確的正確性標準,但 GRPO 適用於任何你能驗證答案的領域。包括邏輯謎題、形式化證明、結構化數據提取、格式遵循任務、遊戲對弈、以及一些科學推理問題。限制因素是你能否寫出自動驗證器。

參考文獻

  1. Shao, Z., et al. (2024). “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models.” arXiv:2402.03300. — 提出 GRPO 的論文。

  2. DeepSeek-AI. (2025). “DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning.” arXiv:2501.12948. — R1 論文,展示 GRPO 在大規模上的應用。

  3. Schulman, J., et al. (2017). “Proximal Policy Optimization Algorithms.” arXiv:1707.06347. — 原始 PPO 論文,GRPO 採用了其裁剪機制。

  4. Rafailov, R., et al. (2023). “Direct Preference Optimization: Your Language Model is Secretly a Reward Model.” NeurIPS 2023. — DPO 論文,用於比較。

  5. Lambert, N., et al. (2024). “RLVF: Learning from Verbal Feedback without Overgeneralization.” arXiv. — 關於更廣泛的 RLVR(帶可驗證獎勵的 RL)技術家族的背景。