问题、概率空间与记号

先固定本章处理的对象。设 qpDq\sim p_{\mathcal D} 是条件输入,例如题目、初始状态或任务实例。给定 qq,策略产生一个有限长度输出(或一条终止轨迹)

o=(o1,,oT),T=o.o=(o_1,\ldots,o_T),\qquad T=|o|.

对自回归策略,完整输出的条件概率由链式法则定义:

πθ(oq)=t=1Tπθ(otq,o<t),logπθ(oq)=t=1Tlogπθ(otq,o<t).\pi_\theta(o\mid q)=\prod_{t=1}^{T}\pi_\theta(o_t\mid q,o_{<t}), \qquad \log\pi_\theta(o\mid q)=\sum_{t=1}^{T}\log\pi_\theta(o_t\mid q,o_{<t}).

评分器给完整输出一个终端奖励 R(q,o)RR(q,o)\in\mathbb R。它可以是验证器、环境回报或奖励模型,也不要求对 θ\theta 可微。策略的未正则化目标为

J(θ)=EqpDEoπθ(q)[R(q,o)].J(\theta)=\mathbb E_{q\sim p_{\mathcal D}}\mathbb E_{o\sim\pi_\theta(\cdot\mid q)}[R(q,o)].

以下先按离散输出空间书写。连续输出时把求和换成相对于同一基准测度的积分。还假设:在考虑的支持集内 πθ(oq)>0\pi_\theta(o\mid q)>0,使 logπθ\log\pi_\theta 与概率比值有定义;并且可将 θ\nabla_\theta 移入期望。有限词表、有限截断长度及常见平滑神经网络通常满足这套记号下的要求。

定义本章三种策略

一次外层迭代中同时出现三种分布:πθold\pi_{\theta_{\rm old}} 是采样本轮数据的行为策略πθ\pi_\theta 是内层更新中变化的待优化策略πref\pi_{\rm ref} 是定义长期 KL 锚点的固定参考策略。前两者只在内层更新开始时相同。

命题终端奖励下的策略梯度恒等式

在上述条件下,

θJ(θ)=Eq,o[R(q,o)θlogπθ(oq)]=Eq,o[R(q,o)t=1oθlogπθ(otq,o<t)].\nabla_\theta J(\theta)= \mathbb E_{q,o}\left[R(q,o)\nabla_\theta\log\pi_\theta(o\mid q)\right] = \mathbb E_{q,o}\left[R(q,o)\sum_{t=1}^{|o|}\nabla_\theta\log\pi_\theta(o_t\mid q,o_{<t})\right].
证明

固定 qq,先对输出求和:

θoπθ(oq)R(q,o)=oπθ(oq)θlogπθ(oq)R(q,o).\nabla_\theta\sum_o\pi_\theta(o\mid q)R(q,o) = \sum_o\pi_\theta(o\mid q)\nabla_\theta\log\pi_\theta(o\mid q)R(q,o).

这里使用 p=plogp\nabla p=p\nabla\log p;再用上面的链式分解,最后对 qq 取期望即可。没有对 RR 求导,梯度穿过的是策略诱导的采样分布。

这条恒等式是 GRPO 的起点。后面的 advantage、clip 和 KL 项分别承担方差控制、近端近似与正则化的职责,并不替代它。

GRPO 一轮更新中的组采样、局部策略改进与参考 KL

图中有两条不应混淆的约束线:πθold\pi_{\theta_{\rm old}} 只服务于本轮采样与局部概率比值,πref\pi_{\rm ref} 则服务于跨迭代的参考 KL。组内奖励替代的是 critic 所估计的 baseline,不是对终端奖励本身做额外监督。

第二个模型

近端策略优化一章最后得到的目标,允许同一批数据被重用 KK 次,并用概率比值上的 clip 限制每个样本继续推动更新的动机:

LCLIP(θ)=Et[min(rt(θ)A^t, clip(rt(θ),1ϵ,1+ϵ)A^t)].L^{\mathrm{CLIP}}(\theta) = \mathbb{E}_t \Big[ \min\big( r_t(\theta)\,\widehat A_t, \ \operatorname{clip}\big(r_t(\theta), 1-\epsilon, 1+\epsilon\big)\,\widehat A_t \big) \Big].

这一行里只剩一个符号尚未追溯来源:A^t\widehat A_t。上一章把它作为已有部件写成 A^t=Gtb(st)\widehat A_t = G_t - b(s_t),其中 b(st)=Vπ(st)b(s_t) = V^\pi(s_t),并证明了减去与动作无关的 baseline 不会改变策略梯度的期望。真正训练时,VπV^\pi 通常由第二个神经网络近似。

advantage 估计藏着什么

完整的 PPO 通常用 Generalized Advantage Estimation 计算 advantage:它把观测到的奖励与学习得到的价值函数 Vψ(st)V_\psi(s_t) 结合起来;VψV_\psi 与策略同时训练,通过回报回归获得监督。critic 并不是一个无关紧要的附属模块。它需要自己的前向与反向传播、优化器状态和误差控制。PPO 因而是 actor-critic 方法,critic 正是上一章被压缩进 A^t\widehat A_t 的那一半。

因此,PPO 的训练成本不只来自策略,还来自 critic。策略是最终保留的模型;critic 的职责是提供降低策略梯度方差的 baseline,训练结束后通常不再使用。在大模型实践中,critic 常接近策略模型的规模,因而会显著增加每次更新的显存和计算成本。具体增幅取决于实现,不能简单视为固定的两倍。

在本系列关注的终端奖励任务中,这项额外成本还伴随一个更根本的建模困难。关键在于奖励出现的时机。

终端奖励使 critic 更难学习

本章讨论的设定中,一条轨迹是一整段生成序列。奖励只在末尾给出一个标量:补全完成后才评分,证明写完后才验证;中间没有逐步奖励。

逐 token 的价值函数于是必须在每个中间 token 处,预测尚未完成的序列最终会得到多少回报。唯一的监督信号可能在数千个 token 之后才到,生成越长,这个回归问题通常越困难。critic 因而不只昂贵;在终端奖励下,它还承担着一个统计上很难的预测任务。

本章的问题是:不学习第二个网络,能否仍然获得 baseline 所带来的方差削减?

value baseline 带来的方差削减,能不能在不学一个价值函数的前提下拿到?

可以,但代价是以额外采样替代模型容量。下面将推导这项替代成立的原因,以及它带来的近似与成本。

一个可以采出来的 baseline

整个方法依赖于策略梯度中的一条基本事实。两章前已经证明过,这里重述一次,因为 GRPO 的核心就是对它作一次替换。

命题任何与动作无关的 baseline 都是无偏的

对任何只依赖状态、不依赖动作的函数 bb

Eaπθ(s)[θlogπθ(as)b(s)]=0,\mathbb{E}_{a \sim \pi_\theta(\cdot\mid s)}\big[\nabla_\theta \log \pi_\theta(a\mid s)\, b(s)\big] = 0,

所以在策略梯度里从回报中减去 b(s)b(s),既不改变梯度的期望,也不改变它的方向。

证明

b(s)b(s)aa 无关,把它从对动作的期望里提出来,再把 log 导数那步倒着用一次:

Ea[θlogπθ(as)]=aπθ(as)θπθ(as)πθ(as)=θaπθ(as)=θ1=0.\mathbb{E}_{a}\big[\nabla_\theta \log \pi_\theta(a\mid s)\big] = \sum_a \pi_\theta(a\mid s)\,\frac{\nabla_\theta \pi_\theta(a\mid s)}{\pi_\theta(a\mid s)} = \nabla_\theta \sum_a \pi_\theta(a\mid s) = \nabla_\theta 1 = 0.

零向量乘 b(s)b(s) 还是零。

最常用、语义也最清楚的 baseline 是状态价值 Vπ(s)=Eaπ[Qπ(s,a)]V^\pi(s) = \mathbb{E}_{a\sim\pi}[Q^\pi(s,a)]:它将回报中心化到当前策略在该状态下的预期。PPO 通过 critic 学习这个量。不过,Vπ(s)V^\pi(s) 并非在任意策略参数化下都严格最小化梯度估计的方差。一般的最小方差 baseline 还会按得分函数的平方范数加权;只有在该权重与回报无关等条件下,它才退化为普通的条件期望 [1][1] E. Greensmith, P. L. Bartlett, and J. Baxter, “Variance Reduction Techniques for Gradient Estimates in Reinforcement Learning,” Journal of Machine Learning Research, vol. 5, pp. 1471–1530, 2004. https://jmlr.org/papers/v5/greensmith04a.html。这里选择 VπV^\pi,依据是它自然、可学习且通常有效,而不是宣称它无条件最优。

关键替换及其适用条件

对本章的条件生成设定,qq 是一组轨迹共同出发的条件输入。策略从同一个 qq 独立生成完整输出,因而初始条件下的价值为

Vπ(q)=Eoπ(q)[R(q,o)].V^\pi(q) = \mathbb{E}_{o \sim \pi(\cdot\mid q)}\big[R(q,o)\big].

与其训练网络预测这个条件期望,也可以从同一个 qq 直接采样 GG 条独立输出 o1,,oGo_1,\dots,o_G,分别评分后取均值:

b(q)    1Gj=1GR(q,oj).b(q) \;\approx\; \frac{1}{G}\sum_{j=1}^{G} R(q,o_j).

策略梯度更新本来就需要这些样本。将它们放在一起,便得到 Vπ(q)V^\pi(q) 的 Monte Carlo 估计,不必再由 critic 另行预测。对一般 MDP,采用这项替换还要求环境能从同一状态重置并采出多条独立的后续轨迹;若只能得到彼此经过不同状态的一批轨迹,组均值并不是每个中间状态 sts_t 的价值估计。

这就是 GRPO 的基本想法:PPO 学习 baseline,GRPO 用同一条件输入下的成组样本估计 baseline。在语言模型应用里,这对应为每个 prompt 采样一组补全 [2][2] Z. Shao, P. Wang, Q. Zhu, R. Xu, J. Song, X. Bi, H. Zhang, M. Zhang, Y. K. Li, Y. Wu, and D. Guo, “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models,” arXiv:2402.03300, 2024. https://arxiv.org/abs/2402.03300

命题留一法群体 baseline 的无偏性

给定同一个 qq,令 o1,,oGiidπθ(q)o_1,\ldots,o_G\overset{\rm iid}{\sim}\pi_\theta(\cdot\mid q),并记 Ri=R(q,oi)R_i=R(q,o_i)。定义

Rˉi=1G1jiRj.\bar R_{-i}=\frac{1}{G-1}\sum_{j\ne i}R_j.

Rˉi\bar R_{-i}oio_i 条件独立,故

E ⁣[(RiRˉi)θlogπθ(oiq)q]=θEoπθ(q)[R(q,o)].\mathbb E\!\left[\bigl(R_i-\bar R_{-i}\bigr) \nabla_\theta\log\pi_\theta(o_i\mid q)\mid q\right] = \nabla_\theta\mathbb E_{o\sim\pi_\theta(\cdot\mid q)}[R(q,o)].
证明

条件于 qqRˉi\bar R_{-i} 只由其余 G1G-1 个独立输出决定,所以它满足前面 baseline 定理的“与当前输出无关”条件。第一项则是终端奖励策略梯度恒等式。两项相减即得结论。

一处诚实的依赖

baseline 定理要求 bb 与正在评分的输出无关。完整组均值 Rˉ=G1jRj\bar R=G^{-1}\sum_jR_j 包含 RiR_i,因而不满足这一条件。若暂不除以标准差,则

RiRˉ=G1G(RiRˉi).R_i-\bar R=\frac{G-1}{G}\bigl(R_i-\bar R_{-i}\bigr).

所以它的期望梯度只是留一法目标的 (G1)/G(G-1)/G 倍,方向相同但尺度不同。原始 GRPO 再除以同一组的随机标准差;此时权重依赖 oio_i,上面的无偏证明不再适用。这是有意的方差缩放启发式,而不是 baseline 定理保证的无偏估计器。去掉 critic 的明确交换条件是:更多 rollout,加上一项通常实用但有偏的组内归一化。

群体相对的 advantage

减掉组内均值,得到一个中心化的奖励。GRPO 再往前走一步,用组内的离散程度做一次归一化。

定义群体相对 Advantage(结果监督)

对一个 qq,从行为策略独立采 GG 个输出,记 Ri=R(q,oi)R_i=R(q,o_i),并定义

Rˉ=1Gj=1GRj,sR=1Gj=1G(RjRˉ)2.\bar R=\frac1G\sum_{j=1}^G R_j, \qquad s_R=\sqrt{\frac1G\sum_{j=1}^G(R_j-\bar R)^2}.

实践中加数值稳定常数 δ>0\delta>0。原始结果监督形式把同一个序列级系数分配给 oio_i 的每个 token:

A^i,t=A^i=RiRˉsR+δ,1toi.\widehat A_{i,t}=\widehat A_i= \frac{R_i-\bar R}{s_R+\delta}, \qquad 1\le t\le|o_i|.

这个归一化形式包含两步,它们的理论地位并不相同。

分子 RiRˉR_i-\bar R 是上一节的 baseline 减法。它将终端奖励中心化,可视为对 Aπ=QπVπA^\pi = Q^\pi - V^\pi 的组采样近似:一个输出相对于当前策略在该条件输入上的平均表现高出或低了多少。高于平均则为正,低于平均则为负。它表达的是相对比较,而不是绝对分数。

分母 std(r)\operatorname{std}(\mathbf{r}) 则不属于这条 baseline 论证。

标准差是什么,又不是什么

除以 std(r)\operatorname{std}(\mathbf{r}),会在 advantage 进入梯度前将每个 prompt 的组内尺度归一化。其动机是实用性的:不同 prompt 的奖励离散程度不同;若不归一化,组内波动大的 prompt 会贡献幅度更大的梯度。归一化将它们放到相近的尺度上,可理解为一种按 prompt 调节的有效步长。

不过,它不属于无偏 baseline 的结论。将 advantage 乘以正标量 1/std(r)1/\operatorname{std}(\mathbf{r}) 不会改变符号或组内排序,却会重新分配不同 prompt 对 θ\theta 的影响:奖励方差较小的组会被放大。这是一个有意采用的启发式,而非无偏性定理。阅读时应将两者区分开:分子来自 baseline 的思想,分母是叠加其上的缩放选择。

oio_i 的每个 token 都使用同一个 A^i,t\widehat A_{i,t},因为奖励只在序列末尾给出一个标量,需要广播到该补全的所有 token。这样的信用分配非常粗粒度:一段好补全中的每个 token 都被同等强化。这正是终端奖励本身所能提供的信息粒度,也是逐 token critic 试图进一步细化的部分。

过程监督:一次细化

若奖励可在每个推理步骤结束时给出,而不只在整段输出结束时给出,同一构造可在更细的粒度上使用:先对步骤奖励做组内归一化,再将每个 token 的 advantage 设为其后所有步骤归一化奖励之和。这样可以恢复部分轨迹内的信用分配,而无须重新引入学习得到的价值函数。它只是对 advantage 的细化;本章其余部分保持不变。

参考策略

移除 critic 后,目标还缺少一项。这一项与上一章讨论的 KL 有关,但承担的是不同职责。

在本系列讲解的 PPO clip 变体中,KL 散度衡量 πθ\pi_\thetaπθold\pi_{\theta_{\text{old}}},即上一个迭代策略之间的差异。它主要是诊断量:用来判断样本重用是否偏离得过远,从而监测重要性采样所需的局部性。真正改变目标形状的是 clip,而非该诊断式 KL。

GRPO 中引入的 KL 则是面向固定参考策略的正则项。

定义KL 正则化目标

πref\pi_{\text{ref}} 是一个固定的参考策略,通常是微调起点处的模型。目标是在贴近这个参考的同时最大化奖励:

J(θ)=Eoπθ[r(q,o)]βKL(πθπref).\mathcal{J}(\theta) = \mathbb{E}_{o \sim \pi_\theta}\big[r(q,o)\big] - \beta\,\mathrm{KL}\big(\pi_\theta \,\Vert\, \pi_{\text{ref}}\big).

它与 PPO 中的诊断式 KL 有三项关键区别:

  • 第二个参数固定。 πref\pi_{\text{ref}} 不随训练更新;它是冻结的锚点,而非上一步的参数。它约束策略不要远离微调的出发点,而非只要求相邻两步彼此接近。
  • 它直接进入目标。 βKL\beta\,\mathrm{KL} 是被优化的项,梯度直接作用于 θ\theta,而不是训练过程中的监控指标。
  • 它解决的问题不同。 PPO 的 KL 用于监测样本重用是否仍在局部范围内;参考 KL 则抑制策略过度利用奖励函数的漏洞。无论奖励来自学习得到的模型还是规则验证器,它都只是任务目标的代理,过度优化都可能使策略离开原模型仍然可靠的区域。
这就是两章共享的那个目标

J(θ)\mathcal{J}(\theta) 是本系列后半段的共同目标。GRPO 通过采样、评分、估计 advantage 和梯度更新来近似优化它。下一章的 Direct Preference Optimization 将从同一目标出发,利用偏好数据推导闭式形式,从而避免显式的采样强化学习循环。后续方法的差别,归根结底在于如何优化这一目标。

还有一个容易忽略的设计差异。早期 RLHF 的 PPO 微调常将 KL 惩罚折入奖励,在计算 advantage 前从得分中减去逐 token 的 βlogπθπref\beta \log \frac{\pi_\theta}{\pi_{\text{ref}}} [3][3] L. Ouyang, J. Wu, X. Jiang, D. Almeida, C. Wainwright, P. Mishkin, C. Zhang, S. Agarwal, K. Slama, A. Ray, J. Schulman, J. Hilton, F. Kelton, L. Miller, M. Simens, A. Askell, P. Welinder, P. Christiano, J. Leike, and R. Lowe, “Training Language Models to Follow Instructions with Human Feedback,” arXiv:2203.02155, 2022. https://arxiv.org/abs/2203.02155。GRPO 则将 KL 直接加入损失,使 advantage 仅由任务奖励决定。两种记账并不等价:在后者中,组内归一化作用于未混入 KL 的奖励信号,而散度作为独立项受到正则化。

估计这个散度

目标需要 KL(πθπref)\mathrm{KL}(\pi_\theta \Vert \pi_{\text{ref}})。其定义涉及每个 token 位置上的完整词表分布,实际训练中通常改用采样 token 的估计量。这里的估计方式并非无关紧要。

先固定前缀 h=(q,o<t)h=(q,o_{<t})。按定义,KL(πθ(h)πref(h))=Eaπθ(h)[logπθ(ah)πref(ah)]\mathrm{KL}(\pi_\theta(\cdot\mid h)\Vert\pi_{\text{ref}}(\cdot\mid h))=\mathbb E_{a\sim\pi_\theta(\cdot\mid h)}[\log\frac{\pi_\theta(a\mid h)}{\pi_{\text{ref}}(a\mid h)}]。直接用该被积项的单样本估计只在当前策略采样时无偏,且可能为负。整体 KL 必然非负,因此正则项会带来符号不稳定的噪声。GRPO 常使用下面的 k3k_3 被积函数。

定义$k_3$ KL 估计量

对固定前缀 h=(q,o<t)h=(q,o_{<t}),并在 aπθ(h)a\sim\pi_\theta(\cdot\mid h) 时,记

ρθ(a;h)=πref(ah)πθ(ah).\rho_\theta(a;h)=\frac{\pi_{\text{ref}}(a\mid h)}{\pi_\theta(a\mid h)}.

这里故意采用参考策略除以当前策略的倒数比值,不要与 PPO surrogate 中的 πθ/πθold\pi_\theta/\pi_{\theta_{\rm old}} 混为一谈。逐 token 的 k3k_3 被积函数是

fk3(a;h)=ρθ(a;h)logρθ(a;h)1.f_{k_3}(a;h)=\rho_\theta(a;h)-\log\rho_\theta(a;h)-1.

它保留了无偏性,同时具有朴素估计量不具备的非负性 [4][4] J. Schulman, “Approximating KL Divergence,” 2020. http://joschu.net/blog/kl-approx.html

命题在当前策略采样条件下,$k_3$ 非负且无偏

对每一个 token,fk3(a;h)0f_{k_3}(a;h)\ge0,等号成立当且仅当该 token 在两策略下的条件概率相同,即 ρθ(a;h)=1\rho_\theta(a;h)=1。而仅当 aπθ(h)a\sim\pi_\theta(\cdot\mid h) 时,

E[fk3(a;h)]=KL(πθ(h)πref(h)).\mathbb{E}\big[f_{k_3}(a;h)\big] = \mathrm{KL}\big(\pi_\theta(\cdot\mid h) \,\Vert\, \pi_{\text{ref}}(\cdot\mid h)\big).
证明

以下固定 hh,并为简洁起见记 ρ=ρθ(a;h)\rho=\rho_\theta(a;h)

非负。 对任何 ρ>0\rho > 0 都有 logρρ1\log \rho \le \rho - 1,等号只在 ρ=1\rho = 1 时成立(这就是凹函数 log\logρ=1\rho=1 处的切线)。移项得到 ρlogρ10\rho - \log \rho - 1 \ge 0。这里 ρ=1\rho = 1 只表示被采样 token 的条件概率相同;只有对整个分布取期望后为零,才能推出两个条件分布一致。

无偏。 把期望拆成三项。第一项,

Eotπθ[ρ]=otπθ(ot)πref(ot)πθ(ot)=otπref(ot)=1,\mathbb{E}_{o_t\sim\pi_\theta}[\rho] = \sum_{o_t} \pi_\theta(o_t)\,\frac{\pi_{\text{ref}}(o_t)}{\pi_\theta(o_t)} = \sum_{o_t} \pi_{\text{ref}}(o_t) = 1,

就是 PPO 那章用过的「比值平均恒为一」,只不过这回参考策略在分子上。第二项,

Eotπθ[logρ]=Eotπθ[logπθ(ot)πref(ot)]=KL(πθπref),\mathbb{E}_{o_t\sim\pi_\theta}[-\log\rho] = \mathbb{E}_{o_t\sim\pi_\theta}\left[\log\frac{\pi_\theta(o_t)}{\pi_{\text{ref}}(o_t)}\right] = \mathrm{KL}(\pi_\theta \Vert \pi_{\text{ref}}),

按 KL 的定义就是它。第三项是常数 1-1。相加即得结论。

GRPO 的旧样本边界

GRPO 的 rollout 来自 πθold\pi_{\theta_{\rm old}},不是每个内层梯度步的 πθ\pi_\theta。因此,把旧 batch 的 token 直接代入 fk3f_{k_3} 时,只有在内层起点 θ=θold\theta=\theta_{\rm old} 才满足上面的无偏条件;后续更新中,它是近端 surrogate,而不是当前 KL 的无偏 Monte Carlo 估计。若要严格无偏,必须从当前策略重采样,或加入相应的重要性权重,代价是更高方差。PPO/GRPO 用 clip 与有限内层步数接受这一折中。

目标与算法

将这些部分合在一起,便得到 GRPO 目标:PPO 的 clipped surrogate、由组内比较得到的 advantage,以及显式的参考 KL 项。

先说明这不是对 J(θ)J(\theta) 的逐项精确重写。本轮数据由 πθold\pi_{\theta_{\rm old}} 采集,内层更新用重要性比值

ri,t(θ)=πθ(oi,tq,oi,<t)πθold(oi,tq,oi,<t).r_{i,t}(\theta)= \frac{\pi_\theta(o_{i,t}\mid q,o_{i,<t})} {\pi_{\theta_{\rm old}}(o_{i,t}\mid q,o_{i,<t})}.

πθ=πθold\pi_\theta=\pi_{\theta_{\rm old}},它等于 11;离开采样策略越远,重要性权重方差越大。clip 以有偏的 surrogate 换取局部更新稳定性。下式的期望明确地对 qpDq\sim p_{\mathcal D}{oi}i=1Giidπθold(q)\{o_i\}_{i=1}^G\overset{\rm iid}{\sim}\pi_{\theta_{\rm old}}(\cdot\mid q) 取;固定 batch 后,实际优化的是它的经验均值。

定义GRPO 目标
JGRPO(θ)=E[1Gi=1G1oit=1oi[min(ri,t(θ)A^i,t, clip(ri,t(θ),1ϵ,1+ϵ)A^i,t)βKL^i,t]]\mathcal{J}^{\mathrm{GRPO}}(\theta) = \mathbb{E}\Bigg[ \frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_i|}\sum_{t=1}^{|o_i|} \Bigg[ \min\Big( r_{i,t}(\theta)\,\widehat A_{i,t},\ \operatorname{clip}\big(r_{i,t}(\theta), 1-\epsilon, 1+\epsilon\big)\,\widehat A_{i,t} \Big) - \beta\,\widehat{\mathrm{KL}}_{i,t} \Bigg] \Bigg]

其中 ri,t(θ)r_{i,t}(\theta) 是逐 token 重要性比值,A^i,t\widehat A_{i,t} 是上节定义的群体相对 advantage,KL^i,t\widehat{\mathrm{KL}}_{i,t} 以当前策略和参考策略在同一前缀条件下的 token 概率计算。序列长度归一化 1/oi1/|o_i| 是一种样本加权约定:它使每条输出而非每个 token 在 surrogate 中近似等权;不同实现可能采用 token 平均或不做长度归一化,因而目标数值与有效学习率不可直接横比。

与 PPO 的 LCLIPL^{\mathrm{CLIP}} 对照,变化有两处:advantage A^i,t\widehat A_{i,t} 换成群体相对的量,不再需要 critic;目标末尾加入 βKL^i,t-\beta\,\widehat{\mathrm{KL}}_{i,t},使参考策略成为显式锚点。clip 的作用与局限则完全继承自上一章:它只会在带外移除单个样本继续推动更新的梯度,并不构成对整体 KL 的严格约束。

算法循环仍然遵循 PPO 的结构,只是以组采样和组内 advantage 估计替代 critic 训练。

算法 1 GRPO(结果监督)

Require: 初始策略 πθ\pi_\theta、奖励函数 rr、prompt 集 D\mathcal{D}、组大小 GG、稳定常数 δ\delta、clip 宽度 ϵ\epsilon、KL 权重 β\beta、内层轮数 μ\mu、步长 α\alpha

1:πrefπθ\pi_{\text{ref}} \gets \pi_\theta // 冻结 KL 项的锚点

2:repeat

3:πθoldπθ\pi_{\theta_{\text{old}}} \gets \pi_\theta

4:采一批 prompt qDq \sim \mathcal{D}

5:对每个 qq,采一组 {oi}i=1Gπθold(q)\{o_i\}_{i=1}^{G} \sim \pi_{\theta_{\text{old}}}(\cdot \mid q)

6:给每个输出打分:rir(q,oi)r_i \gets r(q, o_i)

7:A^i,trimean(r)std(r)+δ\widehat A_{i,t} \gets \dfrac{r_i - \operatorname{mean}(\mathbf{r})}{\operatorname{std}(\mathbf{r}) + \delta},对 oio_i 的所有 token tt

8:for k1k \gets 1 to μ\mu do

9:θθ+αθJGRPO(θ)\theta \gets \theta + \alpha \nabla_\theta \mathcal{J}^{\mathrm{GRPO}}(\theta)

10:end for

11:until 收敛

被移除的是完整的 actor-critic 价值学习流程:没有 value network、价值前向、价值损失或价值优化器状态。代价则转移到采样上:每个 prompt 需要生成 GG 个补全,而非一个。组采样让同一批补全承担两项职责,既作为策略梯度的样本,也用于估计 baseline。究竟更省资源取决于模型规模、生成长度、组大小与具体系统实现。

刷新锚点

标准设定在训练起点冻结一次 πref\pi_{\text{ref}},使整个训练过程优化同一个静态正则化目标。若定期把参考策略刷新为当前策略,锚点会分段移动,此时优化的是一列相继变化的目标,而不再是上文定义的单个静态 J(θ)\mathcal J(\theta)。无论采用哪种设定,都要把它与每个外层迭代都会更新的 πθold\pi_{\theta_{\text{old}}} 区分开。

应用:在语言模型上做强化学习

到目前为止,推导并不依赖智能体是否为语言模型,但它依赖一种更具体的采样结构:对同一个条件输入或可重置状态,策略必须能独立采出一组具有可比较终端回报的轨迹。满足这一条件的条件生成、可重置控制和仿真任务都能采用同样的组内估计。若一般 MDP 不能从相同中间状态重复采样,就不能直接把组均值解释成逐状态 critic 的替代品。GRPO 最常见的应用场景仍是语言模型后训练,因此下面将这些抽象对象逐一映射回语言模型。

以下四个问题完成这一映射。

如何将 Markov 决策过程映射到语言模型? 对应关系如下:

RL 对象语言模型里的具现
初始状态 s1s_1prompt qq
动作 ata_t下一个 token oto_t
状态 sts_tprompt 加上目前为止的 token,(q,o<t)(q, o_{<t})
转移 p(st+1st,at)p(s_{t+1}\mid s_t,a_t)确定性的:把 oto_t 接到上下文后面
轨迹 τ\tau完整补全 o=(o1,,oT), T=oo = (o_1,\dots,o_T),\ T=\lvert o\rvert
终端奖励给完整补全的标量得分 r(q,o)r(q, o)

这里最特别的是转移:将 oto_t 接到上下文后是确定的,因此一般 MDP 中的环境随机性 p(st+1st,at)p(s_{t+1}\mid s_t,a_t) 消失了。一次 rollout 的随机性只来自策略对 token 的采样;整段生成就是一条轨迹。

动作空间是什么,奖励由谁给出? 动作空间是词表;策略 πθ(otq,o<t)\pi_\theta(o_t \mid q, o_{<t}) 就是语言模型在词表上的下一 token 分布。无需另建策略网络,被微调的语言模型本身就是策略。奖励函数可以是学习得到的奖励模型 rφr_\varphi,也可以是数学答案验证器、程序单元测试等规则函数。后一类可验证奖励正是 GRPO 的重要应用背景 [2][2] Z. Shao, P. Wang, Q. Zhu, R. Xu, J. Song, X. Bi, H. Zhang, M. Zhang, Y. K. Li, Y. Wu, and D. Guo, “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models,” arXiv:2402.03300, 2024. https://arxiv.org/abs/2402.03300

token 在目标中如何被对待? 概率比值 ri,tr_{i,t}、clip 和 KL 估计都是逐 token 计算的,而结果监督的奖励是逐序列给出的。处理方式是将归一化后的序列奖励广播到该补全的所有 token,因此同一输出内的 A^i,t\widehat A_{i,t}tt 为常数。这与逐 token critic 面对的是同一限制:终端信号本身不提供更细的信用分配。

人类偏好从何处进入? 当奖励来自模型时,rφr_\varphi 会预先在人工比较数据上训练。这一设置构成 RLHF;它不是 GRPO 的必要条件,却是理解下一章 DPO 的必要前提。

定义偏好奖励模型

给标注者一个 prompt qq 和两段补全,询问其偏好,得到三元组数据 (q,ow,ol)(q, o_w, o_l)。其中 owo_w 是被偏好的补全,olo_l 是未被偏好的补全。在 Bradley-Terry 模型下,owo_w 被偏好的概率设为

P(owolq)=σ(rφ(q,ow)rφ(q,ol)),P(o_w \succ o_l \mid q) = \sigma\big(r_\varphi(q, o_w) - r_\varphi(q, o_l)\big),

其中 σ\sigma 是 logistic 函数。奖励模型 rφr_\varphi 通过最大化观测偏好的似然来训练,即最小化 [5][5] R. A. Bradley and M. E. Terry, “Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons,” Biometrika, vol. 39, no. 3/4, pp. 324–345, 1952. https://doi.org/10.1093/biomet/39.3-4.324

L(φ)=E(q,ow,ol)[logσ(rφ(q,ow)rφ(q,ol))].\mathcal{L}(\varphi) = -\,\mathbb{E}_{(q,o_w,o_l)}\big[\log \sigma\big(r_\varphi(q,o_w) - r_\varphi(q,o_l)\big)\big].

模型学习的是标量得分,其差值复现人的选择。该似然只约束差值:对于同一个 prompt,所有得分同时加上一个常数不会改变 Bradley-Terry 似然。因此 rφr_\varphi 只确定到逐 prompt 的加法常数。这一不确定性将在下一章的推导中相消。

有了奖励模型,三个阶段、以及模型之间数据怎么流,长这样:

从监督微调、奖励建模到 GRPO 微调的三阶段数据流

这张图展示了 RLHF 管线中模型与数据的流向。监督微调模型可分别用于初始化奖励模型、策略和冻结的参考策略。GRPO 阶段只更新策略,奖励模型与参考策略保持冻结。偏好数据只用于训练奖励模型,之后通过 rφr_\varphi 的评分间接影响策略。

一次 rollout,也就是 RL 目标所定义的轨迹,对应一次从左到右的生成;得分只在末尾给出:

自回归 rollout、终端奖励与序列级 advantage 广播

至此,抽象对象的对应关系就明确了:token 是动作,逐步增长的上下文是状态,完整补全是轨迹,终端奖励被广播回该轨迹中的 token。

一个梯度,众多方法

还可以从统一的视角理解 GRPO、PPO 与下一章的方法。它们都可写成如下形式:

θJ(θ)=E(q,o)D[1ot=1oGC(q,o,t)梯度系数θlogπθ(otq,o<t)].\nabla_\theta \mathcal{J}(\theta) = \mathbb{E}_{(q,o)\sim \mathcal{D}} \left[ \frac{1}{|o|}\sum_{t=1}^{|o|} \underbrace{GC(q,o,t)}_{\text{梯度系数}}\, \nabla_\theta \log \pi_\theta(o_t \mid q, o_{<t}) \right].

这里每个方法都可写成作用于生成序列的加权对数似然梯度。GC>0GC>0 时提高相应 token 的对数概率,GC<0GC<0 时降低它;方法之间的主要差别在于如何构造这个带符号权重,以及数据 D\mathcal{D} 来自哪里。

方法数据来源梯度系数 GCGC
监督微调固定示范11
拒绝采样模型的正确样本1[o 正确]\mathbb{1}[o \text{ 正确}]
PPOon-policy 样本AtA_t(critic advantage)
GRPOon-policy 组由组 advantage、clip 门控和参考 KL 梯度共同决定
DPO偏好对一个偏好权重(下一章)

从这个角度看,强化学习微调可理解为带权的模仿:监督微调对示范等权学习;拒绝采样只保留正确样本;PPO 与 GRPO 对 on-policy 样本按相对表现加权。采样循环、奖励函数、advantage 和 clip 的作用,都是为了构造每个 token 的权重 GCGC

通往下一章的门

既然这套机制的目的在于构造权重,自然会问:能否直接从偏好数据得到它?下一章将从同一 KL 正则化目标出发,推导出闭式的偏好优化形式,不再需要显式的采样循环、奖励模型和 advantage。GRPO 移除了 critic;Direct Preference Optimization 进一步移除了在线强化学习循环。

延伸阅读

本章使用了近端策略优化中的 clipped surrogate、概率比值与 clip 的局限,也使用了策略梯度中的 baseline 定理和 advantage。

本章中段建立的 KL 正则化目标是下一章的出发点。DPO 不再通过采样优化它,而是从偏好对中推导闭式目标。这里定义的 Bradley-Terry 奖励模型也会被下一章绕开,其中逐 prompt 的加法不确定性正是推导中相消的量。

参考文献

  1. [1] E. Greensmith, P. L. Bartlett, and J. Baxter, “Variance Reduction Techniques for Gradient Estimates in Reinforcement Learning,” Journal of Machine Learning Research, vol. 5, pp. 1471–1530, 2004. https://jmlr.org/papers/v5/greensmith04a.html
  2. [2] Z. Shao, P. Wang, Q. Zhu, R. Xu, J. Song, X. Bi, H. Zhang, M. Zhang, Y. K. Li, Y. Wu, and D. Guo, “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models,” arXiv:2402.03300, 2024. https://arxiv.org/abs/2402.03300 a b
  3. [3] L. Ouyang, J. Wu, X. Jiang, D. Almeida, C. Wainwright, P. Mishkin, C. Zhang, S. Agarwal, K. Slama, A. Ray, J. Schulman, J. Hilton, F. Kelton, L. Miller, M. Simens, A. Askell, P. Welinder, P. Christiano, J. Leike, and R. Lowe, “Training Language Models to Follow Instructions with Human Feedback,” arXiv:2203.02155, 2022. https://arxiv.org/abs/2203.02155
  4. [4] J. Schulman, “Approximating KL Divergence,” 2020. http://joschu.net/blog/kl-approx.html
  5. [5] R. A. Bradley and M. E. Terry, “Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons,” Biometrika, vol. 39, no. 3/4, pp. 324–345, 1952. https://doi.org/10.1093/biomet/39.3-4.324