GRPO 组内奖励相同或方差接近零时,会有什么问题,如何处理?
未标记
考查重点:组内优势退化与奖励区分度。整组同奖时中心化优势为0,难以学习;小方差还可能放大噪声,需数值保护并检查任务难度、奖励与采样多样性
本题目录
参考答案
核心回答
GRPO通常把同一问题的一组奖励减去组均值,再按组内标准差缩放。若整组奖励完全相同,所有中心化奖励都是0,带epsilon的实现会得到零优势,奖励驱动的策略梯度没有组内区分信号;不加数值保护则会出现0除以0。
“方差很小”与“完全相同”要分开:微小差异除以微小标准差后也可能变成较大优势,从而放大奖励噪声。应先检查奖励和采样,再决定跳过、补采、调整缩放或改善任务分布。
用一个例子看清区别
A_i = (r_i - mean(r)) / (std(r) + epsilon)
奖励[0,0,1,1]的均值为0.5,总体标准差为0.5;忽略很小的epsilon时,优势为[-1,-1,1,1]。
奖励[1,1,1,1]或[0,0,0,0]时,分子全为0,即使把分母下限设为0.05,也不会凭空出现任务质量信号。若奖励为[0.500,0.501],均值0.5005、总体标准差0.0005,归一化优势约[-1,1];差异可能很小,却会被标准化突出。
注意“分数都是0或者1”本身不一定有问题:一组里既有0又有1就有区分度,只有全0或全1等同分情况才属于零方差。
分原因处理
奖励失灵。 检查解析失败、截断、超时、工具错误是否都被压成同一个分数;验证器应能区分真实失败与基础设施故障,不能靠加随机噪声凑差异。
任务过难或过易。 全失败时可先补基础动作SFT、改善任务课程或提供可靠过程信号;全成功时可加入更有挑战性的任务。增加组大小或调整采样可能提高发现不同结果的机会,也会增加成本且不保证有效。
同分组占比高。 可以过滤后继续采样,补足有效训练批次。DAPO动态采样采用这类思路;需要限制补采预算并监控数据分布变化,避免只学习容易产生差异的任务。
微小噪声被放大。 核实奖励尺度和噪声后,可使用标准差下限或不同归一化粒度;这些会改变权重与优化性质,应做消融,不能当成无代价修补。
追问:这一组完全没有任何梯度吗?
准确说是这组的相对奖励项没有优势信号。若训练还包含KL、熵正则或其他损失,相关项仍可能有梯度;同批次其他组也可能有信号。因此不应说“全0就整个模型完全不更新”。
对应教程
- 1-1-大模型认知与工程概览:回看反馈驱动的策略优化背景,本文进一步分析组内优势与环境奖励。
参考资料
- 国内:DeepSeek-AI等:DeepSeekMath:依据原始 GRPO 的均值、标准差与优势定义,解释正文中同分组为何没有相对奖励优势信号。
- 国内:字节Seed、清华AIR等:DAPO:参考同分组过滤与动态补采有效组的方法,说明正文中如何处理无区分度分组及采样成本。
- 国内:ModelScope ms-swift / 阿里开源项目:ms-swift 4.4:Loss Types:借鉴损失缩放方式的比较,说明正文中原始 GRPO 与实现变体的区别,并区分优势归一化和损失缩放。
- 国外:John Schulman等 / OpenAI:Proximal Policy Optimization Algorithms:依据裁剪目标的作用,解释正文中裁剪不能创造缺失的奖励区分信号。
- 国外:Hugging Face / TRL团队:GRPO Trainer:参考同分组日志与优势缩放条件,说明正文中同分、近零方差和数值保护对训练信号的不同影响。
