跳到正文
EN

· 更新于

GRPO、DAPO 与 GSPO 有什么区别? ​

三个章节都从同一条主线出发:对一道题采样一组回答,计算可验证的 reward,用组内相对表现构造 advantage,再更新策略。理解差异时,可以依次看重要性比率、裁剪、样本筛选和 loss 的归一化方式。

本页整理这个仓库的阅读入口。各章使用的模型、数据与训练预算并未完全对齐,现有分数无法用于排列三个方法的优劣。

观察点GRPO 章节DAPO 章节GSPO 章节
首先理解什么组采样、reward、advantage 与策略更新四项训练改进如何连接起来sequence-level 重要性比率与裁剪
比率与裁剪在实验中比较 importance sampling、PPO 与 CISPOClip-Higher 使用非对称裁剪范围对一条回答的 token log-ratio 求均值再取指数,按序列裁剪
数据筛选先走通基本训练循环Dynamic Sampling 过滤原始正确性全对或全错的 group,再补采当前实现不叠加 Dynamic Sampling
值得记录的成本loss 选择怎样改变训练行为无效 completion 已经消耗生成时间,补采也有等待成本序列长度、clip fraction 与原始 batch 的归一化口径
本仓库的边界GSM8K 上的实验与代码当前同步训练循环中的收益和成本核心 loss 与训练链路,未复现论文规模及 MoE 稳定性实验

先看 GRPO:一次更新是怎么发生的? ​

从 GRPO 原理与代码实战 阅读采样、奖励和更新的连接方式,再用快速启动跑通代码。遇到 logprob、importance ratio 或 clipping 时,可以回到损失函数直觉。

实验中切换 loss 时,记录相同的模型、数据、采样预算与随机种子;否则观察到的变化可能来自其他条件。

再看 DAPO:有效样本从哪里来? ​

DAPO 章节分别讨论 Clip-Higher、Dynamic Sampling、Token-level Policy Gradient Loss 和 Soft Overlong Punishment。这里的动态采样依据是原始正确性,advantage 则使用加入长度惩罚后的 reward,两者需要区分。

本地实现限制补采轮数,并记录 rollout 的实际耗时。被过滤的回答虽然不进入最终 loss,但已消耗采样资源。运行入口见 DAPO 快速启动。

最后看 GSPO:为什么按整条回答计算比率? ​

GSPO 章节将 token log-ratio 的均值取指数,得到长度归一化的 sequence ratio。整条回答共享一个裁剪判断;它与 token-level ratio 约束的量不同,裁剪阈值不能直接照搬。

当前章节记录了核心 loss、训练链路和 AIME25 评测,也明确缺少同条件 GRPO 对照。组内全对或全错的样本会退化为零 advantage;跳过这些序列的梯度计算时,仍要保持原始归一化口径。运行入口见 GSPO 快速启动。

怎样做一组有意义的比较? ​

先固定基础模型、训练和评测数据、训练预算、采样设置与答案判定规则。再选择要比较的变量,并同时记录正确率、格式遵循率、输出长度、采样成本和总耗时。不同 checkpoint、不同指标对应的最佳结果可能不同。

这个仓库已经提供三条可检查的训练入口。完整公平比较仍需要补做对照实验,现有章节的数字应在各自设置下解读。

开放代码,记录实验,也记录边界。