GRPO 如何实现,奖励函数尤其长轨迹奖励如何设计?

考查重点:组内学习与长程奖励归因。同题组采样算相对优势,终局奖励核最终状态;可靠里程碑可给过程奖励,防长轨迹刷步骤得分并处理动作掩码

本题目录

参考答案

核心回答

GRPO(Group Relative Policy Optimization)的做法是:对同一道任务采样一组回答或交互轨迹,分别打分,用组内平均奖励作比较基线,再通过策略梯度提高相对高分轨迹的生成概率。它用组内比较构造优势,省去了单独训练价值模型的环节;策略更新仍要处理新旧策略概率比、裁剪和有效 token 掩码等问题。

奖励设计先定义可验证的任务成功,再补充必要的过程反馈和成本约束。对长轨迹,终局奖励能评价整段行为,却难以判断究竟哪一步造成成败;可以增加可验证、去重的阶段进展,或采用更细的优势估计,但不能靠奖励“步骤多、调用多”来代替信用分配。最后同时检查成功率、奖励分布、长度和截断情况,防止训练分数上升而任务完成能力没有改善。

一轮 GRPO 训练怎样实现

第一步是同题采样与评分。 从当前采样策略生成 G 条候选。文本任务保存问题、输出、奖励;多轮 Agent 还要保存动作、工具观察、终止原因和模型生成 token 的位置。同组使用可比较的任务与环境初始条件,每条 rollout 独立恢复环境,避免前一条轨迹改过的状态影响后一条。

第二步是计算组内优势。 经典形式为 Aᵢ = (rᵢ − mean(r)) / (std(r) + δ),δ 是数值稳定项。假设四条轨迹奖励为 [0, 1, 1, 0],按总体标准差计算,均值与标准差都是 0.5;忽略很小的 δ,优势就是 [-1, 1, 1, -1]。这里的正负表示相对同组表现,不表示绝对合格与否。一组全部失败、全部成功或评分器打出相同分数时,居中后的优势都是零,这组的奖励项就没有区分信号;其他正则项仍可能参与更新。

标准差缩放不是所有变体的必选项。它也会改变不同难度问题的权重;实际训练要说明采用组内缩放、批次缩放,还是只减基线,并保持奖励尺度与优化设置一致。TRL 官方文档提供了这些选择。

第三步是更新策略。 对轨迹中模型生成的第 t 个 token,计算 ρᵢ,ₜ = exp(log πθ − log πold);在裁剪式目标中,最大化 min(ρᵢ,ₜ Aᵢ, clip(ρᵢ,ₜ, 1−ε, 1+ε) Aᵢ),再按选定方式聚合有效 token。裁剪限制的是继续扩大策略变化所能获得的目标收益,并不是把所有概率或梯度硬限制在一个区间。输入问题、padding、工具返回的观察不作为模型自己采取的动作计入策略损失。

πold 是本批采样时的策略,用于计算更新比;πref 是用于 KL 正则的参考策略,二者职责不同。KL 项可以抑制相对参考策略的漂移,是否启用及权重取决于训练方案。DeepSeek-R1 论文的设定包含 KL,而当前 TRL 文档也支持不启用它,不能把参考模型写成所有 GRPO 实现都必须常驻的组件。

奖励如何落到长轨迹

以 GUI Agent 在测试环境中创建指定内容的记录为例,可以按以下层次设计。

  • 终局结果:从最终持久状态核对记录是否存在、关键字段是否正确,并确认没有误改其他记录。点击“保存”、页面出现成功提示或模型说“完成了”,都不足以单独证明任务成功。终止判定与奖励判定应共享明确的任务条件。
  • 过程进展:对确实有意义的状态变化给反馈,例如目标页面已到达、必填字段被正确填入。按状态转移或里程碑去重,来回打开同一页面不能反复得分。仅凭动作合法、工具返回成功或出现“Step 1”字样,无法证明任务在推进。
  • 成本与失败:记录调用、时间、无效重试和破坏性误操作。效率项控制在不掩盖主目标的范围内;必要的长路径不应仅因步骤多而输给一个很短的失败路径。不可接受的动作还应由环境权限和动作空间约束,不能只期待负奖励阻止它。

终局打分直接用于 GRPO 时,一条轨迹的模型动作通常共享该轨迹优势。即使第四步选错工具,前面正确的动作也不会因此自动获得独立的正优势。要进一步定位贡献,可以增加可靠的过程评估、比较同一中间状态下的不同后续分支,或使用能估计分步价值的方案;这些方法都会引入评估器、采样或价值估计成本。

衰减因子与长度归一化解决的是不同问题

若采用折扣回报,只有时刻 T 有终局奖励 R,则时刻 t 的回报为 Gₜ = γ^(T−t) R。在教学算例中取 γ=0.99、R=1,距离终点 10 步约为 0.904,100 步约为 0.366。这样会减弱远期结果对早期动作的信号,也可能偏向较快成功的路径;是否符合业务目标,要结合任务长度与成本判断。常见结果奖励 GRPO 并不会自动加入这一折扣,不能只因轨迹长就随意加 γ。

另一件事是损失怎样聚合:先对每条回答的 token 求平均,再对回答求平均,与对整个批次的有效 token 统一归一化,会给不同长度的轨迹分配不同权重。原始 GRPO、DAPO、Dr. GRPO 在这里有不同处理;采用哪一种,应结合长度分布与独立成功率评估,不能只改一个长度惩罚系数就认为解决了长度偏差。

此外,应区分任务真正失败与 rollout 因 token、时间或工具预算耗尽而截断。截断样本怎样评分、是否进入策略损失,要明确配置并观察截断比例;把所有未完成输出一概当成完整错误答案,会引入额外噪声。

怎样判断训练信号有用

先查看每个奖励分量及组内方差,确认高分轨迹确实完成了任务,低分轨迹差在哪里。若大量组同分,检查是题目过难、过易、采样缺少差异,还是评分器没有辨识度,再调整任务课程、采样与奖励;单纯扩大组大小不保证解决问题。

接着在固定的留出任务上比较训练前后成功率,并按长短轨迹、工具种类和失败原因分组,同时记录成本、截断率、重复行为与通用能力变化。若平均奖励提高,但成功率不变、重复调用增加,应优先检查奖励投机,而非继续提高辅助奖励权重。

常见追问

奖励函数必须可导吗?

不需要。规则判题、程序测试和环境状态检查都可以给离散奖励;策略梯度通过模型动作的对数概率求导,奖励本身可以作为无梯度的反馈。

长轨迹是不是一定要加过程奖励?

不一定。可靠的终局验证器可以避免错误过程标签带来的偏差。只有在终局信号过稀、探索困难,且过程进展能够可靠验证时,增加过程反馈才更有价值,还要用消融实验检查它是否改善了最终成功率。

对应教程

《大模型认知与工程概览》中的 RLHF / RLAIF介绍偏好、奖励反馈与策略优化的关系。本文在此基础上展开 GRPO 的组内优势、策略更新和长轨迹奖励;规则奖励场景可以不单独训练奖励模型。

参考资料

  • 国内:Datawhale:第十一章 Agentic-RL:参考准确率、长度与步骤奖励的讲解,区分正文中的结果、过程和成本反馈,并说明形式计数不能替代真实进展。
  • 国内:zero2Agent:GRPO vs PPO:借鉴组内比较与信用分配的分析,解释正文中省去 Critic 后仍需检查同分组、轨迹差异和过程反馈可靠性的原因。
  • 国内:DeepSeek-R1 技术报告 v2:依据第 2.1、2.2 节的 GRPO 目标与正确性、格式奖励,说明正文中的组采样更新机制和两类评分职责。
  • 国外:Hugging Face:GRPO Trainer:参考优势缩放、KL、损失归一化与截断选项,解释正文中论文算法与训练配置的对应关系;具体选项仍以安装版本为准。
  • 国外:Google DeepMind:Specification gaming:通过中途奖励改变行为目标的案例,解释为什么过程反馈也可能诱导绕圈刷分,以及为什么奖励上涨需要和真实完成情况一起看。

相关面经

6 篇

快手

广告算法工程师
校招秋招一面、二面
查看原面经 →
详细说明GRPO奖励函数的设计思路、正负样本判定逻辑

百度

大模型算法岗
一面
查看原面经 →
GRPO 奖励函数的整体设计思路、维度划分、调优考量

百度

端到端决策规划控制算法工程师
秋招二面
查看原面经 →
GRPO怎么实现的,或者说reward怎么设计的?
具体怎么设计的?

唯品会

大模型算法实习
实习
查看原面经 →
多工具调用的工具依赖性,这一块你是怎么设计他的reward的呢?

作业帮

AI 应用算法工程师
实习一面
查看原面经 →
衰减因子没有考量一下长短链路的问题吗?
展开剩余 1 篇面经

小米

视觉多模态算法工程师(Agent)
查看原面经 →
轨迹模型GRPO微调的奖励怎么设计的
你觉得长轨迹的奖励应该怎么给

收录题集

3 个来源,共8 份题集
展开剩余 3 份题集

商汤科技高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

腾讯问答汇编

Rocky Ding · AIGC-Interview-Book · 3 条原题

查看题集 →

训练、数据与模型优化:从数据清洗到 LoRA

Onefly · zero2Agent · 1 条原题

查看题集 →

相关题目

4 题