跳转至

Outcome Reward Models / Verifiers

范围

本文档整理用于 reasoning rerank、best-of-N selection、guided decoding 和 outcome-reward training 的 ORM/Verifier 论文。这里的 ORM 指“根据 prompt + candidate answer/reasoning 给出 outcome score 的模型”。对客观题,outcome 往往是 final answer correct/incorrect;对主观题,outcome 可以是 preference pair 中的 better/worse。

论文脉络

年份 论文 核心问题 对 ORM 训练的启发
2021 Training Verifiers to Solve Math Word Problems 多采样后用 verifier 选正确解 同题多候选、token-level verifier、LM auxiliary objective、从 generator 初始化
2022 Solving math word problems with process- and outcome-based feedback outcome vs process feedback outcome label 足以降低 final-answer error,但 trace error 需要 process feedback 或近似 process 的 RM
2023 Let's Verify Step by Step MATH 上 PRM 是否优于 ORM 困难推理中 PRM 明显强,ORM 需要 hard negatives 和 false-positive 控制
2024 OVM outcome label 能否训练 partial-path value ORM 可变成 value model,用于 step-level guided decoding
2025 Logical Reasoning with ORM 逻辑推理中的 ORM test-time scaling Echo CoT 是构造 hard negatives 的有效方法
2025 Variation in Verification verifier 效果受什么因素影响 问题难度影响 TPR,generator 强度影响 TNR;强 generator 的错误更难验
2025 Critique to Verify 用 critique 训练 verifier 做 TTS 聚合 critique + RLVR 可提升 weighted voting 与 abstention honesty
2025 OREAL 只用二元 outcome reward 做数学 RL pass-rate 筛题、正负平衡、token-level reward model、verifier 组合
2026 Agentic Verifier for Competitive Coding 代码 verifier 能否主动找反例输入 execution verifier 可从被动打分变成主动生成 discriminative inputs
2026 Hard2Verify 前沿开放数学 step verifier benchmark 旧 PRM benchmark 高分不代表能抓前沿模型的 subtle step errors
2026 DeepVerifier agent 长轨迹如何用 rubric 做测试时自我验证 failure taxonomy + follow-up evidence check 可做开放任务 verifier

统一训练框架

最常见 ORM 输入是:

prompt + candidate_solution -> scalar score

客观题可以用 BCE/MSE:

label = 1 if final answer is correct else 0

主观题更常用 pairwise loss:

score(prompt, better_answer) > score(prompt, worse_answer)

关键是 pair 必须在同一个 prompt 内比较。跨 prompt 的分数很容易混入题目难度、长度、领域或风格偏差。

数据构造经验

  • 每个 prompt 采样多条候选。Cobbe 用每题 100 条,Uesato 用 K=96,OVM 用每题 100 条。
  • 过滤全对/全错题。OREAL 保留 correctness rate 在 0 到 0.8 的问题,避免无学习信号或过易样本。
  • 构造 hard negatives。Lightman 的 convincing wrong-answer、LogicORM 的 Echo CoT 都说明,显然错误的负样本价值有限。
  • 正负样本按 prompt 平衡。OREAL 的 token-level RM 每题保留 1 条正样本和 1 条负样本,避免样本比例和题目难度 shortcut。
  • 对主观题,rubric 要明确。better/worse 可以不是 correct/wrong,但必须说明偏好维度:事实性、完整性、指令遵循、简洁性、安全性、推理质量等。

模型与训练

默认 recipe:

init: SFT/instruct/generator checkpoint
architecture: base LM + scalar score head
training: LoRA/full finetune + score head end到端训练
loss: pairwise BT for preference rerank; BCE/MSE for binary correctness
eval: pairwise accuracy/AUC + Best-of-N task metric

细节:

  • Cobbe 和 OVM 都支持 token-level outcome label,即把最终 outcome 复制到 solution token 上。
  • Cobbe 发现 token-level verifier 最终优于 solution-level verifier,并且 LM auxiliary objective 有帮助。
  • Lightman 的 ORM 只训练 1 epoch,不用 dropout,也不用 LM objective,作为 PRM 对照。
  • OVM 在 7B 上的 LR 范围是 2e-61e-5,取决于 base model。
  • OREAL 的 token-level RM 用 policy 同权重初始化,一维线性输出层零初始化,LR 2e-6,warmup 10 steps。

Rerank 与搜索

完整解答 rerank:

  1. 对每个 prompt 采样 N 条答案。
  2. 用 ORM 给每条打分。
  3. 选最高分,或先按 final answer 聚合分数再选。

Step-level planning:

  1. 每一步采样多个 next step。
  2. 对 partial path 估值。
  3. 保留 top-b beam。
  4. 直到完成。

OVM 显示 outcome label 也能训练用于 partial path 的 value model,但这更依赖任务结构和候选采样质量。

生成式 verifier 与 critique

近期 verifier 不再只输出 scalar score,也会生成 critique 或 verification CoT:

  • Critique to Verify 用 ground-truth solution 和模型候选解对比,合成 critique 数据,先 SFT 冷启动,再用 RLVR 训练 Mirror-Verifier。推理时每个候选解生成多条 critique,把 True verdict 比例作为 verify score 做 weighted voting 或 abstention。
  • Variation in Verification 研究通用 LLM generative verifier 的动态规律:题目越容易越能识别正确解,generator 越强其错误越难被 verifier 拒绝。这说明 hard negatives 应优先来自强 generator。
  • Hard2Verify 进一步说明开放式数学证明需要 step-level verifier 判断“正确且充分支撑”,不是 final answer matching 能覆盖的任务。

这类方法的重点不只是提升 pairwise accuracy,而是让 verifier 产生可审计的错误理由,并支持拒答、反馈或后续修正。

主动式 verifier

代码和 agent 任务中的 verifier 可以主动收集证据:

  • Scaling Agentic Verifier for Competitive Coding 让 verifier 在执行环境中多轮生成测试输入,寻找能区分候选程序的 counterexamples。它证明随机输入 scaling 效率低,targeted discriminative input 更适合 competitive programming rerank。
  • DeepVerifier 面向 deep research agent,把长轨迹验证拆成 taxonomy-guided follow-up questions,再用工具查证证据,最后给出 rubric-based judgment 和反馈。

这提示 verifier 训练不必局限于 prompt + candidate -> score。在可执行或可检索环境中,verifier 可以变成一个证据生成/查证 agent。

主观题 ORM 注意事项

主观题没有可靠 final answer,因此 pair 不要求 correct-wrong,只要求 better-worse。但要避免以下问题:

  • 长答案 shortcut: 构造 short but good > long but fluffy 的 pair。
  • 风格混杂: 同一训练批次不要把“更安全”“更详细”“更有文采”无标识地混在一起。
  • 弱偏好噪声: 对 weak preference 降权,tie/uncertain 可以丢弃或训练为 equal score。
  • Judge 偏差: LLM judge 结果要抽样人工校验,记录 rubric 和 prompt 版本。
  • 候选上限: 如果 N 条候选里没有好答案,ORM 无法凭空提升。

当前建议

如果目标是训练一个给主观题 rerank 的 ORM,优先采用:

  1. 同 prompt 下生成 4-16 条候选。
  2. 用清晰 rubric 产生 pairwise better/worse 标签。
  3. 强制加入 hard negatives:看似完整但不忠实、冗长但无信息、满足局部要求但偏离主任务。
  4. 训练 base/SFT model + score head,LoRA + head 联合训练。
  5. 验证集按 prompt split,报告 pairwise accuracy、length-bucket accuracy、Best-of-N win rate。
  6. 对分数做 calibration 只作为后处理,不要用离线 loss 代替最终 rerank 人评。

如果任务允许工具执行或外部检索,可以单独训练 verifier 的“找证据”能力:

  1. 让 verifier 生成 critique、follow-up question、测试输入或 counterexample。
  2. 用 rejection filtering 保留能真正区分好坏候选的轨迹。
  3. 对正负样本做 prompt 内平衡,避免总是接受或总是否定。
  4. 报告 TPR/TNR,而不是只报告 accuracy;强 generator 场景尤其关注 TNR。
  5. 对 agent 任务增加 abstention、regression rate、multi-round gain 等指标。