滴滴算法秋招凉经:GRPO 监控指标与 Agentic RL 数据链路
- 结果
- 已挂
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- GRPO 训练时,除了 reward,还要盯哪些指标?指标异常分别意味着什么?
- Agentic RL 的训练数据从哪里来?一条可训练轨迹至少要保留什么?
- SFT 数据从哪里来?怎样防止把错误的工具使用方式教给模型?
- 按成功轨迹采集数据,会引入什么偏差?怎么处理?
- 什么时候继续做 SFT,什么时候切到 RL?
- GRPO 相比 PPO 省掉了什么,又付出了什么代价?
- GRPO 训练中怎样同时优化吞吐和有效学习信号?
- 组内奖励方差为零时,GRPO 应该怎么处理?
- 工具调用轨迹有多轮决策时,终局奖励应该怎样分配?
- 异步 rollout 收集到旧策略的数据,还能直接用于更新吗?
- KL 约束在 RL 后训练中起什么作用?设得过大或过小会怎样?
- 请做一下自我介绍
《参考解析》
GRPO 的监控面板:reward 之外至少还要看六类信号
任务成功率(用独立校验器算,而不是训练奖励)、组内奖励方差、策略与参考模型的 KL、新旧策略概率比值分布与 clip fraction、响应长度、按任务类型拆分的结果。诊断逻辑:平均 reward 涨而真实成功率不动,先怀疑奖励投机(模型学到格式、长度、关键词等捷径)或评测集覆盖不足;组内方差长期接近零,说明分组采样已经提供不了区分信号;KL 快速抬升意味着策略偏移过快,要调小学习率或加大 KL 系数;clip fraction 偏高说明数据太旧或更新步长太大;响应长度明显增长要区分是模型真在解题,还是学会了用冗长输出换分。只看总均值最危险——简单题占比高时,总分上涨完全可能掩盖困难题退化,所以必须按题目难度和类型分桶看。
轨迹数据:保留「模型当时实际可见的状态」
来源有四类:可执行的任务环境、带确定性校验器的题目、历史工具调用轨迹、模型在当前环境里自己采样的 rollout。一条可训练轨迹至少要有初始任务、逐轮可见上下文、模型输出、工具请求与返回、终止原因、校验结果和策略版本。最容易踩的坑是工具返回:如果线上经过截断或清洗,训练记录也必须保存模型当时看到的那一版,否则重放时会把「当时不可见的信息」当成决策依据,训练出推理时无法复现的行为。
SFT 能不能停:先看基础行为,再看奖励是否有区分度
该继续做 SFT 的信号很明确:模型还不遵守工具协议、经常漏必要步骤、采样半天也拿不到一条有效轨迹。RL 需要两个前提——模型能以一定概率探索到正确行为,奖励能把较好和较差的结果区分开。当基础行为已稳定、任务存在多种可行路径、很难逐步写出标准示范但最终结果可以可靠验证时,切 RL 更划算。切换不是一次性的:新增工具或任务格式后,先补少量高质量示范把行为立起来,再用 RL 优化决策。工具有调用样本不能只看最终答案对不对——模型可能先调了无关工具、读了不该读的信息、最后碰巧答对,所以筛选时要查工具参数是否合法、调用时点是否合理、是否忠实使用返回值、结论能否被轨迹证据支持;经过人工修复的轨迹还要区分「真实执行结果」与「人为改写的理想过程」。
组内奖励方差为零:先分类,再决定动不动学习率
三种情况要分开:全对、全错、以及奖励器把质量不同的回答打成了同分。前两种下组内没有相对排序信息,正确的做法是让这一组的策略梯度贡献为零(直接跳过),再去调采样温度、题目难度或课程安排;把标准差下限设成 1e-6 只防了除零,不能凭空创造训练信号,反而会放大数值噪声。第三种说明 verifier 区分度不够,要改奖励器(更细粒度评分、加过程校验),调学习率没有意义。
异步 rollout 与 KL:把 off-policy 的账算清楚
旧策略产生的数据不能无条件当当前策略的样本用。更新时要记录生成轨迹的策略版本和当时对实际输出的 log probability,算新旧策略的概率比值;策略偏移大时,即便做了裁剪,样本也会大量落进裁剪区间——算力花出去了,有效梯度几乎为零。可以设最大策略滞后(超过 N 个 step 的轨迹直接丢)、限制单条轨迹复用次数,并按版本监控 clip fraction 和有效样本占比。异步程度越高,越要把「每秒生成多少 token」和「每秒拿到多少有效更新」分开看,只盯吞吐容易自欺。
KL 项的作用是约束当前策略别过快远离参考策略,从而保留原有能力、抑制奖励漏洞。系数过大,模型即使发现更好的解法也不敢偏离;系数过小,策略会迅速偏向校验器的薄弱点,通用能力跟着退化。实践中它通常作为奖励里的惩罚项或对参考模型 logprob 的正则,配合早停和 held-out 通用能力评测一起看,而不是只盯训练曲线。