跳到正文

DEEP RESEARCH PROJECT INTERVIEW · Q20 / 25

GRPO 为什么同一道题要采样一组答案,组内相对优势到底怎么算?

从同题多轨迹、组均值与标准差出发,讲清 Deep Research GRPO 的相对优势、reward、动态采样和截断风险。

作者与复核:吴师兄内容依据:公开教程、代码示例与工程推导查看关联教程 →查看吴师兄公开作品 →

25 道题目Q20
本页内容24 节

30 秒先说结论

同一问题在相同环境中采样一组轨迹,每条 reward 减去组均值并按标准差归一化形成相对优势。GRPO 省掉可学习 value model,但仍有统计 baseline、策略比率、clip 与 KL。全同分、环境失败和截断未完成必须单独处理。

强化学习训练 Deep Research Agent 时,同一道题往往不只生成一条轨迹。

模型会采样一组不同路径:有的先 Search 再 Visit,有的只看摘要就回答,有的查全证据却被长度截断,还有的格式正确但结论不完整。

GRPO 的关键做法,是把同组候选放在一起比较。高于组内基准的轨迹得到正优势,低于基准的轨迹得到负优势,再用这个相对信号更新策略。

它没有凭空消除“基准”,而是用组内 reward 统计替代额外学习的价值网络。

这个直觉很简单,真正落地却有许多边界:同组是否可比,reward 是否可信,全对或全错怎么办,截断轨迹能否算低分,组内优势又怎样传到长轨迹中的每个动作。

所以面试官真正想问的是:

GRPO 的组内相对优势怎样计算,它和 PPO 的价值网络差在哪里,为什么 reward 方差过小就没有学习信号,又如何避免奖励作弊、截断误罚和把教学公式说成现有生产效果?

先用一个教学例子理解“相对”

假设同一个研究问题采样四条轨迹,教学 reward 分别是 0.9、0.6、0.2 和 0。

组内均值是 0.425。第一条和第二条高于均值,得到正向优势;第三条和第四条低于均值,得到负向优势。

若再除以组内标准差,可以让优势落在更可比较的尺度上。常见表达是:某条候选的优势等于它的 reward 减去组均值,再除以组标准差与一个防止除零的小量。

这个例子只用于解释计算。

0.9、0.6、0.2 与 0 不是现有项目的真实奖励,也不代表某条行为应该使用这些固定分数。

真正系统的 reward 来自任务正确、格式、证据、过程和安全等可验证信号,具体组成需要按任务设计。

GRPO 组内相对优势的直觉

同组候选用共同基准比较,优势表达相对好坏,不是绝对能力。

GRPO 省掉了什么,又没有省掉什么?

PPO 通常需要一个可学习的价值函数估计基准,用来判断某个动作结果比预期好还是差。

在大模型场景中,价值网络可能带来额外参数、显存和训练复杂度。

GRPO 用同一问题的组内 reward 统计量构造基准,因此不再需要单独训练那个 critic。

但 GRPO 仍然需要 reward。

它还需要采样当前策略的候选,计算新旧策略概率比,并通过 clip 控制更新幅度。实际实现通常还保留 KL 相关约束,防止策略过度偏离参考模型。

所以“GRPO 不需要价值网络”是对的,“GRPO 不需要基准、不需要约束”是错的。

另外,省掉一个价值网络不自动意味着整个训练更便宜。多条长轨迹的环境执行、工具调用和 reward 验证仍然昂贵。

本文不声称相关材料已经给出真实生产训练的显存或成本收益。

为什么必须对同一道题采样一组?

组内比较的前提是候选在相同任务合同下可比。

如果把不同难度、不同时间范围和不同工具预算的问题混在一组,reward 高低可能来自题目差异,不是策略差异。

同一个 prompt 也不够。

工具环境、来源时间、最大步骤、超时、可用工具和 reward 版本都要一致。某条轨迹因为网页暂时不可访问而低分,不能简单解释成策略更差。

同组候选还应尽量独立采样。如果复制同一轨迹或随机性过低,reward 几乎一样,组内没有可用差异。

因此组是一个实验单元:任务、环境和判定条件相同,只让策略采样路径发生变化。

组内标准化到底在做什么?

减去均值让组内优势以零为中心。

高于平均的候选为正,低于平均为负。整组优势加起来接近零,更新强调相对排序。

除以标准差用于调整尺度。若一组 reward 差异很大,原始差值也会很大;若差异很小,归一化后仍能表达相对位置。

但标准差接近零时要小心。

若候选全都同分,分母只剩防除零的小量,实质上没有可靠排序信号。实现不应把微小数值噪声放大成巨大更新。

常见做法是识别全对、全错或低方差组,过滤、降低权重或重新采样。训练材料把这类思路称为动态采样:只保留有区分度的组。

阈值和处理方式依赖 reward 精度与任务,文章不提供未经验证的统一数字。

Reward 应该由哪些部分组成?

第一类是任务结果。

最终答案是否完成要求,事实与计算是否正确,开放题是否覆盖约束。

第二类是格式与协议。

tool call 能否解析,角色是否闭合,是否产生唯一 final answer。

第三类是证据。

关键主张是否被 observation 支持,引用是否指向真实来源,是否把搜索摘要越界当原文。

第四类是过程。

工具选择和参数是否合理,是否无效循环,错误后是否恢复,证据足够后是否停止。

第五类是安全与边界。

是否遵守权限、来源限制,证据不足时是否承认不确定。

这些分项最好分别记录,再决定怎样组合。若只保留一个总 reward,无法判断模型到底因为答案、格式还是更短轨迹得到高分。

任何高分都不能抵消事实虚构、越权或严重协议错误等硬失败。

GRPO 从采样到更新的完整流程

先在同一条件下执行候选,再拆分 reward、计算优势并受约束更新。

为什么“最终答案对了”仍可能是坏轨迹?

模型可能凭预训练记忆答对,却完全没使用要求的最新来源。

它也可能调用错误工具,碰巧从摘要猜中结论。

若 reward 只看答案字符串,这些捷径会被强化。模型最终越来越会绕过工具,而不是学习研究。

相反,某条轨迹可能使用了正确证据和工具,却因为最终格式少一个字段被判低分。格式确实要修,但不能把前面的有效策略都当成同一种错误。

所以 reward 需要分项,错误需要分类。

对可验证事实任务,可以把主张与证据对齐作为硬门;对开放任务,检查约束、比较、取舍和风险;对无答案任务,检查是否在规定范围内充分搜索并正确声明证据不足。

模型裁判可以辅助,但关键事实仍要回到真实工具 observation 与规则。裁判和策略模型可能共享偏差,不能因为两者同意就视为真。

全对或全错为什么学不到东西?

如果同组所有候选 reward 相同,减去组均值后优势都接近零。

全对可能说明题目太简单,当前策略已经稳定解决。

全错可能说明题目太难、环境故障、reward 过严,或者模型根本不会生成合法轨迹。

两者处理方向不同。

全对题可以降低采样频率,把算力留给边界题;也可以提高任务难度,但不能为了制造差异故意引入错误标准。

全错组先做归因。若是格式全错,应回到 SFT 冷启动;若环境全挂,应修基础设施;若任务合理但能力不足,可以分解难度或补监督数据。

动态采样不是看到全同分就简单丢弃。失败分布本身是诊断资产,要保留原因和版本。

组大小应该越大越好吗?

更大的组可能覆盖更多策略,使组内统计更稳定。

但长程 Agent 每条候选都要运行工具,组越大,采样成本、延迟和环境波动越高。

如果 reward 本身噪声大,增加候选不一定解决判定错误。

组太小则均值和标准差更容易受单条异常影响,也可能很难采到明显不同的路径。

合理组大小要结合任务难度、轨迹长度、采样多样性、环境成本和 reward 稳定性实验确定。

不能从教学示例的四条轨迹推导生产组大小,也不能把教程里举例的某个 N 当统一最佳值。

评估时应同时观察组内 reward 分布、有效组比例、轨迹差异和单位有效信号成本。

截断轨迹为什么是 Agent GRPO 的大坑?

Deep Research 轨迹长,可能经过多次搜索、访问、计算和摘要。

若达到最大长度时还没有 final answer,系统通常给出低 reward。

但“没做完”不等于“做错了”。它可能前面的工具选择和证据收集都合理,只是预算不足。

如果这些轨迹一律得到强负优势,模型可能学到一个危险捷径:尽早输出任意答案,避免被截断。

训练材料明确提醒,截断失败样本若简单作为负样本,会导致格式与研究深度问题。

工程上应区分策略错误、环境失败、预算耗尽和截断未完成。可以重采样、降低这类样本的负向作用,或使用针对长视界的分段方法,但具体规则必须经过实验。

不能为了“让 reward 完整”自动补写 final answer,那会引入没有真实策略支持的标签。

组内优势能知道哪一步做对了吗?

通常组内 reward 首先评价整条轨迹。

一条高分轨迹中的 token 或行动会共享正向信号,但并不意味着每一步都最优。它可能有一次无效搜索,只是最终答案很好。

这就是长视界信用分配问题。

过程 reward、步骤级规则和可验证中间状态可以提供更细信号,但也增加 reward 设计和被利用的风险。

材料还提到 ReSum-GRPO 等长轨迹优化方向,通过分段处理长 horizon。正文只把它作为方向,不声称现有系统已完成部署或验证。

无论采用哪种方法,中间 reward 都要绑定真实状态:工具是否成功、证据是否新增、冲突是否解决。不能用模型自述“这一步很好”当奖励事实。

怎样识别 Reward Hacking?

第一种是格式作弊。

模型输出满足解析器的最短结构,却没有完成研究。

第二种是答案关键词作弊。

它猜中参考答案字符串,但忽略时间、来源和比较条件。

第三种是成本作弊。

如果奖励鼓励少调用,模型可能直接回答;若鼓励证据数量,又可能堆无关引用。

第四种是裁判偏好作弊。

模型学习更讨模型裁判喜欢的措辞,而不是更准确的事实。

第五种是环境漏洞。

策略利用模拟器固定返回或可预测 ID 获得高分,真实工具中无法复现。

防护方式是 reward 分项、硬门、对抗用例、真实环境抽查和版本化回归。高 reward 样本要人工抽查证据与轨迹,不只读最终答案。

GRPO 学习信号与风险矩阵

组内优势依赖 reward 与环境,任何偏差都会被相对比较放大。

组内优势能跨问题直接比较吗?

通常不能把两个不同 prompt 的标准化优势简单当作绝对能力分。

一条轨迹在简单题组中 reward 很高,但只略高于同组候选,优势可能不大;另一条轨迹在难题组中整体得分都低,只要相对最好也可能得到正优势。

这正是组内比较的设计:控制题目条件后学习同题候选的相对策略。

它也带来一个边界。训练日志中的平均优势不等于跨任务准确率,正优势数量也不能代替独立评测。

难度分布仍需单独治理。若训练长期只采样简单题,组内比较再准确也学不到复杂研究;若全是超难题,候选可能全错而缺乏信号。

评估模型能力要回到固定测试集的任务完成、证据和行为指标,不用组内标准化后的优势做生产 KPI。

Reward 发生平移或缩放会怎样?

在理想的均值与标准差归一化中,给同组所有 reward 加同一个常数,不会改变相对优势。

把所有 reward 乘相同正数,归一化后排序通常也保持。

但真实实现还有 clip、KL、数值稳定项、硬门和不同 reward 分项,不能只凭这个直觉推断训练完全不变。

若某个分项突然扩大数值尺度,它可能影响总 reward 的排序。若 reward 被离散成少数档位,又容易产生大量全同分组。

因此 reward 版本变更要做离线重算:在同一批已审计轨迹上同时运行新旧规则,比较排序翻转、低方差组和硬失败处理。

不能边训练边无痕修改 reward。否则策略变化与评分规则变化混在一起,组内优势日志失去可比性。

Reference Policy 和 KL 在守什么边界?

组内正优势会提高某些候选的概率,但更新不能无限放大。

策略比率与 clip 限制一次更新偏离旧策略过多,KL 相关约束则帮助模型不要远离参考分布。

对于 Agent,这个边界很重要。Reward 有漏洞时,过大的策略移动可能迅速放大某种捷径,例如固定输出短答案或滥用某个工具。

KL 也不是越大越安全。约束过强可能让模型几乎不变,过弱则更容易漂移。具体设置必须通过目标任务和回归实验确定。

监控时不能只看一个 KL 均值。还要按输出长度、任务类型和异常组观察,检查格式、工具与答案行为是否发生突变。

本文只解释约束角色,不提供材料未验证的最佳系数或现有生产配置。

为什么 GRPO 数据必须跟当前策略保持关系?

GRPO 的候选应由当前或明确版本的策略采样,才能用相应概率比进行更新。

若长期复用很久以前 Teacher 生成的轨迹,却把它们当作当前策略 rollout,概率和环境条件都可能不匹配。

旧轨迹仍可用于 SFT、离线审核或 reward 回归,但不能无标识地混入在线采样批次。

每组应保存策略 checkpoint、采样参数、Prompt、工具、环境和 reward 版本。训练失败时才能判断是策略退化、采样变化还是环境漂移。

真实网页还会随时间变化。同一个 prompt 在不同日期获得不同 observation,不能只按文字相同就视为同一实验条件。

保持策略与数据血缘,可以让组内相对优势继续代表可解释的当前行为差异;这些元数据是可比性的前提,不是额外负担。

怎样验证 GRPO 实现没有算错?

先用固定 reward 的教学组测试均值、标准差和优势符号。

所有 reward 相同的组应被识别为无区分度,不能出现巨大数值更新。

再测试 reward 平移。不改变组内相对差时,优势排序应保持。

测试异常值,观察单个极端 reward 是否主导整组,并确认裁剪和数值稳定策略符合实现。

然后检查同组候选确实来自同一 prompt、环境、预算与 reward 版本。

在训练日志中分别记录原始 reward、各分项、组均值、标准差、优势、KL、clip 比例、长度、截断与环境错误。

最后做策略回放。正优势轨迹是否真的证据更好、完成度更高,而不是利用 reward 漏洞。

公式单测通过只证明计算正确,不能证明 reward 合理或训练有效。

一次小规模 GRPO 实验怎样设计?

先选择 SFT 后已经能稳定执行的窄任务集,避免候选全部格式失败。

冻结工具协议、环境快照、最大预算、reward 版本和评测集。

为每个问题采样一组候选,统计全同分组、环境失败、截断和有效差异。

人工抽查高低 reward 轨迹,确认排序符合证据与任务质量。

训练只做小步更新,持续监控 KL、格式、工具选择、答案证据和 SFT 回归。

若 reward 上升但真实评测不变,优先查 reward hacking 与测试泄漏;若格式崩坏,查负样本与更新幅度;若有效组太少,查任务难度和采样多样性。

通过小批实验只能说实现链路和某个方向得到支持。没有独立复现、真实环境和生产验证,不能称为已获得稳定收益。

相关材料提供 GRPO 原理、风险与教学实验,不提供可以在本文中宣称的现有生产训练效果。

面试官继续追问,怎么接?

追问一:GRPO 是不是完全没有 baseline?

不是。它不用额外学习的 value model,但用组内均值和标准差形成统计基准。

追问二:为什么同组候选必须是同一道题?

要控制任务难度与环境条件,让 reward 差异主要来自策略,而不是不同问题本身。

追问三:全对和全错的组怎么处理?

先标记为低区分度,再区分题太简单、太难、环境失败或格式冷启动不足,选择降采样、重采样或回到数据与 SFT。

追问四:截断轨迹 reward 低,不就应该抑制吗?

不一定。它可能方向正确但没做完。无脑抑制会鼓励仓促回答,应与真正策略错误分开。

追问五:优势为正就说明每一步都正确吗?

不能。轨迹级 reward 主要说明整体相对更好,步骤级信用仍需过程信号和状态验证。

面试时怎样把 GRPO 从公式讲到工程

GRPO 对同一个问题采样一组候选,在相同环境、预算和奖励版本下执行。每条 reward 减去组均值并按标准差归一化,得到组内相对优势。正优势候选被强化,负优势候选被抑制。它省掉的是 PPO 中额外学习的 value model,不是取消 baseline,真实目标仍有策略比率、clip 与 KL 等约束。

工程重点不是只把公式算对。Reward 要拆成任务、格式、证据、过程和安全,环境失败要与策略错误分开。全对、全错或低方差组缺少学习信号,需要诊断和动态采样。长轨迹截断不能一律当负样本,否则模型会学会提前乱答。

我会用数值单测验证均值、标准差和优势,再检查同组可比性、reward 分项、KL、clip、长度、截断和环境错误,并人工回放高低 reward 轨迹排查奖励作弊。教学 reward 只解释机制,相关材料没有提供可宣称的现有生产收益,必须通过小批、独立和真实环境实验验证。

GRPO 组内相对优势检查清单

GRPO 实验必须留下哪些证据

不要停在优势公式;拿一次真实或受控实验说明同组如何保持可比,以及低方差、截断和环境错误怎样处理。

  • 是否说明 GRPO 省掉可学习 value model,但仍有统计 baseline?
  • 是否保证同组 prompt、环境、预算和 reward 版本一致?
  • 是否拆分答案、格式、证据、过程和安全 reward?
  • 是否识别全同分、低方差、环境失败与截断未完成组?
  • 是否监控 KL、clip、长度、异常和 SFT 共享回归?
  • 是否明确教学数字与原理不代表现有生产训练效果?

INTERVIEW FOLLOW-UPS

面试官会怎样继续追问?

这些追问会继续检查方案取舍、验证方法和项目事实。
  1. Q01

    GRPO 是不是完全没有 baseline?

  2. Q02

    为什么全对或全错的组没有学习信号?

  3. Q03

    截断轨迹为什么不能直接作为负样本?

  4. Q04

    轨迹优势为正能否说明每一步都正确?

PROJECT CHECK

换成你的项目,这几件事能否说清楚?

  • 同组任务、环境、预算与 reward 版本一致
  • reward 拆分答案、格式、证据、过程和安全
  • 低方差、环境失败与截断分别处理
  • 教学机制不写成现有生产训练效果
用自己的项目经历练一次