真实面经题目 · 原创解析

DAPO、GSPO、GFPO 等 GRPO 变体分别试图解决哪些后训练问题?

这题考的是候选人是否能把 GRPO 变体放到后训练问题图谱里理解,而不是背算法名。好答案要先说明 GRPO 的基本形态:同一 prompt 采样一组回答,用组内相对奖励估计 advantage,减少显式 critic 需求;再说明 DAPO、GSPO、GFPO 分别主要针对大规模长推理 RL 中的训练稳定性、更新粒度和推理长度效率问题。由于这些算法较新,边界是只按公开论文和公开实现文档描述,不声称未公开训练配方,也不把不同团队的缩写含义混为确定事实。

出现于:百度 · 算法

60 秒回答模板

我会先从 GRPO 的问题背景讲。GRPO 通常用于可验证奖励的后训练:对同一个题目采样多条回答,用组内奖励均值和方差构造相对 advantage,再做类似 PPO 的 clipped policy update,优点是省掉 value critic,适合数学、代码这类可自动判分任务。但朴素 GRPO 在大规模长 CoT 上会遇到三个典型问题:训练不稳定、token 或序列长度带来的信用分配偏差、以及模型越训越长但不一定更有效。DAPO 公开资料通常将其理解为 Decoupled Clip and Dynamic sAmpling Policy Optimization,重点是让长推理 RL 更可复现、更稳定,公开技术点包括提高上界 clip 维持探索、动态采样过滤零梯度或低信息 batch、token-level policy gradient 让长序列训练更平衡,以及 overlong reward shaping 降低超长回答造成的奖励噪声。GSPO 公开论文通常将其理解为 Group Sequence Policy Optimization,它针对 token 级重要性比率与序列级奖励不匹配的问题,把重要性比率、clip、reward 和优化推进到序列级,公开资料强调其对训练效率和 MoE RL 稳定性的改善。GFPO 公开资料通常将其理解为 Group Filtered Policy Optimization,它关注可验证 RL 后回答长度膨胀的问题,通过训练时采更多候选,再按长度和 token efficiency 过滤,只用更短且有效的样本更新,使推理时少想但保持准确率。回答时要强调:这些方法不是互相完全替代,而是在采样、目标函数、更新粒度和样本过滤上处理不同失败模式,最终要用 accuracy、pass@k、平均 token、训练吞吐、KL/entropy、clip ratio、reward 方差和延迟成本一起评估。

考点 先讲 GRPO 基线
难度 真实面经题
回答目标 让候选人用公开资料边界解释 GRPO 变体各自针对的后训练失败模式,并能给出可验证的工程评估维度。

深入解析

01

GRPO 的共同底座

GRPO 的核心是同一 prompt 采样一组 completions,利用组内奖励差异构造相对 advantage,再对当前策略做 clipped update。它省掉显式 value critic,降低 RLHF/PPO 工程复杂度,特别适合数学、代码、逻辑题这类可以用规则、测试用例或判题器给奖励的 RLVR 场景。

02

朴素 GRPO 的失败模式

长推理后训练里,朴素 GRPO 可能出现 entropy collapse、训练振荡、reward 方差大、无信息样本占比高、超长回答被错误强化、token 级更新与整条回答奖励不一致等问题。算法变体大多不是改一个名字,而是围绕这些失败模式改采样、裁剪、损失或样本选择。

03

DAPO 关注稳定和复现

公开资料通常把 DAPO 描述为面向大规模 LLM RL 的开源系统和算法组合,重点解决长 CoT RL 难复现、探索不足、零梯度样本浪费、长序列训练不平衡和超长回答噪声。它的价值不只是一个公式,而是把训练配方、数据处理、采样和监控一起工程化。

04

DAPO 的四个公开技术点

DAPO 公开论文列出的关键点包括 Clip-Higher、Dynamic Sampling、Token-Level Policy Gradient Loss 和 Overlong Reward Shaping。可以概括为:放宽正向更新上限保护探索,动态采样提高有效 batch 比例,按 token 贡献重平衡长回答训练,对超长输出做软惩罚以降低奖励噪声。

05

GSPO 关注更新粒度

GSPO 的公开描述强调把重要性比率和裁剪从 token 级移到 sequence 级,因为可验证任务的奖励往往作用于整条回答。这样做试图让优化目标和奖励粒度对齐,减少 token 级 ratio 在长序列和 MoE 场景中的不稳定性,并简化部分 RL 基础设施设计。

06

GFPO 关注长度效率

GFPO 的公开资料把问题定义为 RLVR 训练后模型回答越来越长,很多 token 并没有带来有效推理增益。它通过训练时采样更大的 group,再按长度和 reward per token 等 token efficiency 标准过滤样本,让模型学习更简洁的高价值推理轨迹,以降低推理延迟和成本。

07

比较维度和工程验证

比较这些变体不能只看 benchmark 分数。DAPO 要看训练曲线稳定性、有效样本比例、entropy 和超长率;GSPO 要看 sequence-level clip ratio、MoE 稳定性和吞吐;GFPO 要看平均输出 token、准确率保持、端到端延迟和困难题上的退化。线上还要关注奖励黑客和分布外泛化。

易错点

  • 把 DAPO、GSPO、GFPO 都说成 GRPO 的同义词,没有区分它们解决的训练稳定、更新粒度和长度效率问题。
  • 声称某个团队内部一定使用了某个未公开配方,超出公开论文和公开实现文档能支持的范围。
  • 只背 DAPO 四个名词,不解释 Clip-Higher、Dynamic Sampling、token-level loss 和 overlong shaping 分别对应的失败模式。
  • 把 GSPO 说成只改采样数量,忽略公开资料中 sequence-level importance ratio、clipping、reward 和 optimization 的核心。
  • 把 GFPO 简化成惩罚长答案,没有说明它按长度和 token efficiency 过滤候选,并需要保持准确率。
  • 只用最终 benchmark 准确率比较算法,忽略平均输出长度、延迟、训练吞吐、reward 方差、entropy 和 clip ratio。
  • 没有说明这些方法主要适合有可验证奖励或较可靠奖励的后训练场景,泛化到开放对话偏好训练时需要额外验证。

面试官追问

GRPO 为什么适合可验证奖励训练?

可验证任务可以对每条回答给出相对可靠的结果奖励,例如数学答案是否正确、代码测试是否通过。GRPO 对同题采样一组回答,用组内相对表现估计 advantage,减少 value critic 训练压力。这样工程上更简单,但奖励稀疏、样本方差和长回答信用分配仍然是难点。

DAPO 的 Dynamic Sampling 解决什么问题?

公开论文语境下,Dynamic Sampling 主要针对 group 内样本奖励没有差异或梯度信息很弱时训练效率低的问题。通过动态补采或过滤无效样本,训练 batch 中保留更多有区分度的样本,减少零梯度浪费,使收敛曲线更稳定。但它也会增加采样侧计算和实现复杂度。

GSPO 为什么要从 token 级改成 sequence 级?

很多 RLVR 任务的奖励是整条回答正确与否,而不是每个 token 都有独立奖励。token 级重要性比率在长序列里可能放大方差,也可能和整答奖励粒度不一致。GSPO 的公开思路是用序列似然定义 ratio,在序列级裁剪和优化,让目标函数更贴近实际奖励信号。

GFPO 会不会牺牲复杂题的深度推理?

这是必须验证的风险。GFPO 的目标不是简单惩罚长答案,而是过滤长度和 token efficiency 都不理想的样本。如果过滤过强,可能让模型在难题上提前收敛到短但错误的轨迹,所以要按题目难度分桶看准确率、输出长度、pass@k 和 latency,而不能只看平均 token 降低。

这些变体能不能直接叠加使用?

理论上部分思想可能组合,例如动态采样、序列级目标和长度过滤对应不同环节,但不能机械叠加。每个改动都会改变样本分布、梯度尺度、探索强度和长度偏好,组合前要做 ablation,观察 reward 方差、entropy、KL、clip ratio、超长率和分难度准确率是否同时稳定。