表一
BASELINE 精度 · σ_r/√G
收益边际递减最快的一张表——G 从 2 加到 8 噪声减半,再加到 64 只再减 2/3。
baseline 噪声 σ_r/√G:G=2 时 0.71σ,G=8 时 0.35σ,G=64 时 0.125σ。2-GRPO 的论点正是「这张表不需要精确估计」;如果训练不稳,先查 std 与 clip 触发率,别急着加 G。
Hover for the full story
RL POST-TRAINING · GRPO 组大小 · GROUP SIZE G
G 的三重身份:baseline 的样本数 · 有效梯度组的覆盖率 · std 的分母质量
GRPO 每训练一步,要为每个 prompt 采样一组 G 条回答。这个 G 取多少,各家答案差得离谱:DeepSeekMath 采 64 条(batch 1024,一步只过 16 个 prompt),RLHF Book 教学代码默认 8 条,2025 年 10 月的 2-GRPO 论文声称 2 条就够——同一个旋钮差出 32 倍。更麻烦的是,G 同时是两种东西:GRPO 唯一的 baseline 来源(没有 critic,组内均值就是 baseline),和训练成本最大的乘法器(G 翻倍,rollout 增殖成本就翻倍)。一个旋钮同时管信号质量和算力账单,取值却从 2 到 64 都有人能跑通——「G 到底买来了什么」值得拆开。
本报告为博客正文配套的交互版 · 正文:njx-njx.github.io/posts/grpo-group-size-tradeoffs/ · 论文 arXiv:2402.03300 · arXiv:2503.14476 · arXiv:2510.00977 · arXiv:2502.18548
姊妹篇交互研报:DAPO Clip-Higher · GSPO 序列级重要性采样 · TIS 训练推理不一致 · Dr.GRPO 归一化偏差
证据分级:论文一手 > 教材 > 推算 [derived] > 推断 [inferred] · 图内数字可点击下钻 · 点击画布重采一轮
§0 · 关键结论
G 是 GRPO 唯一的 baseline 来源,也是训练成本最大的乘法器。它买来的东西分三张表:baseline 精度(σ_r/√G,收益边际递减最快)、有效组覆盖(p^G,在边界难度上收益最持久)、探索预算(组内含正样本的概率,硬题上几乎是线性的)。三家取值差 32 倍,是因为它们在为不同的表付钱。
把三家取值摆在一起看——同一个旋钮,三种立场:
| 来源 | G | 一句话立场 |
|---|---|---|
| DeepSeekMath · GRPO 原始论文 | 64 | batch 1024 → 一步 16 个 prompt;严格 on-policy |
| RLHF Book 教学代码 | 8 | num_rollouts 默认 8,GRPO 到 GSPO、CISPO 全系默认 |
| 2-GRPO · It Takes Two(2025-10) | 2 | 「大组必要论」是误读;对比目标视角下 2 条就够 |
报告按三重身份展开:§1 拆 baseline 的样本数(含己均值 vs 留一、σ_r/√G 的噪声账),§2 拆有效梯度组的覆盖率(零梯度组概率表 p^G+(1−p)^G 与交互计算器、dynamic sampling 的过滤与误判),§3 拆 std 归一化的分母质量(小 G 的 std 噪声、除零坑、与 Dr.GRPO 批评的关联),§4 正面复述 2-GRPO 的对冲观点并称一称两边证据,§5 摆成本账(rollout = prompt × G)并给出三张预算表的选型框架,§6 是三条未决问题。
GRPO 的每个「显然如此」的默认配置,拆开来都有一笔自己的账。
— 本报告 · 系列小结
语境本周系列:Clip-Higher 修 token 级裁剪边界,GSPO 换比率单位,TIS 堵训推数值缝,Dr.GRPO 改归一化——本篇回到信号的源头:采样预算怎么分。 为何重要G 翻倍增殖成本就翻倍;选 G 之前先问三张预算表里哪张是瓶颈。
§1 · 第一重身份 · baseline 的样本数
GRPO 扔掉 critic 之后,用组内均值当 baseline。用 baseline 减均值是策略梯度降方差的标准手段,教科书给出的合法性条件是:baseline 必须与当前动作无关——E[b·∇logπ]=0 对任何只依赖状态的 b 成立;baseline 不改变梯度的期望,只压方差。
一个很少有人提的细节:GRPO 的均值把被评估的那条回答自己也算进去了,严格说 baseline 与动作相关,无偏条件并不严格满足。对照 RLOO(Leave-One-Out):baseline 是其余 G−1 条回答的均值,特意把自己剔除,保持梯度估计器完全无偏。两种 advantage 的关系可以直接写出来:
ÂiRLOO = ri − meanj≠i{rj} = G/(G−1) · ÂiGRPO(去 std)
方向完全一致,只差一个 G/(G−1) 的尺度因子:G=64 时是 1.016,无所谓;G=8 时是 1.14;G=2 时是 2——GRPO 形式的 advantage 只有留一形式的一半。这个偏差不是方向性的,只是随 G 缩小的缩放,实际效果可以被学习率吸收(这是推断,不是哪篇论文的实验结论)——但它解释了为什么小 G 的所有性质都会被放大。
第二笔账是 baseline 的估计噪声:组均值是真实期望值 E[r] 的 G 样本估计,噪声幅度约 σ_r/√G。G 小,这个噪声直接混进每条回答的 advantage:答对的题可能因为「同组碰巧都很强」而拿到负 advantage——梯度方向被 baseline 噪声随机翻转的概率随 G 减小而上升。两条曲线都画在下面这张图中(点击锚点与曲线下钻):
§2 · 第二重身份 · 有效梯度组的覆盖率
RLVR 的奖励是二值的(对或错;DAPO 用 +1/−1,DeepSeekMath 用 1/0,等价)。一组 G 条回答全对或全错,组内奖励没有方差,advantage 全是零——这 G 条 rollout 白跑了。设单次正确率 p、各条独立,零梯度概率可以直接算(推算)。下面这台计算器可以拖动 p 和 G 实时计算,右侧点阵是当前设置下的一次真实抽样(点击「重采一组」再来一次):
读法:中等难度的题(p 在 0.3–0.7),小 G 也基本有保证;真正吃 G 的是边界难度的题——p=0.95 时 G=8 有三分之二的组全对零梯度,G=64 才压到 4%。而训练曲线恰恰会推着题目往边界滑:学会的题 p→1,学不会的题 p→0,越到训练后期,处于「有梯度区间」的题越少——这就是 DAPO 论文 motivation 里「training efficiency and stability」问题的来源之一。完整概率表(数值为推算):
面对同一张表有两种解法。一种是把 G 加大硬压 p^G——成本按乘法涨。另一种是 DAPO 的 Dynamic Sampling:不加大 G,直接规定零梯度组不要——目标函数里的硬约束(公式 8 的 s.t. 条件)要求组内正确回答数严格介于 0 和 G 之间,全对全错的组被过滤、过采样补齐,保证 batch 里每个 prompt 都有有效梯度。同样的有效组覆盖率,过滤的代价是加法式过采样,而不是把 G 乘上去。
过滤和 G 之间还有一层耦合容易被漏掉。过滤的判定依据本身就是 G 个样本的估计:G=4 时「4 条全错」不等于这道题模型不会——p=0.3 的题有 24% 的概率 4 条全错,被误扔进垃圾堆。小 G 配动态采样,会把一批「其实有梯度价值」的中等题误判成废组;误判率随 G 指数下降((1−p)^G,同一张表)。所以动态采样并没有消灭 G 的覆盖率问题,只是把它从「零梯度」换成了「误判丢弃」(此点为推断,DAPO 论文没有讨论误判率)。
§3 · 第三重身份 · std 归一化的分母质量
GRPO 的 advantage 还要除以组内 std。这个 std 同样是 G 个样本的估计:G 小时噪声很大;全同组 std 直接是 0,实现上要么加 eps 要么跳过——埋下除零的坑。点击公式的三个部件:
Âi = ( ri − mean{ rj }j=1..G ) / std{ rj }j=1..G
FORMULA ANATOMY · GRPO ADVANTAGE
点击公式上方的部件
三个部件对应「本条回答的奖励 / baseline(第一重身份)/ 归一化分母(第三重身份)」。高亮部件是本节主角:std 是 G 个样本的估计,G 越小越不可靠——分子分母共用同一组样本,两笔账经常被混在一起。
Dr.GRPO(本系列上一篇)对 std 的批评——全对全错组 std 趋零时 advantage 被放大到不合理量级——在小 G 时最严重:G 小,std 落在小值的概率高,极端 advantage 出现得频繁。极端 advantage 又推高 ratio 的移动幅度,间接抬高 clip 触发率(此链条为推断:Â 异常大 → 单步内 π_θ 移动多 → w_t 更快碰到裁剪边界)。也就是说,「大 G 稳定训练」的说法有一部分其实不是 baseline 的事,是 std 的事。下图左:二值奖励下极端 advantage 的幅度随组内正确率的变化;右:p=0.5 时组内正确率的抽样分布——G 越小,越多质量落在两端(点的大小 ∝ 概率):
把 G 纯粹当成「采样预算」来理解是不完整的——G 影响的不只是估计的方差,还涉及归一化目标本身的不动点。
— WHAT IS THE ALIGNMENT OBJECTIVE OF GRPO?,arXiv:2502.18548
语境该文给出刻画 GRPO 稳态策略的框架,指出其偏好聚合方式与 RLHF 标准的对数池化有本质差异。 边界分析性工作,结论的适用边界(稳态、无穷步)与工程实践有距离——知道即可,不直接指导取值。
§4 · 对冲观点 · 2 条回答也够?
2-GRPO(arXiv:2510.00977)的论点值得正面复述:GRPO 的有效性来自隐式对比目标——两条回答一对比就有学习信号,组均值只是 control variate 降方差的工具,不需要精确的统计估计,所以 G=2 也能工作,结构上反而和 DPO 接上了。理论分析和(中小规模)实验都支持这个结论。
这和 DeepSeekMath 的 G=64 矛盾吗?未必。大 G 买来的东西里,baseline 精度只是其中一项,而且可能是最不重要的一项:其余几项是边界难度题的覆盖率(§2)、过滤判定的可靠性、以及探索覆盖——p=0.1 的硬题在 G=2 时有 81% 的概率组内无正样本,G=64 时只有 0.1%。这些收益与模型规模、任务难度分布强相关。把两案证据摆上天平(点击砝码读证据,虚线砝码是还没落盘的升级条件):
§5 · 成本账,以及判断框架
DeepSeekMath 的配置(batch 1024、G=64)一步只过 16 个 prompt——prompt 多样性和回答多样性是在同一张预算表上换的。还有一个配置细节:DeepSeekMath 每个 exploration 阶段只做一次策略更新(严格 on-policy,§4.2),此时 ratio 恒为 1、clip 从不触发,G 的全部作用都体现在 baseline 和覆盖率上;而 DAPO/GSPO 式的多 mini-batch 更新里,G 还通过 std 噪声间接影响 clip 触发率。同一个 G,在两种训练形态里的边际收益不是一回事。拖动滑杆,看固定预算下两个多样性此消彼长:
作者的判断:G 没有普适最优,因为它同时在三张预算表上花钱。选 G 之前先问自己哪张表是瓶颈:
BASELINE 精度 · σ_r/√G
收益边际递减最快的一张表——G 从 2 加到 8 噪声减半,再加到 64 只再减 2/3。
baseline 噪声 σ_r/√G:G=2 时 0.71σ,G=8 时 0.35σ,G=64 时 0.125σ。2-GRPO 的论点正是「这张表不需要精确估计」;如果训练不稳,先查 std 与 clip 触发率,别急着加 G。
Hover for the full story
有效组覆盖 · p^G
在边界难度上收益最持久——p=0.95 的题,G=64 才把零梯度率压到 4%。
训练会推题目往边界滑(学会的 p→1,学不会 p→0),后期处于有梯度区间的题越来越少。题太难(探索预算紧)就加大 G 或上动态采样——过滤是加法式的过采样,比把 G 乘上去便宜;但小 G 配过滤有误判丢弃的耦合(§2 注记)。
Hover for the full story
探索预算 · 1−(1−p)^G
硬题上几乎是线性的——组内至少一条答对,模型才有好样本可学。
p=0.1 时 G=2 有 81% 的组无正样本,G=64 只有 0.1%。小模型刷 GSM8K 级别,p 分布集中在中段,小 G 损失有限;大模型攻 AIME 级别,p 压在 0.1 附近,每一条正样本都珍贵。题太杂(prompt 多样性紧)则把预算让给 prompt 数。
Hover for the full story
实践默认值(8–16)是在「中等难度分布 + 动态采样兜底」下的平衡点;64 是 DeepSeekMath 时代没有动态采样、没有 clip 改造时的朴素选择;2 是「对比目标」视角下的理论极限值,工程上还没人敢在生产规模用。
§6 · 未决问题
三条未决问题,按可回答性排序——第三条是目前最值得做的公开复现之一。
右栏仪表盘随章节切换:G 的三重身份状态、零梯度计算器实时读数(与 §2 滑杆联动)与本章关键数字;全部可点击下钻。