「DeepSeek 技术解析」:LLM 训练中的强化学习算法

编者按: 本文首先解析了为什么 LLM 训练需要强化学习,详细讲解了 RL 和 RLHF 的工作原理;继而系统比较基于价值、基于策略和 Actor-Critic 三大强化学习范式的优缺点;最后深入剖析 TRPO 和 PPO 算法,重点展示 GRPO 如何通过分组结构和相对优势估计实现训练效率与稳定性的双重突破。
作者 | Shirley Li
编译 | 岳扬
这是 DeepSeek 系列文章的第六篇,我们将深入探讨 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 进行优化改进
总结
参考文献
01 技术背景
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 模型通过与环境交互获取奖励信号来更新模型。该方法常用于训练机器人保持平衡、行走等场景。
下图展示了强化学习框架的五个核心要素:

图 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 的实现流程,其核心步骤与上述三阶段一致:

图 2. InstructGPT/ChatGPT 训练过程中的 RLHF 步骤示意图。(图片来自文献 [6])
如图所示,RL 过程主要发生在第 3 步,通过近端策略优化(Proximal Policy Optimization, PPO)算法优化策略(policy)。
那么,PPO 算法是如何工作的呢?
为了理解这一点,在下一节中,我们将首先解析强化学习的三大基础范式:基于价值的方法(Value-based)、基于策略的方法(Policy-based)和 Actor-Critic 方法。
02 强化学习范式
在深入研究所有数学细节之前,让我们先来解释一下强化学习背景下的价值函数(value functions)和策略(policy)。
在强化学习中,价值函数(value functions)表示智能体在状态 s 采取动作 a 并遵循策略 π 后,所能获得的预期收益:

其中
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]为例,其价值函数可通过以下公式更新:

其中
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)指智能体用于决定采取何种行为的规则,是状态到行为概率的映射:

其中,策略 π(a|s) 通常是一个可微函数,比如神经网络,而 θ 就是这个神经网络的参数。
因此,与基于价值的强化学习在动作空间中进行搜索不同,基于策略的强化学习在参数空间(θ)中进行搜索,以最大化预期的奖励。
具体而言,基于策略的强化学习通过使用策略梯度算法(policy gradient)进行梯度上升来优化策略网络:

在策略梯度算法中,梯度估计量的数学表达式通常呈现为:

其中 R 是累计收益(即各时间步奖励之和)。
通过引入策略梯度算法,基于策略的强化学习消除了在动作空间计算 argmax 的需求,使其更适用于大规模或连续动作空间的场景。
然而,策略梯度的计算仍然具有挑战性。在围棋等现实世界的强化学习任务中,收益通常取决于整个事件的累计奖励,而且可能包含大量噪声,这会导致策略梯度的方差较大并引发训练的不稳定。
为解决该问题,Actor-Critic 强化学习方法通过结合基于价值和基于策略的方法,降低方差并提升训练的稳定性。
2.3 Actor-Critic 强化学习方法
Actor-Critic 强化学习方法是综合基于价值和基于策略的强化学习方法的优势设计而成,其核心结构包含:
策略网络(称为 Actor)用于选择动作
价值函数(称为 Critic)用于评估动作
由于动作选择由策略网络处理,Actor-Critic 方法同样适用于大规模或连续动作空间。此外,通过引入 Critic 网络,该方法能够降低策略梯度的方差并提升训练稳定性。
具体而言,原始策略梯度中的累计收益 R 被优势函数(Advantage Function)所替代:

其中
Q(s, a) 表示在状态 s 采取动作 a 的预期收益
V(s) 是基线价值函数,用于估计当前状态的预期收益
通过引入基线价值函数 V(s),优势函数通过将每个动作的奖励值减去该状态下的预期收益,实现对奖励的“归一化”,从而稳定学习过程,防止因高方差奖励信号导致的大幅度参数更新。
基于此,策略梯度可被改写为:

Actor-Critic 方法被广泛应用于涉及大规模或连续动作空间的场景,例如 LLM 对齐过程中的 RLHF 训练,以及先进机器人技术和自动驾驶系统的开发。
尽管在许多应用中取得成功,Actor-Critic 方法仍面临训练不稳定和超参数敏感性有关的挑战,因为该方法需要同时训练 Actor 和 Critic 网络,而保持两者之间的平衡更新可能较为困难。
在下一节,我们将解释深度求索(DeepSeek)的 GRPO 方法如何解决这些挑战。
03 群组相对策略优化(GRPO)
为了更好地理解 GRPO,我们先来简要回顾两种启发它的常用 Actor-Critic 方法:置信域策略优化(TRPO)和近端策略优化(PPO)。
3.1 置信域策略优化(TRPO)
如前文所述,Actor-Critic 强化学习方法通过用优势函数计算策略梯度的估计值来优化策略网络,其梯度估计值可通过微分以下目标函数获得:

这种方法的一个缺点是容易导致策略更新幅度过大,从而导致强化学习过程的不稳定。 为解决这一问题,TRPO [4] 通过限制策略更新的幅度,引入了一个替代目标函数(surrogate objective function):

其中,π_θ 和 π_(θ_old) 分别表示更新后的策略网络和更新前的参考策略网络。
上述目标函数明确区分了新旧策略网络,并以两者的 KL 散度作为约束条件(KL 散度常用于衡量概率分布之间的差异)。
3.2 近端策略优化(PPO)
基于稳定策略梯度的思想,PPO [5] 通过引入“裁剪后的替代目标函数”(clipped surrogate objective)进一步改进了 TRPO。
具体而言,PPO 首先定义了新旧策略网络之间的概率比:

随后将 TRPO 的目标函数改写为:

其中 CPI 表示保守策略迭代框架(Conservative Policy Iteration)。
在此基础之上,“裁剪后的替代目标函数”可表示为:

其中:
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 的目标函数改写如下:

其中 q 和 o 分别是从问题数据集和旧策略网络中采样的问题和输出。该目标函数通过基于问题样本的组别划分计算均值,使其更容易扩展至 GRPO[3] 中提出的分组结构。
具体来说:

其中,惩罚项(penalty term)被定义为无偏差的 KL 散度:

而优势值 A_i 的计算方式为:

其中,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]
04 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 框架。
下一篇文章我们将深入解读 DeepSeek 的训练流程,包括预训练(pretraining)、微调(fine-tuning)以及基于 GRPO 的 RLHF 对齐阶段,揭示这些环节如何协同优化模型性能。
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)
About the author
Shirley Li
I am a Machine Learning Engineer working on building multi-modality models to solve real-world problems.
END
本期互动内容 🍻
❓用一句话形容你对 GRPO 的第一印象!🚀(比如:更稳的 PPO?PPO Pro?)
本文经原作者授权,由 Baihai IDP 编译。如需转载译文,请联系获取授权。
原文链接:
版权声明: 本文为 InfoQ 作者【Baihai IDP】的原创文章。
原文链接:【http://xie.infoq.cn/article/666d1e0ca9c8d28aa587b509b】。文章转载请联系作者。
评论