DeepSeek 技術解析:LLM 訓練中的強化學習算法
我們將深入探討 DeepSeek 模型訓練策略中的關鍵創新之一[1, 2]:群組相對策略優化(Grouped Relative Policy Optimization,GRPO)[3]。
為確保本文自成體系并闡明 GRPO 的理論基礎,我們將首先介紹強化學習的基礎概念,重點解析強化學習(RL)及基于人類反饋的強化學習(RLHF)在 LLM 訓練中的核心作用。接著我們將探討不同的強化學習范式,包括基于價值的強化學習、基于策略的強化學習和 Actor-Critic 強化學習,回顧經典算法如置信域策略優化(TRPO)和近端策略優化(PPO),最后解析 GRPO 帶來的優化創新。
本文目錄結構:
- 技術背景:闡釋 LLM 訓練為何需要強化學習,以及強化學習和基于人類反饋的強化學習(RLHF)的工作原理
- 強化學習范式:解析并對比基于價值的強化學習、基于策略的強化學習和 Actor-Critic 強化學習范式
- GRPO:先回顧 TRPO 和 PPO,再詳解 GRPO 如何對 PPO 進行優化改進
- 總結
- 參考文獻
1.技術背景
1.1 為什么在大語言模型訓練中需要強化學習
在將強化學習引入大語言模型訓練之前,自然語言處理模型的訓練通常分為兩個階段,即通常所說的「預訓練(Pre-training)和微調(finetuning)」范式:
- 預訓練階段:通過在大量文本語料上進行無監督目標訓練(如預測缺失的 token),幫助模型建立對語言的整體理解。
- 監督微調階段:使用人工標注的數據集進行訓練,使模型適應問題解答等特定任務,生成更有用且更有條理的輸出。
然而,即使完成這兩個階段的訓練,大語言模型生成的回答仍常常與人類的偏好不一致。典型問題包括:產生不準確的信息(幻覺)、回答過于冗長或過于簡潔、忽略隱含的上下文信息,或誤解諷刺與幽默等表達。
換言之,要讓大語言模型真正具備實用性,需要將其與人類偏好對齊,而僅靠監督式微調難以實現這一目標。
這又是為什么呢?
這背后的核心挑戰在于:如何將「對齊人類偏好」這種抽象概念轉化為可學習的任務目標,使其能夠被正確標注,并用于構建有意義的學習目標。由于人類偏好的復雜性,想要窮舉所有可能的問題并為每種問題定義具體標簽是不現實的(譯者注:例如,為“冗余回答”標注 0,為“簡潔回答”標注 1)。
這正是強化學習發揮關鍵作用的地方。
1.2 強化學習的工作原理
機器學習算法可大致分為三類:
- 監督學習 (Supervised Learning):通過標注數據(每個輸入 x 對應目標 y)訓練模型,目標是構建從 x 預測 y 的映射。當 y 為離散值時稱為分類問題,連續值時稱為回歸問題。
- 無監督學習 (Unsupervised Learning):在沒有標注數據時,通過發現數據的內在模式進行學習,例如主成分分析(PCA)等降維方法,或 K-Means 等聚類算法。
- 強化學習 (Reinforcement Learning, RL):當難以定義明確的學習目標時,讓 RL 模型通過與環境交互獲取獎勵信號來更新模型。該方法常用于訓練機器人保持平衡、行走等場景。
下圖展示了強化學習框架的五個核心要素:
image.png
圖 1. 強化學習的五個要素:智能體、環境、獎勵、狀態和動作(Image from wiki)
以訓練小狗坐下為例,五要素對應如下:
- 智能體 (Agent):學習指令的小狗
- 環境 (Environment):小狗所處的周圍環境
- 狀態 (State):小狗當前姿勢(是否處于坐姿)
- 獎勵 (Reward):小狗正確執行指令后獲得的零食
- 動作 (Action):小狗可執行的動作(坐下、跳躍、吠叫等)
監督學習中的學習目標和強化學習中的獎勵機制有何本質區別?
在監督學習中,每個輸入樣本都需配備一個明確的標準答案,模型通過最小化預測值與正確答案間的損失函數(loss function)進行優化。而在強化學習中,智能體通過與環境的交互來學習 —— 每個動作都沒有明確的標準答案,而是通過環境反饋的獎勵信號(reward)來調整其行為。
需要注意,強化學習的獎勵信號通常具有一定的延遲,而且可能非常稀少。例如下棋時,只有游戲結束時才能獲得“勝利”或“失敗”的最終獎勵。這意味著智能體無法立即判斷單個動作的優劣,必須通過長期試錯來學習如何使累積到的獎勵最大化。
這一特性使強化學習在缺乏明確標準答案但能獲取反饋的場景中極具優勢。例如訓練機器人行走時,我們無法預先定義每個狀態下關節的“正確”角度,但當機器人嘗試不同動作后,若成功邁出一步,這一結果即可作為獎勵信號,表明其之前的動作是有效的。
回到我們訓練小狗的案例,強化學習流程如下:
- 初始階段:小狗(智能體)不理解“坐下”指令,會在環境(家中)嘗試各種動作(奔跑、坐下、吠叫)。
- 獎勵反饋:每次執行坐下的動作時獲得零食(獎勵)。
- 最終結果:小狗逐漸將“坐下”動作與獎勵關聯,最終學會響應指令。
強化學習的核心在于通過試錯法學習,而設計合理的獎勵機制是關鍵。獎勵必須與目標高度對齊,否則模型無法習得所需的行為;同時,獎勵的計算應盡可能簡單高效。若獎勵生成過程過于復雜或緩慢,會導致訓練效率低下,難以實際應用。
例如,在游戲場景中,模型的每步動作都可從游戲環境中直接獲得分數獎勵(如擊殺敵人+10分),獎勵與游戲表現直接掛鉤。
而在現實任務中,多數場景缺乏現成的獎勵機制,需人工設計獎勵函數。然而,許多復雜行為難以轉化為獎勵函數(如“如何讓智能體的回答更禮貌”中“禮貌”的定義包含語調、用詞、文化差異等多維度因素)。
這就引出了基于人類反饋的強化學習(Reinforcement Learning from Human Feedback, RLHF)...
1.3 基于人類反饋的強化學習(RLHF)
再次以訓練小狗為例,假設你的小狗最終學會了坐下,但有時會邊坐邊吠叫,或先跳上沙發再坐下。此時該如何糾正?
有了 RLHF,你就不再需要每次坐下都給零食,而是通過比較它的行為給予差異化的獎勵。例如:如果小狗安靜地坐在地板上,它得到的獎勵就會比一邊叫一邊坐或跳到沙發上坐的獎勵要多。這樣,即使沒有明確向小狗解釋“安靜”的含義,小狗也能通過獎勵的不同知道安靜地坐在地板上更好。
如前文所述,簡單高效的獎勵機制是 RL 的關鍵,但直接依賴人類進行實時反饋(如每次動作都需人類評分)并不現實。為此,RLHF 通過以下三個階段實現規模化訓練:
- 收集人類反饋:采集模型輸出,由人類標注員比較不同回答哪個更好(如標注回答 A 比回答 B 更符合要求)。
- 訓練獎勵模型:基于人類標注員的偏好數據,構建模擬人類判斷的獎勵模型(Reward Model)。
- 強化學習優化策略:使用學習到的獎勵模型替代人工反饋,通過 RL 算法優化策略(Policy)。
此處的策略(Policy)是指智能體根據環境狀態選擇動作的決策規則。下圖展示了 InstructGPT 微調過程中 RLHF 的實現流程,其核心步驟與上述三階段一致:
image.png
圖 2. InstructGPT/ChatGPT 訓練過程中的 RLHF 步驟示意圖。(圖片來自文獻 [6])
如圖所示,RL 過程主要發生在第 3 步,通過近端策略優化(Proximal Policy Optimization, PPO)算法優化策略(policy)。
那么,PPO 算法是如何工作的呢?
為了理解這一點,在下一節中,我們將首先解析強化學習的三大基礎范式:基于價值的方法(Value-based)、基于策略的方法(Policy-based)和 Actor-Critic 方法。
2.強化學習范式
在深入研究所有數學細節之前,讓我們先來解釋一下強化學習背景下的價值函數(value functions)和策略(policy)。
在強化學習中,價值函數(value functions)表示智能體在狀態 s 采取動作 a 并遵循策略 π 后,所能獲得的預期收益:
image.png
其中
- R_t 表示智能體在第 t 個時間步執行某個動作后,環境給出的即時反饋(獎勵)。
- γ 稱為折扣因子,用于量化未來獎勵的價值
這里需要提及幾點:
- 我們需要考慮未來收益的原因是:強化學習中的獎勵通常具有延遲性,因此不能根據即時收益判斷某個動作的好壞。
- 引入折扣因子有助于平衡短期獎勵與長期收益。它還能穩定訓練過程并加速模型收斂,因為當 γ 取值在 0 到 1 之間時,能確保價值函數不會無限增大,始終保持在一個合理范圍內。
- 上述價值函數定義涉及策略 π,它可以被視為智能體遵循的決策策略,用于決定在給定狀態下采取何種行動,通常表示為從狀態(states)到動作概率(action probabilities)的映射
上述關于價值函數(value functions)和策略(policy)的定義表明,RL 智能體可以通過優化價值函數或策略來進行訓練。這就產生了三種不同的訓練范式:基于價值的強化學習、基于策略的強化學習,以及 Actor-Critic 強化學習。
2.1 基于價值的強化學習
基于價值的強化學習方法根據貝爾曼方程[8]更新價值函數,該方程將狀態價值(the value of a state)分解為兩個部分:即時獎勵(the immediate reward)和下一狀態的折扣價值(the discounted value of the next state)。
以Q-learning[7]為例,其價值函數可通過以下公式更新:
image.png
其中
- alpha 是用于結合即時價值與未來價值的學習率
- Q(S_t, A_t) 表示當前狀態的即時價值
- R_{t+1} 表示在狀態 S_t 下采取行動 A_t 后觀察到的獎勵
- Q(S_{t+1}, a) 表示在下一狀態采取行動 a 時的價值,因此對 a 取 max 可得到從 S_{t+1} 狀態能獲得的最大獎勵
具體而言,更新過程如下所示:
- 初始化:我們以隨機的 Q(S_t, A_t) 值開始
- 與環境交互:在時間步 t,智能體在狀態 S_t 選擇行動 A_t,隨后從環境獲得獎勵 R_{t+1},并轉移到下一狀態 S_{t+1}
- 使用上述規則更新價值函數
- 重復該過程直至收斂
然而,上述更新過程涉及 argmax 運算,這在具有無限種可能動作的連續動作空間(continuous action space)中是難以實現的。這是因為對所有動作計算 argmax 需要在每個學習步驟中進行全局優化,計算成本極高。
當使用 Q 網絡(如深度 Q 網絡(DQN))時,這種情況還會伴隨訓練不穩定問題而更加復雜。由于 Q 網絡通常是非凸的,有時 Q(s, a) 的微小更新就可能導致行為選擇發生巨大變化。
因此,基于價值的強化學習通常適用于離散的動作空間場景,且最好具有較少的可選動作,例如 Atari 游戲或 AlphaGo 中的 DQN 應用。
但如果必須處理連續或大規模動作空間呢?這時就需要基于策略的強化學習方法。
2.2 基于策略的強化學習
如前文所述,策略(Policy)指智能體用于決定采取何種行為的規則,是狀態到行為概率的映射:
image.png
其中,策略 π(a|s) 通常是一個可微函數,比如神經網絡,而 θ 就是這個神經網絡的參數。
因此,與基于價值的強化學習在動作空間中進行搜索不同,基于策略的強化學習在參數空間(θ)中進行搜索,以最大化預期的獎勵。
具體而言,基于策略的強化學習通過使用策略梯度算法(policy gradient)進行梯度上升來優化策略網絡:
image.png
在策略梯度算法中,梯度估計量的數學表達式通常呈現為:
image.png
其中 R 是累計收益(即各時間步獎勵之和)。
通過引入策略梯度算法,基于策略的強化學習消除了在動作空間計算 argmax 的需求,使其更適用于大規模或連續動作空間的場景。
然而,策略梯度的計算仍然具有挑戰性。在圍棋等現實世界的強化學習任務中,收益通常取決于整個事件的累計獎勵,而且可能包含大量噪聲,這會導致策略梯度的方差較大并引發訓練的不穩定。
為解決該問題,Actor-Critic 強化學習方法通過結合基于價值和基于策略的方法,降低方差并提升訓練的穩定性。
2.3 Actor-Critic 強化學習方法
Actor-Critic 強化學習方法是綜合基于價值和基于策略的強化學習方法的優勢設計而成,其核心結構包含:
- 策略網絡(稱為 Actor)用于選擇動作
- 價值函數(稱為 Critic)用于評估動作
由于動作選擇由策略網絡處理,Actor-Critic 方法同樣適用于大規模或連續動作空間。此外,通過引入 Critic 網絡,該方法能夠降低策略梯度的方差并提升訓練穩定性。
具體而言,原始策略梯度中的累計收益 R 被優勢函數(Advantage Function)所替代:
image.png
其中
- Q(s, a) 表示在狀態 s 采取動作 a 的預期收益
- V(s) 是基線價值函數,用于估計當前狀態的預期收益
通過引入基線價值函數 V(s),優勢函數通過將每個動作的獎勵值減去該狀態下的預期收益,實現對獎勵的“歸一化”,從而穩定學習過程,防止因高方差獎勵信號導致的大幅度參數更新。
基于此,策略梯度可被改寫為:
image.png
Actor-Critic 方法被廣泛應用于涉及大規模或連續動作空間的場景,例如 LLM 對齊過程中的 RLHF 訓練,以及先進機器人技術和自動駕駛系統的開發。
盡管在許多應用中取得成功,Actor-Critic 方法仍面臨訓練不穩定和超參數敏感性有關的挑戰,因為該方法需要同時訓練 Actor 和 Critic 網絡,而保持兩者之間的平衡更新可能較為困難。
在下一節,我們將解釋深度求索(DeepSeek)的 GRPO 方法如何解決這些挑戰。
3.群組相對策略優化(GRPO)
為了更好地理解 GRPO,我們先來簡要回顧兩種啟發它的常用 Actor-Critic 方法:置信域策略優化(TRPO)和近端策略優化(PPO)。
3.1 置信域策略優化(TRPO)
如前文所述,Actor-Critic 強化學習方法通過用優勢函數計算策略梯度的估計值來優化策略網絡,其梯度估計值可通過微分以下目標函數獲得:
image.png
這種方法的一個缺點是容易導致策略更新幅度過大,從而導致強化學習過程的不穩定。為解決這一問題,TRPO [4] 通過限制策略更新的幅度,引入了一個替代目標函數(surrogate objective function):
image.png
其中,π_θ 和 π_(θ_old) 分別表示更新后的策略網絡和更新前的參考策略網絡。
上述目標函數明確區分了新舊策略網絡,并以兩者的 KL 散度作為約束條件(KL 散度常用于衡量概率分布之間的差異)。
3.2 近端策略優化(PPO)
基于穩定策略梯度的思想,PPO [5] 通過引入“裁剪后的替代目標函數”(clipped surrogate objective)進一步改進了 TRPO。
具體而言,PPO 首先定義了新舊策略網絡之間的概率比:
image.png
隨后將 TRPO 的目標函數改寫為:
image.png
其中 CPI 表示保守策略迭代框架(Conservative Policy Iteration)。
在此基礎之上,“裁剪后的替代目標函數”可表示為:
image.png
其中:
- min() 中的第一項與 TRPO 相同,即L^{CPI}
- min() 中的第二項會通過超參數 ? 將概率比裁剪至區間[1 ? ?, 1 +?]
PPO 算法通過對未裁剪的和裁剪后的目標函數應用 min() 操作,相當于為原始的“未裁剪目標函數”設定一個下界,從而實現更保守的參數更新,避免訓練過程中出現劇烈波動,從而提升整體穩定性。
PPO 被廣泛應用于大語言模型訓練(如 InstructGPT [6])。然而,該方法仍然存在與前文提到的 actor-critic 方法面臨的相同挑戰。此外,隨著大語言模型規模的持續增長,維護獨立的價值網絡(value network)的成本顯著增加,因為價值網絡的規模通常與策略模型相當。
在下一節中,我們將解釋 GRPO 如何消除對獨立價值網絡的需求。
3.3 群組相對策略優化(GRPO)
GRPO 的核心思想是在保持訓練穩定性的同時消除對獨立價值網絡的需求,這使得 GRPO 成為一種完全基于策略的強化學習方法。
為清晰展示 PPO 與 GRPO 的區別,我們先將 PPO 的目標函數改寫如下:
image.png
其中 q 和 o 分別是從問題數據集和舊策略網絡中采樣的問題和輸出。該目標函數通過基于問題樣本的組別劃分計算均值,使其更容易擴展至 GRPO[3] 中提出的分組結構。
具體來說:
image.png
其中,懲罰項(penalty term)被定義為無偏差的 KL 散度:
image.png
而優勢值 A_i 的計算方式為:
image.png
其中,r_1 至 r_G 表示每組內各輸出對應的獎勵。這種分組結構在 GRPO 中至關重要,因為每個用戶問題(query)都具有獨特性,若直接基于不同用戶問題(query)的全局獎勵計算歸一化后的優勢值,對模型更新的指導意義較弱。
GRPO 與 PPO 的關鍵區別在于:通過使用各組內的相對獎勵來估算優勢函數,完全消除了對獨立價值網絡的需求,使其成為完全基于策略的 RL 方法而非 Actor-Critic 架構。
如前文所述,移除價值網絡顯著降低了訓練資源的需求(因為價值網絡通常與策略模型規模相當)。此外,這一設計還能通過避免優化兩個獨立網絡產生的復雜問題,提高了訓練過程的穩定性。
但為什么這種方法可行呢?
請回顧一下優勢函數的本質:它衡量的是特定動作相較于給定狀態下預期收益的優劣程度。在 PPO 中,這通過價值函數 Q(s,a) 與基線價值函數 V(s) 的差值來估算。
這意味著,只要定義的指標能等價表示「當前動作相對于該狀態預期收益的優劣程度」,即可直接替代傳統優勢函數。
在 GRPO 中,該指標是在每組之內計算的(每組可視為一個 query),因為劃分的這些組本質上代表智能體所處的狀態。因此,通過比較特定動作的獎勵與同組內其他采樣動作的獎勵,GRPO 能夠自然推導出優勢函數的估計值。
下圖對比了 PPO 和 GRPO,注意后者沒有價值模型(value model):
圖 3. PPO vs. GRPO。圖片引自文獻 [3]
以下算法總結了 GRPO 的實現方式:
圖 4. GRPO 算法。圖片引自文獻[3]
4.Summary
本文全面介紹了理解深度求索(DeepSeek)提出的群組相對策略優化(Grouped Relative Policy Optimization, GRPO)技術所需的強化學習基礎概念。
我們首先從宏觀層面探討了強化學習對大語言模型訓練的關鍵作用,強調了其在監督學習之外實現模型輸出與人類偏好保持一致的價值。隨后,探討了強化學習(RL)及基于人類反饋的強化學習(RLHF)的工作原理,說明獎勵模型如何協助大語言模型行為與人類偏好對齊。
為建立堅實的認知基礎,我們介紹強化學習的三大范式——基于價值(value-based)、基于策略(policy-based)以及 actor-critic 方法,分別闡述其優勢、局限性和實際應用場景。
在此基礎上,我們進一步分析了兩種廣泛使用的 actor-critic 方法:置信域策略優化(Trust Region Policy Optimization, TRPO)和近端策略優化(Proximal Policy Optimization, PPO)。最后重點介紹深度求索提出的 GRPO 方法,展示其如何通過分組結構和相對優勢估計(relative advantage estimation)改進 PPO 框架。
Reference
[1] DeepSeek(https://www.deepseek.com/)
[2] DeepSeek-V3 Technical Report(https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf)
[3] DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models(https://arxiv.org/abs/2402.03300)
[4] Trust Region Policy Optimization(https://arxiv.org/abs/1502.05477)
[5] Proximal Policy Optimization Algorithms(https://arxiv.org/abs/1707.06347)
[6] Training Language Models to Follow Instructions with Human Feedback(https://arxiv.org/pdf/2203.02155)
[7] Q-learning(https://en.wikipedia.org/wiki/Q-learning)
[8] Bellman Equation(https://en.wikipedia.org/wiki/Bellman_equation#Bellman's_principle_of_optimality)