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 输入是:
客观题可以用 BCE/MSE:
主观题更常用 pairwise loss:
关键是 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-6到1e-5,取决于 base model。 - OREAL 的 token-level RM 用 policy 同权重初始化,一维线性输出层零初始化,LR
2e-6,warmup 10 steps。
Rerank 与搜索¶
完整解答 rerank:
- 对每个 prompt 采样 N 条答案。
- 用 ORM 给每条打分。
- 选最高分,或先按 final answer 聚合分数再选。
Step-level planning:
- 每一步采样多个 next step。
- 对 partial path 估值。
- 保留 top-b beam。
- 直到完成。
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,优先采用:
- 同 prompt 下生成 4-16 条候选。
- 用清晰 rubric 产生 pairwise better/worse 标签。
- 强制加入 hard negatives:看似完整但不忠实、冗长但无信息、满足局部要求但偏离主任务。
- 训练
base/SFT model + score head,LoRA + head 联合训练。 - 验证集按 prompt split,报告 pairwise accuracy、length-bucket accuracy、Best-of-N win rate。
- 对分数做 calibration 只作为后处理,不要用离线 loss 代替最终 rerank 人评。
如果任务允许工具执行或外部检索,可以单独训练 verifier 的“找证据”能力:
- 让 verifier 生成 critique、follow-up question、测试输入或 counterexample。
- 用 rejection filtering 保留能真正区分好坏候选的轨迹。
- 对正负样本做 prompt 内平衡,避免总是接受或总是否定。
- 报告 TPR/TNR,而不是只报告 accuracy;强 generator 场景尤其关注 TNR。
- 对 agent 任务增加 abstention、regression rate、multi-round gain 等指标。