GRPO 家谱:奖励为什么必须「相对」
全失败组在 basic REINFORCE(以及 ReST)里完全没有梯度,全成功组则所有动作一起上调——更新幅度本应取决于「策略在此任务上通常表现如何」。本篇沿 slides L9 p.26-42 走通这条主线:优势函数 A^π(h,a)=Q^π(h,a)−V^π(h) 与采样估计 Â_t=R(τ)−b(h_t)(p.27);baseline 四种取法——常数、奖励滑动均值、值模型 V_φ(actor–critic 即 PPO 路线)、组均值(免模型即 GRPO)(p.28);一行恒等式证明任何只条件于历史的基线都不偏期望(p.29);双臂 bandit 数值实验里基线把单样本 SD 从 0.325 降到 0.108、期望 0.1875 不变(p.30-33);GRPO 的组中心化、多实例分组与退化组四招补救(p.37-38、p.41,DeepSeekMath,论文 7B 拿下 MATH 51.7%);Dr.GRPO 去掉 σ_R 与聚合改 1/C 的两处修改(p.39-40,论文 7B 达 AIME 2024 43.3%);GRPO vs PPO 的定位(p.42),家谱再收束到 DAPO、GSPO 与对照组 DPO 的生态位,见资料卡。
GRPO 常被当成 DeepSeekMath 带火的一个训练技巧,其实它是条老问题的最新一站。策略梯度的更新幅度,应当取决于这次比预期好多少,而不是这次好不好。
把预期做成 baseline(基线)从回报里减掉,期望不变、方差骤降。这一行恒等式是整棵家谱的树根,PPO、GRPO、Dr.GRPO、DAPO、GSPO 全长在它上面。
本篇沿 L9 p.26-42 走:先看 REINFORCE 的两处梯度死角,亲手算一遍 bandit 实验,再看 GRPO 怎么把基线取到最省,2025 年又改掉了哪两处。
一、两处梯度死角:为什么必须减掉「预期」
basic REINFORCE 把奖励当唯一的监督信号,走「采样 - 过滤 - 微调」循环的 ReST 也一样。两处死角都写在 L9 p.26。
全失败组完全没有梯度:一串零奖励的轨迹,教不动任何参数。组内全成功同样失灵:所有动作一起上调,好坏不分。
放到 LLM 训练里,这两处都不再是玩具问题。一道全组都答不出的题,在梯度账本上等于不存在;一道全组都答对的题,会把整条回答的每个 token 都往上推,连碰巧混进去的坏习惯一起推。
更根本的原则在 L9 p.26:更新幅度应当取决于策略在此任务上通常表现如何。一道十拿九稳的题再对一次,几乎不该有更新;一道十次九错的题蒙对一次,才值得大涨。
承担这个量的,是优势函数(advantage function,L9 p.27):
是这个历史下做这个动作的期望回报, 是这个历史本身的期望回报。差值才是动作超出预期的部分。
课上的猜数例题在 L9 p.27:得到 8 / 偏大、12 / 偏小之后剩 {9,10,11},还有两次机会。猜 11,错了则剩两个候选、一次机会,这一步 A<0;猜 10,错了则剩一个候选、一次机会,这一步 A>0。
同样是猜错,一步该罚、一步该奖。奖励只有 0/1,优势才有正负与幅度。
麻烦在于 Q、V 都未知,只能采样估计。L9 p.27 给的估计式是 ;b (h) 就是 baseline,回答预期取多少。L9 p.28 给出四级台阶:
凭什么减掉一项不会把估计搞偏?L9 p.29 的一行证明:
只要基线只条件于历史 h、不看动作 a,它在期望里恒为零。减它不改期望,只降方差。
二、双臂实验:降方差、不偏期望,亲手算一遍
slides 在 L9 p.30-33 用双臂 bandit 把这件事算成了数。设定:单参数策略 θ,选 A 臂的概率 p=σ(θ),初始 θ=−1.1、p=0.25;A 得奖励 1,B 得 0。
先看无 baseline(Â=R)的账。策略梯度的方向来自 ∇log π:选 A 时指向提高选 A 的概率,选 B 时指向压低选 B。采到 A,Â=1,梯度 +0.75,往好处推。采到 B,Â=0,梯度 0,整条样本作废。失败不产生任何信号,p.26 的死角在两臂上是个微缩版。
加常数 b=0.5 之后:A 成功 Â=+0.5,梯度 +0.5×0.75=+0.375;B 失败 Â=−0.5,梯度 −0.5×(−0.25)=+0.125。失败也产生学习信号,意思是 B 比预期差了 0.5,把选它的概率压下去。
采到 A 梯度 +0.75、采到 B 梯度 0:失败白失败,信号断断续续;单样本 SD 0.325,期望 0.1875。
A 成功给 +0.375、B 失败也给 +0.125:每一步都有信号;SD 降到 0.108,期望仍是 0.1875—— 降方差、不偏期望,八个字全在这。
L9 p.30-33 里两条曲线的滑动均值都收敛到 0.188。账单也写在 L9 p.34:同一条轨迹的所有动作共享同一个 Â,信用分配(credit assignment)并未解决;想把基线做得更准去估计 V^π,可能要养一个单独的价值模型。
还有一个免费改进,来自 L9 p.35:reward-to-go(后续回报)。比 a_t 更早的奖励不依赖当前动作,从回报里剔掉是纯降方差、零风险。
三、GRPO:把基线换成「同题对照组」
从四级台阶到 GRPO 只差一步:对同一道题采样 G 次,组内均值就是策略在此任务上通常表现的现场估计。不需要常数,不需要滑动窗口,更不需要价值模型。
GRPO(Group Relative Policy Optimization,组相对策略优化)出自 DeepSeekMath(Shao et al. 2024,L9 p.37-38),7B 拿下 MATH 51.7%。
4 条轨迹奖励 1,1,0,0:减组均值得 ±0.5,再除以组标准差 σ_R=0.5,得 Â=+1,+1,−1,−1。损失(L9 p.38):
slide 注明这是骨架版,论文原式还有 ratio、clipping 与 KL 项(DeepSeekMath §4.1.1,Eq.3)。
多实例各建各的组,对照在 L9 p.38。hidden 3 的四条奖励 1,0,0,0,组均值 0.25:对的那条 Â=+1.73,错的三条各 −0.58。难题里蒙对一次,大涨。
hidden 7 奖励 1,1,1,0,组均值 0.75:错的那条 Â=−1.73。易题里失手一次,重罚。
更新幅度取决于通常表现,由分组自动兑现,不需要任何难度标签。
代价是退化组(L9 p.41)。全失败零梯度:题可能太难。全成功同样零梯度:题可能太易。
补救四招,各对着一种病因:
- 换实例。这道题现在不教任何东西,先跳过。
- 扩探索。让组内出现分化。
- 加示范。用 SFT 把成功率从 0 拉起来。
- 更有信息量的奖励。把 0/1 换成能区分好坏的部分给分。
与 PPO(Proximal Policy Optimization,近端策略优化)的对比在 L9 p.42:PPO 训练单独的 value model 估优势,GRPO 组相对、省一整套模型,更高效。
全 0 或全 1 的组贡献零梯度:一份全班都做不出的数据,在 GRPO 训练里等于不存在。排查顺序:组内奖励分布 → 实例难度 → 再谈学习率。
四、家谱 2025:两处修正与两条分支
家谱在 2025 年分出三枝。第一枝是纠偏:Dr.GRPO(Liu et al. 2025)在 L9 p.39-40 抓出 GRPO 两处系统性偏差。
其一,除以 σ_R。σ_R 随实例波动,几乎全对 / 全错的实例 σ_R 天然偏小,一除反而放大了它们的权重,题目难度信息就此丢失。Dr.GRPO 去掉这一项。
其二,响应聚合系数从 1/|y_j| 改为 1/C;C 是全局常数,即生成预算。原式里长回答把惩罚摊到更多 token,每个 token 分到的惩罚更轻,策略会漂向更长的错误答案。
两处改完,7B 达 AIME 2024 43.3%。
第二枝是规模:DAPO(2025,ByteDance Seed)打包了 clip-higher、动态采样、token 级 PG、overlong 奖励整形四件套,Qwen2.5-32B 在 AIME 2024 拿 50 分,整套基于 verl 开源。
其中动态采样与 p.41 的退化组正面对上;token 级 PG 动的是 p.39 响应聚合的旧账:按 1/|y_j| 逐样本归一摊薄了长回答的每 token 惩罚。
第三枝是稳定:GSPO(2025,Qwen)把重要性采样从 token 级抬到序列级,整条回答作为一个整体被加权,已用于 Qwen3 的训练。规模化枝上还有 LongCat:DORA 把 rollout 与训练异步解耦、3 倍加速,正对 L9 p.46 预告的 async RL 路线(m5-longcat-thinking 卡)。
树外另有一条对照路线:DPO(Direct Preference Optimization,直接偏好优化,Rafailov et al. 2023),免采样、免奖励模型的隐式 RL。
slides 在 L9 p.42 给的定位只到 PPO 侧:更高效的替代,省掉 value model。生态位后半句由站内 m5-dpo 卡补齐:比 PPO 便宜、比 DPO 上限高。
与本讲的连接
伴读第二节给了 GRPO 的公式,也给了同一道题让一组实习生各自作答、互相就是基线的直觉。本篇往下打了三根桩:
- 为什么基线不偏期望:p.29 的恒等式。
- 基线怎么取:p.28 的四级台阶,GRPO 站在免模型的那一级。
- 2025 年改了哪两处:家谱对 GRPO 两处偏差的修正,p.39-40。
五张资料卡沿家谱排开:m5-deepseekmath 是 GRPO 原典,m5-drgrpo 是两处修改的论证全文,m5-dapo 与 m5-gspo 是规模枝与稳定枝,m5-dpo 是生态位对照。
组内奖励是不是全 0 或全 1,退化组?σ_R 是不是小得在放大噪声,Dr.GRPO 第一处?回答是不是越生成越长,第二处?
本节论文与规范
本节资料
2025。四招稳定大规模 RL(clip-higher、动态采样、token 级 PG、overlong 奖励整形),Qwen2.5-32B 底座 AIME 2024 达 50 分,代码(verl)与数据全开源。clip-higher 放开低概率 token 促探索,动态采样丢掉全对/全错的无梯度组,token 级损失纠偏长回答,超长序列软惩罚替代硬截断。四招互相独立,工程侧最值得抄的作业。
- DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models 论文2402.03300进阶官方指定
官方指定(5a reading)。7B 模型 MATH 51.7%,同时提出 GRPO:组内均值当基线、丢掉 critic。同一 prompt 采一组回答,组内归一化的相对优势直接当优势函数,PPO 的 value 网络整个消失,训练开销大幅下降。L9 p.36-42 逐公式推导的对象(§4.1.1),开源 RL 默认算法的出生证明。
经典·高引(2023)。奖励模型最优策略闭式解代回损失,偏好对齐退化成分类损失:免采样、免 RM。训练循环从「采样→打分→更新」缩成一次前向,偏好数据直接进梯度;代价是没有在线探索,分布外偏好易被钻空子。理解 GRPO 定位(比 PPO 便宜、比 DPO 上限高)的对照面。
- Understanding R1-Zero-Like Training: A Critical Perspective(Dr. GRPO) 论文2503.20783前沿官方指定
官方指定(5a reading)。2025(v2 2025-10)。指出 GRPO 除以 std 丢失题目难度信息、除以 token 数奖励「又长又错」的回答,提出 Dr.GRPO(只减均值、除以常数上限),7B 达 AIME 2024 43.3%。两处归一化各删一项,难度偏置与长度偏置同时消失,简单题上的过度思考显著收敛。改动只有几行代码,却是「读公式要读分母」的最佳教案。伴读实践篇的作业路线会实现。
- Group Sequence Policy Optimization 论文2507.18071前沿
2025。把重要性采样从 token 级抬到序列级(序列似然比+序列级 clip),训练更稳、MoE RL 更平滑,已用于 Qwen3 系列;正交于 Dr.GRPO 的去偏路线。token 级比值逐位截断会引入偏差与方差失控,是训练崩溃的隐性来源,压回序列级一次截断即稳。与 DAPO 一并构成 2025 年 RL 稳定性的两条主流补丁线。
- Introducing LongCat-Flash-Thinking: A Technical Report 论文2509.18883前沿
2025。560B MoE 推理模型:CoT 冷启动+领域并行 RL 融成单一近 Pareto 最优模型;DORA 异步 rollout 系统 3 倍加速;AIME-25 token 消耗降 64.5% 不掉点——对应 L9 p.46 预告的 async RL 路线。通用、推理、代码各域 RL 阶段并行化再融合,证明统一模型优于多专家拼盘。系统章节单独可读,是异步 RL 落地的完整参考。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。