把 Dr.GRPO 写成掩码再加权:一份作业路线的展开
讲次页实践视角给了作业路线一句话:用可验证小任务各实现 GRPO 与 Dr.GRPO 一版,看两处差异。本篇把这句话展开成可动手的次序:任务怎么挑、基线怎么搭、两处改动落在哪、训练曲线上盯什么。数学论证归家族树篇,这里只管手上的活。
作业路线的原话只有一句:把第五至七节串成代码,用 Number Search 或任何可验证小任务各实现 GRPO 与 Dr.GRPO 一版。本篇把它拆成四步。
一、第一步:挑一个奖励能自动判的任务
标准只有一条:成败可以程序判定,不需要人打分。
Number Search 合格,猜中就是 1。作业三的类 Minecraft 合成环境也合格,配方对就是对。自己手头的产品任务一样能用:工具选择器选对了、路由器把 query 送到了该去的地方,都是现成的可验证信号。
任务别贪难。太简单的任务组内全是满分,优势全零,学不到东西;太难则全组归零,同样没有梯度。挑一个成功率落在中间地带的。
二、第二步:搭 GRPO 基线
骨架是 SFT 的训练循环,动两处。
一处是掩码。策略自己生成的 token 才进损失,提示词与环境的反馈都遮掉。上一讲的 loss mask 篇把 mask 语义问到底,这里的口径一致。
另一处是再加权。同一条任务采样一组轨迹,组内各自减去组均值、除出相对优势,乘到对应 token 的损失上。critic 就这样省掉了,组均值顶了它的班。
三、第三步:两处改动,得到 Dr.GRPO
GRPO 到 Dr.GRPO,代码量的差额小得可疑。
改动一,优势估计去掉分母上的 σ_R。组内标准差随实例波动,全对或全错的组天然偏小,一除反而放大了这类组的权重,难度信息就此丢失。
改动二,聚合从按 token 数 1/|y| 改按常数 1/C。原式把损失按 token 数摊薄,长回答每个 token 分到的信号更轻,长度漂移就有了温床。
两处的论证与实验在家族树篇,动手时记住位置即可:一个在分子旁边的分母上,一个在最后求平均的地方。
四、第四步:盯曲线
两版跑起来后,对照看三样东西。
看长度。GRPO 下平均回答长度是否随奖励一起爬升,换到 Dr.GRPO 是否压平,这是长度偏置最直观的显影。
看退化组。全对或全错的组占多少,它们贡献的梯度是否为零,任务难度该不该上调。
看方差。组均值只降方差不偏期望,曲线应该更稳而不是更高。
三样都对上,这一讲的公式就长进手里了。剩下的事,交给第 6 讲的稳定性专场。
本节论文与规范
本节资料
- 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 默认算法的出生证明。
- 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%。两处归一化各删一项,难度偏置与长度偏置同时消失,简单题上的过度思考显著收敛。改动只有几行代码,却是「读公式要读分母」的最佳教案。伴读实践篇的作业路线会实现。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。