让模型学会解题,只有一道题和一个分数时,训练程序还要判断这次回答比模型平常水平高多少。PPO通常另训一个价值模型来估计这条基线。GRPO换了一个办法,同一道题一次生成多份回答,让这些回答在组内互相比较,用组内平均分估计基线。

我把 DeepSeekMath 论文的算法、训练设置和 Allen AI 的实现说明对了一遍。省的是价值模型。训练过程仍要运行当前策略、参考模型和评分环节,每道题还得生成一组答案,在线采样成本会增加。

一组回答怎样变成训练信号

训练先从当前策略模型取出一道题的多份答案。奖励模型或可验证规则给每份答案打分,程序再减去组内平均分,并按组内标准差归一化。高于同组平均的回答得到正向信号,低于平均的回答得到负向信号。比较发生在同一道题内部,题目本身难或容易,不会直接把不同题目的原始分数混在一起。

GRPO还保留了 PPO 的裁剪思路,限制一次更新走得太远。它在损失里加入与参考模型的 KL 距离,约束新策略偏离原模型的幅度。价值模型被拿掉以后,奖励与参考模型的作用依然在。

DeepSeekMath 的实验给了一个很具体的规模。研究者从约 14.4 万道与 GSM8K、MATH 相关的问题中取训练数据,每道题采样 64 份输出,最大长度设为 1024。强化学习后,7B 模型在 GSM8K 上从 82.9% 提到 88.2%,在 MATH 上从 46.8% 提到 51.7%。这些结果来自数学题、指定数据和评分方法,不能直接证明客服、写作或开放式研究任务也会得到同样提升。

评分差异决定有没有东西可学

组内相对分数有一个很直观的限制。若一道题的所有回答都得零分,或全部满分,组内标准差为零,归一化后的优势也会变成零。Allen AI 的实现会跳过这类没有梯度的批次。模型全做错时,训练程序没有更好的样本可鼓励;模型全做对时,这道题也提供不了差异。

奖励设计还会改变模型学什么。数学答案可以用规则核对最终结果,开放式任务往往依赖奖励模型。若格式分很容易拿,正确性又难判断,模型可能把力气花在输出格式或拉长答案上。Allen AI 的说明记录过,直接叠加格式奖励会让未解出题目的回答长度波动,训练稳定性随之变差。

实际使用 GRPO,我会先统计每道题一组答案的分数分布。全零组、全满组和只有格式分的比例,比平均奖励更能说明训练有没有有效差异。随后固定一批未参加训练的题,分别看准确率、长度、拒答和旧任务回归。采样数量也要做小规模对照,64 只是论文设置,不是通用起点。

GRPO适合奖励能够重复计算、同题答案可以公平比较的任务。它让价值模型退出了训练,却把更多责任交给题目分布、采样和评分。奖励若只会数格式,生成再多答案也只是把同一个偏差排成一组。

参考资料