先这样答
回答这道题,先简述GRPO的核心机制,再按照发现问题与解决问题的逻辑,将DAPO等衍生改进与原版缺陷对应起来讲。GRPO的基石概括为三要素:组内相对优势计算、截断比率目标和KL惩罚。它对同一个问题采样一组回答,计算组内均值和标准差做归一化,省去了Critic网络。
针对GRPO暴露的问题,DAPO给出了四个改进方向。首先是解决长度偏差,原版做序列级平均会稀释长回答中Token的权重,DAPO改为Token级损失归一以缓解该问题。其次是处理无效组,若一组回答全对或全错则无法提供有效梯度,DAPO用动态采样过滤这类无效组,保证样本有区分度。
第三是防止熵塌缩,DAPO提出放宽截断上界,允许低概率Token继续探索。第四是对超长样本的惩罚改法,遇到超长截断时将直接零分改为软惩罚。其他衍生改进还包括去掉显式KL项简化目标,移除组内标准差归一仅保留减均值以避免小方差组引发信号爆炸,以及采用离线与在线混合采样。
最后可以这样收束:无论是DAPO还是其他改进,本质都是给GRPO的奖励分配做精细化手术,让长短样本的梯度更平滑,并保证探索的稳定性。
面试官会怎么追问
- 「GRPO公式里为什么要加clip操作?DeepSeek为什么选它?」 GRPO公式中的clip操作是为了限制新旧策略更新幅度,防止单步更新过大导致性能崩溃。DeepSeek选它是因为通过组内相对优势计算省去了Critic网络,降低了强化学习阶段的显存开销,使在线训练更轻量。
- 「DAPO token级损失函数相较于原生GRPO的优化差异是什么?」 原生GRPO计算损失倾向于在序列层面做平均,遇到长回答时单个Token的奖励权重会被稀释。DAPO改为按Token归一化损失,确保每个Token的梯度贡献不受总长度影响,缓解了长度偏差。
- 「有些衍生改进去掉了显式KL惩罚项,这样做的依据是什么?」 去掉显式KL惩罚项是为了简化优化目标,减少超参数调优成本。实际训练中通过严格的截断机制,依然能控制新旧策略的偏离程度,在保证稳定性的前提下降低目标复杂度。
回答的坑
- 机械背诵改进点列表而忽略具体动机,正确的答法是把机制改进与原版缺陷绑定,例如讲Token级归一化时必须点明它是为了解决长度偏差。
- 误以为所有改进都要叠加复杂的计算公式,正确的理解是部分衍生方案采用了移除组内标准差归一或去掉显式KL项的减法思路来避免信号爆炸。
同系列的题
—— 本题完 ——