均衡聚合:理解并修正 GRPO 中的聚合偏差 Balanced Aggregation: Understanding and Fixing Aggregation Bias in GRPO
揭示 GRPO 中两种聚合规则的偏差,提出均衡聚合 BA。
前置知识
GRPO
DeepSeekMath 提出的 critic-free RL 算法:每个 prompt 采 $G$ 个响应,按组内奖励均值 $\mu$ 与标准差 $\sigma$ 归一化为优势 $\hat{A}_i = (r_i - \mu)/\sigma$,省去独立 critic。
GRPO 是当前 LLM 推理后训练的事实标准,本文所有讨论都以 GRPO 为载体,读者需先理解其组内归一化机制。
RLVR
Reinforcement Learning with Verifiable Rewards,用 exact-match 正确率或单元测试通过率等可程序验证信号替代 learned reward model,为推理/代码任务提供可扩展的训练反馈。
RLVR 是论文的应用场景,论文实验全部基于数学推理 (DAPO-17k/Polaris) 与代码生成 (LiveCodeBench) 的可验证奖励。
PPO 剪切目标
PPO 用 clip 限制策略比率 $\rho=\pi_\theta/\pi_{\text{old}}$ 更新幅度,token 级贡献 $\phi_{i,t}=\min(\rho\hat{A},\text{clip}(\rho,1\pm\epsilon)\hat{A})$ 是 GRPO 损失构件。
聚合规则本质上决定如何把这些 token 级 $\phi_{i,t}$ 加权成组级损失,是论文唯一讨论的设计维度。
聚合规则
指 token 级 PPO 贡献如何汇集成组级目标,常见两种:token 聚合(所有 token 直接平均)与 sequence 聚合(先在每个响应内平均 token 再在响应间平均)。
本文核心——正是这两种聚合规则的差异导致了不同的优化偏差,BA 是对聚合方式的新设计。
研究动机
GRPO 是 RLVR 推理/代码后训练的事实标准,但其中存在一个长期被忽视的设计选择:如何把 token 级策略梯度项聚合成组级损失。默认的 sequence aggregation 先在响应内对 token 平均再在响应间平均;DAPO 和 Dr.GRPO 倡导的 token aggregation 则直接对组内所有 token 取平均。论文通过推导发现这两种规则引入了系统性优化偏差:token aggregation 会产生 sign-length coupling,正负响应长度不均时梯度被不成比例放大;sequence aggregation 看似解耦符号-长度耦合,却引入 sequence equal-weighting 偏差,长响应被隐式降权。在 Qwen2.5-Math-7B 和 Qwen3-1.7B 上观察到「模型相关翻转」:token-agg 在前者上更优、seq-agg 在后者上更优,且峰值高的方法在训练后期常崩溃(如 token-agg 在 Qwen3-1.7B 上 last-step Acc@8 比 peak 掉了约 5 个百分点)。
本文的目标是本文希望找到一个能同时解决两种偏差的聚合规则:既不引入 sign-length coupling,也不强制每个响应等权;并在不同 base model 和数据集上同时具备峰值性能和训练稳定性。具体而言,新方法需要满足三个性质:(1)在二值奖励 GRPO 设置下与 sequence aggregation 共享相同的跨符号平衡预因子;(2)保留子集内 token 级平均以避免长响应被过度抑制;(3)对响应长度分布变化具有鲁棒性,能在不同 base model 上同时拿到 best 或 tied-best 的 last-step 精度。论文最终给出 Balanced Aggregation(BA)作为这一聚合规则的实例化,并在 4 种训练设置 × 6 个 benchmark 上系统验证。
与已有工作不同的是,已有改进(如 DAPO、Dr.GRPO)只把 token aggregation 当作 sequence aggregation 的替代品,没有从聚合规则本身的偏差结构出发设计新方案;GMPO 用几何平均替代算术平均,但同样没有分离符号-长度耦合。本文首次形式化分析两种聚合规则的偏差来源,提出 BA 通过「组内 token 平均 + 组间序列计数加权」的结构同时去除两种偏差,并从理论上预测哪种聚合在何种长度分布下更优。
核心方法
作者把聚合规则视为对响应/token 的隐式加权。在二值奖励 GRPO 下,按优势符号 $\hat{A}_i$ 把组分成正负子集 $S^+$、$S^-$。可证 token aggregation 目标含 $\bar{T}_\pm \bar{\delta}^\pm_{\text{tok}}$,暴露 sign-length coupling;sequence aggregation 改为每响应等权的 $\bar{\delta}^\pm_{\text{seq}}$。作者提出 BA:先在每个符号子集内 token 平均得 $L_+$、$L_-$,再用 $k/G$、$(G-k)/G$ 加权,得到 $\mathcal{J}_{\text{BA}} \propto \sqrt{k(G-k)}/G \cdot (\bar{\delta}^+_{\text{BA}} - \bar{\delta}^-_{\text{BA}})$,既保留跨符号平衡又避免序列等权。
BA 与已有方法的本质区别在于「解耦维度」:DAPO/Dr.GRPO 只在「所有 token vs 先序列内平均」之间二选一,BA 在每个符号子集内部做 token 级平均(不等价于每个序列等权),在子集之间按序列数加权(等价于 sequence aggregation 的跨符号平衡)。也就是说 BA 重新组织聚合的两级粒度——内层 token 级、外层序列数加权——而不是简单替换统计量。在二值奖励下 BA 与 sequence aggregation 共享跨符号预因子 $\sqrt{k(G-k)}/G$,差异仅在子集内的平均规则,这一定位使 BA 既能去除 token-agg 的 sign-length coupling,又能避免 sequence equal-weighting 偏差。
方法步骤详情
实现上 BA 是 GRPO 损失聚合步骤的 drop-in 替换。给定 prompt $x$ 采样的 $G$ 个响应 $\{o_1,\ldots,o_G\}$ 及其奖励 $\{r_i\}$,先按式 (2)-(3) 计算组内归一化优势 $\hat{A}_i$。按 $\hat{A}_i$ 的符号划分为 $S^+$ 和 $S^-$,分别计算 $N_+ = \sum_{i\in S^+} T_i$ 和 $N_- = \sum_{i\in S^-} T_i$。在每个子集内计算 token 平均损失 $L_+ = \frac{1}{N_+}\sum_{i\in S^+}\sum_t \phi_{i,t}$ 与 $L_-$,最后按式 (19) $\mathcal{J}_{\text{BA}} = \mathbb{E}[\frac{k}{G} L_+ + \frac{G-k}{G} L_-]$ 组合。所有其他组件(优势归一化、PPO clip、vLLM 采样温度 1.0、group size $G=16$、clip 范围 0.2/0.28)均与原 DAPO/GRPO 流水线保持一致。
技术新颖性
技术新颖性体现在三点:(1)首次用形式化分解同时解释 token aggregation 的 sign-length coupling 偏差(式 12 中的 $\bar{T}_+\bar{\delta}^+_{\text{tok}}$ 形式)与 sequence aggregation 的 sequence equal-weighting 偏差(式 16-17);(2)提出的 BA 在二值奖励下与 sequence aggregation 共享相同的跨符号预因子 $\sqrt{k(G-k)}/G$,但用子集 token 平均替代序列平均,从而在保持 inter-sign 平衡的同时避免 per-sequence 等权(式 21-22 vs 17);(3)从这一分解直接推出可检验的预测:token-agg 在长度方差大、正负长度差小的 regime 优;seq-agg 在长度方差小、正负长度差大的 regime 优,并用 Figure 3 的训练统计直接验证了这一假设,从而解释了模型相关翻转。
实验结果
实验基于 Qwen2.5-Math-7B 和 Qwen3-1.7B 在 DAPO-17k/Polaris 各训 500 步。Table 1:DAPO-17k 上 Qwen2.5 峰值 Acc@8 balanced-agg 0.3634 > token-agg 0.3595 > seq-agg 0.3578;Qwen3-1.7B last-step Acc@8 balanced-agg 0.4695 显著优于 seq-agg 0.4481、token-agg 0.4360。Polaris 上 Qwen3-1.7B 峰值 balanced-agg 0.4879 最高,last-step 比 token-agg 高 +0.0291。Figure 1:balanced-agg 在 6 个 benchmark 中 5 个拿到 best/tied-best last-step。Figure 2:token-agg 损失大幅偏离零。Figure 3:Qwen2.5 长度方差大、正负差小 → token-agg 优;Qwen3-1.7B 反之。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| DAPO-17k 训练 Qwen2.5-Math-7B,6 benchmark 平均 | Acc@8 / Best@8 (peak → last-step) | balanced-agg: 0.3634 / 0.4896 → 0.3424 / 0.4627 | token-agg 0.3595/0.4869→0.3364/0.4434;seq-agg 0.3578/0.4821→0.3446/0.4598 | 峰值 Acc@8 比最强基线 +0.0039;last-step Acc@8 比 token-agg +0.006 且保持训练稳定性 |
| DAPO-17k 训练 Qwen3-1.7B,6 benchmark 平均 | Acc@8 / Best@8 (peak → last-step) | balanced-agg: 0.4928 / 0.6086 → 0.4695 / 0.5861 | seq-agg 0.4947/0.5990→0.4481/0.5522;token-agg 0.4876/0.6058→0.4360/0.5608 | last-step Acc@8 比 seq-agg +0.0214,比 token-agg +0.0335,是唯一在 last-step 保持高位的方案 |
| Polaris 训练 Qwen2.5-Math-7B,6 benchmark 平均 | Acc@8 / Best@8 (peak → last-step) | balanced-agg: 0.3423 / 0.4750 → 0.3319 / 0.4443 | token-agg 0.3539/0.4768→0.3292/0.4527;seq-agg 0.3405/0.4697→0.3172/0.4360 | 峰值略低于 token-agg 但 last-step 比 token-agg +0.0027、比 seq-agg +0.0147,跨方案稳定性最优 |
| Polaris 训练 Qwen3-1.7B,6 benchmark 平均 | Acc@8 / Best@8 (peak → last-step) | balanced-agg: 0.4879 / 0.6094 → 0.4640 / 0.5550 | seq-agg 0.4812/0.5950→0.4614/0.5730;token-agg 0.4842/0.6053→0.4349/0.5557 | 峰值 Acc@8 三者最高 +0.0037;last-step 比 token-agg +0.0291,避免 token-agg 后期崩溃 |
局限与改进
作者明确 BA 当前推导基于二值奖励 GRPO 设置,附录 5 给出非二值奖励的扩展但未在主实验中验证。实验覆盖的模型仅 Qwen2.5-Math-7B 和 Qwen3-1.7B 两个相对小尺寸(1.7B/7B),未在更大模型(如 32B+)或多模态、纯代码 base model 上验证;训练集只覆盖 DAPO-17k 和 Polaris 两个数学集,未涉及代码或通用指令数据。作者承认聚合规则不能解决所有 RLVR 问题(如 advantage 估计偏差、clip 设计等),BA 与这些 trick 互补而非取代。我的额外观察:Figure 1 展示 balanced-agg 在 AIME-2024/2025 这种小评估集上峰值提升明显但方差也大,benchmark 间稳定性需更多 seed 才能确认;此外,BA 引入一次按符号划分的额外逻辑,实现层面需要在 sampler 处记录每个响应的归一化优势符号,对超大规模组(如 G=128)是否引入额外开销未做测量。
独立分析的弱点
(1)BA 公式 (19) 中权重 $k/G$ 和 $(G-k)/G$ 仅在二值奖励下推导最优(与 sequence aggregation 共享预因子 $\sqrt{k(G-k)}/G$),连续奖励下这两个权重的最优性缺乏论证,附录扩展未做数值对比;改进方向:用经验方差自适应调节或引入可学习权重。(2)Figure 2 仅展示 Qwen2.5-Math-7B 的损失轨迹,Qwen3-1.7B 的损失动态未可视化,理论预测「Qwen3-1.7B 上 seq-agg 优」缺乏损失层面的直接证据;改进方向:补充 Qwen3-1.7B 的同款轨迹图。(3)训练只跑 500 步,DAPO 标准设置下 token-agg 在更长训练中是否会再次翻转尚不明确;改进方向:跑 1000+ 步曲线验证 BA 在更长训练中的稳定优势。(4)BA 仍依赖标准差归一化 $\sigma$ 估计,作者没有讨论当组内奖励方差极小($\epsilon$ 主导)时符号划分的不稳定性,可能导致 $\hat{A}_i$ 噪声放大到子集分配;改进方向:在符号划分前做优势阈值过滤。
未来方向
作者在附录 5 提到 BA 可自然扩展到非二值奖励,未来可沿三条线推进:(1)把 BA 与软 clip(如 GMPO)、asymmetric clipping、advantage normalization 改进(如去掉 std 归一化)正交组合,研究 trick 间的相互作用;(2)将 BA 的符号划分思想推广到 advantage 量化或分组,例如按优势幅值大小分桶后再做加权聚合;(3)作者还提出 BA 可用于更长上下文(如 16K+ token)的 RLVR,因为符号-长度耦合在长响应下更严重。基于成果可延伸的方向:探索 BA 在 multi-turn RLVR、tool-use RL 以及 LLM-as-a-judge 软奖励设置下的表现,并测试在 base model 更大(>30B)时偏差是否被参数规模稀释。
复现评估
作者基于开源框架 verl 实现,配置与 DAPO 完全一致:Qwen2.5-Math-7B / Qwen3-1.7B,group size $G=16$,学习率 $10^{-6}$,clip 范围 0.2/0.28,batch 128 prompts,vLLM 温度 1.0,训练 500 步。训练数据 DAPO-17k(~17k)和 Polaris(~53k)均为公开。代码层面 BA 只改动 loss aggregation 一行(按符号分桶后加权),易于集成。算力门槛:7B 模型 + 500 步 + 每 prompt 16 个响应是中等规模 RLVR 实验,8 卡 A100 级别可在数天内完成。论文未明确开源仓库地址,附录编号也未给出链接,是主要复现阻碍;Figure 3 等分析图的可复现性依赖完整训练轨迹日志,作者未声明是否随论文一起发布。
论文图表