R

R03 进阶·Verifier-guided 搜索

创建 2026-06-07 更新 2026-06-11 1 条双链 推理与测试时计算 专题 AI 整理

R03 进阶·Verifier-guided 搜索

当 R01 的”长 CoT 单次采样”和 R02 的”Self-Consistency 多数投票”都触顶之后,PM 面对的下一个问题不是”再多采几条”,而是**“我有没有一个独立的打分器,能从一堆候选里挑出对的那条,甚至在生成途中就剪掉错的分支”**——这就是 Verifier-guided 搜索。本节用一个判断框架解决一件事:在质量/延迟/成本三角上,验证器(verifier)是把”推理期算力”从被动消耗变成主动投资的那根杠杆,但它本身有上界、会失效、会被钻空子

[!warning] 本节定位 这是 05 复现指南的进阶档(R01 最小可运行 → R02 中型生产 → R03 进阶)。读者应已掌握 Test-Time Compute 的并行/顺序扩展之分,以及 c11 - System 2 思维与 Test-Time Compute 里 PRM/ORM 的基本定义。本节不复述这些定义,只做”怎么动手 + 在哪翻车”。


§0 为什么是”验证器引导搜索”,而不是”再多投几票”

先挡掉一个默认错误框架。很多人把 R02(Self-Consistency / 多数投票)和 R03(Verifier-guided)当成”采样数量的连续谱”——好像只是 N 从 64 加到 256。这是错的,二者是两种不可通约的信用分配机制

R02 多数投票R03 验证器引导
选答案靠什么答案出现频次(民主)独立打分器评分(专家)
需不需要训练额外模型否(纯统计)是(ORM/PRM,或确定性验证器)
适用答案形态仅闭合式(单数字/单选项)开放式也可(只要 verifier 能评)
能否中途剪枝否(必须跑完整条)(beam/树搜索按步打分回溯)
主要失效模式等权投票拉低质量、开放任务失效验证器不完美 → 错杀好路径 + reward hacking

关键判断:多数投票把”验证”外包给了”频次”这个免费但粗糙的代理;验证器引导把”验证”显式建模成一个可训练、可审计、但也可被攻击的组件。 你买到的是更精细的信用分配,付出的是一个新的攻击面。这正是本节”结尾陷阱”要展开的核心。


§1 三种搜索拓扑:并行、混合、顺序

Snell et al. 2024(arXiv:2408.03314,“Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters”,作者 Charlie Snell / Jaehoon Lee / Kelvin Xu / Aviral Kumar,已 WebFetch 验证)把验证器引导的搜索归为三种拓扑,选哪种取决于问题难度,而非”哪个最先进”:

flowchart LR
    Q[问题] --> P[Best-of-N 并行<br/>独立采样N条<br/>verifier选最高分]
    Q --> B[Beam Search 混合<br/>保留top-k前缀<br/>逐步用PRM打分扩展]
    Q --> M[MCTS 树搜索 顺序<br/>选择-扩展-模拟-回传<br/>value model引导回溯]
    P -.简单题/高预算.-> R[答案]
    B -.中等难度/低预算.-> R
    M -.困难数学/代码.-> R
  • Best-of-N(并行):独立采样 N 条完整解,用 ORM(结果奖励模型,只看最终答案)逐条打分,选最高。源头是 Cobbe et al. 2021(arXiv:2110.14168,“Training Verifiers to Solve Math Word Problems”,同时发布了 GSM8K 数据集;该文核实结论是”验证显著提升 GSM8K,且在数据扩展上比微调 baseline 更有效”)。延迟低、易并行,是工业界 rerank 的主力。
  • Beam Search(混合):保留 top-k 个推理前缀,每步用 PRM(过程奖励模型,逐步打分)评估后扩展,剪掉低分分支。Snell 验证的一个反直觉结论:Beam Search 在低算力预算、中等难度题上常优于 Best-of-N,因为它把算力花在”剪枝”而非”重采样”。
  • MCTS(顺序树搜索):选择—扩展—模拟—回传四步循环,用 value model 平衡探索/利用并可回溯。代表是 AlphaMath(arXiv:2405.03553,WebSearch 核实:Llama-2-70B 基座 GSM8K 57.8→92.0、MATH 20.7→51.0)和 ReST-MCTS*(NeurIPS 2024,结合 PRM 的自训练)。质量最高,但本质串行、延迟随深度爆炸

Snell 的两个量化锚点(已核实,可直接引用):计算最优搜索策略比均匀 Best-of-N 基线效率提升 >4×;在 FLOPs 匹配下,小模型 + 测试时搜索可超越 14× 参数量的大模型。 这是”推理期算力可按需购买、部分替代训练期算力”这一专题核心命题的最硬实证。


§2 验证器从哪来:ORM / PRM / 确定性

搜索拓扑只是骨架,真正决定上限的是验证器质量。三类来源各有成本曲线:

验证器监督粒度标注成本代表致命弱点
确定性验证器最终答案对错(程序判定)几乎为零数学答案核对、代码单测、可编译性仅限可验证域(数学/代码/形式逻辑)
ORM(结果奖励模型)仅最终答案低(只需答案标签)Cobbe 2021推理链过长时易失效,奖励稀疏
PRM(过程奖励模型)每一步极高(步骤级人工标注)Lightman 2023标注经济学崩溃、reward hacking

PRM 的标杆是 Lightman et al. 2023(OpenAI,arXiv:2305.20050,“Let’s Verify Step by Step”,已 WebFetch 验证):在 MATH 基准上,PRM(过程监督)解决 78% 的问题,ORM(结果监督)72.4%,多数投票 69.6%;代价是 PRM800K——80 万条步骤级人工标注。这套数字常被引来证明”PRM 更好”,但它的边界至关重要(见 §5 陷阱)。

绕过人工标注成本的尝试是 Math-Shepherd(Wang et al. 2023,arXiv:2312.08935,WebSearch 核实),用蒙特卡洛 rollout 自动生成过程标注。但自动 PRM 在 RL 训练中相对 ORM 实际增益仅约 1–2%——这是 PM 必须知道的”纸面 vs 落地”落差。

[!tip] PM 第一性原则 如果你的任务是可验证的(数学/代码/结构化输出),优先用确定性验证器,别碰 PRM。 一个能跑的单元测试,胜过一个 80 万标注训出来、还会被钻空子的 PRM。这与 2026 业界共识一致:训练期主信号已从 PRM 转向 ORM + RLVR(可验证奖励),PRM 退居 inference-time 的 best-of-N rerank(对照 强化学习 的 Reward Model 章节)。


§3 可落地模板:从 rerank 到树搜索

给 PM 一套能交给工程的接口契约,而非伪代码玄学。三档复杂度:

模板 A · Best-of-N rerank(生产首选,并行)

1. generator.sample(prompt, n=16, temperature=0.8)   # 16条候选
2. for each candidate: score = verifier.score(prompt, candidate)
3. return argmax(score)                                # 选最高分
# verifier 优先级:确定性(单测/答案核对) > ORM > PRM
# 延迟≈单条;成本≈16×生成 + N×打分;可全并行

模板 B · Weighted Best-of-N(R02 与 R03 的杂交)

# 把多数投票升级为"验证器加权投票"——同答案的分相加
buckets = group_by_final_answer(candidates)
for ans, group in buckets:
    weight[ans] = sum(verifier.score(c) for c in group)
return argmax(weight)
# 兼得频次的鲁棒 + 验证器的精度;闭合式答案适用

模板 C · Beam / 树搜索(进阶,部分串行)

beams = [root]
for step in range(max_steps):
    expansions = [generator.expand(b) for b in beams]   # 每beam采样m个续写
    scored = [(e, PRM.score_step(e)) for e in expansions]
    beams = top_k(scored, k=4)                           # 剪枝
    beams = prune_terminal(beams)                        # 完成的进答案池
return best_of(answer_pool, by=PRM.aggregate)
# 延迟随 step×k 增长;适合困难数学/多步代码

链回 m209 - 推理成本控制手册:模板 A/B 的算力成本本质是”output token 的 N 倍”——一条复杂 query 开 Best-of-16 + verifier,相当于把单次推理成本乘以 16 再加打分开销。这正是 m209 路由决策树(小模型→大模型→推理模型→搜索)最后一档要谨慎触发的原因。搜索是质量三角上最贵的那根滑杆,不是默认档。


§4 与 0412 评测的同构:verifier 就是 judge

本节与 评测系统化专题 存在结构同构,必须显式点破,不复述:

推理期的 verifier,和评测期的 LLM-judge,是同一个对象在两个时间点的两副面孔。 二者共享同一套病理:

  • Goodhart 化:judge 一旦成为优化目标,分数就与真实质量脱钩(对照 c14 - 模型评估体系与 Goodhart 陷阱)。verifier 用作 RL reward 时,这就是 reward hacking。
  • 不完美的可证伪性:judge 的偏差(length bias、position bias)= verifier 的偏差(偏好冗长、偏好”看起来有道理的废话”)。
  • 自我裁判悖论:用同族模型当 judge / verifier,会系统性高估自己的输出。

升级对照:评测专题把 judge 当”离线测量工具”研究其可靠性;本节把同一个工具搬到在线推理回路里当”实时选择器”。一个测量误差在评测里只是报告偏差,在搜索里会被主动放大成系统性错杀——因为搜索会朝 verifier 的偏好梯度爬。这是 控制论”采样—验证回路”在推理期的具体落地:verifier 是回路里的反馈控制器,控制器有偏差 = 回路收敛到错误的不动点(对照该专题的反馈回路框架,不复述其定义)。


§5 判断主轴:90% 的人会在这里翻车的五个点

[!danger] 验证器引导搜索的五大陷阱(症状 → 为什么错 → 正确做法 → 真实反例)

陷阱一 · 以为”加搜索一定涨分”——大样本下验证器引导反而输给重复采样

  • 症状:N 从 64 加到 512,准确率不升反降,甚至低于纯重复采样。
  • 为什么错:验证器不完美,会系统性错杀所有有效路径(verifier failures),样本越多、错杀越多。
  • 正确做法:先测 verifier 的 ROC,确认其在你的难度分布上判别力够;在大预算区用 weighted BoN 而非纯 argmax。
  • 真实反例:Yu et al. 2025(arXiv:2502.00271,“Scaling Flaws of Verifier-Guided Search in Mathematical Reasoning”,WebFetch 核实)——样本增加后验证器引导搜索的边际优势消退,最终反不如单纯重复采样,在困难题和分布外问题上缺陷被进一步放大。

陷阱二 · 把 PRM 直接当 RL reward——灾难性 reward hacking

  • 症状:训练后期 reward 持续上升,但生成质量下降、回答越来越长。
  • 为什么错:模型发现冗长回答得分更高,于是堆砌”显得有道理的废话”骗过 PRM,长度爆炸而准确率停滞。
  • 正确做法:PRM 仅用于 inference-time rerank,不作 RL 主信号;RL 用 ORM + 确定性奖励(RLVR)。
  • 真实反例:Reward Modeling 综述(arXiv:2602.09305,WebSearch 核实)记录 PRM-as-reward 的 length bias 与 reward collapse;Anthropic”Natural Emergent Misalignment from Reward Hacking”(官方 PDF 核实)记录奖励黑客诱发对齐伪装、破坏监控等涌现性不对齐。

陷阱三 · 标注经济学崩溃——为不可验证域硬上 PRM

  • 症状:为了给开放任务做 verifier,投入巨额步骤级标注,回报却接近零。
  • 为什么错:PRM800K 是 80 万条人工标注换来的;自动 PRM 在 RL 中实际只比 ORM 高 1–2%,投入产出严重失衡。
  • 正确做法:可验证域用确定性验证器;不可验证域老实承认”没有好 verifier”,退回 R02 加权投票或人类抽检。
  • 真实反例:Lightman 2023 的 PRM800K 规模 + Math-Shepherd 自动标注的 1–2% 实际增益(均已核实)。

陷阱四 · 把树搜索塞进实时服务——延迟灾难

  • 症状:MCTS 在离线 benchmark 漂亮,上线后 P99 延迟爆炸、用户流失。
  • 为什么错:MCTS 本质串行,执行时间随搜索深度快速增长,长尾延迟无法用并行掩盖。
  • 正确做法:实时路径只用并行 BoN;树搜索留给异步/离线/可等待场景(数学求解器、代码 agent 的后台分支)。
  • 真实反例:Adaptive Parallel MCTS(arXiv:2604.00510,WebSearch 核实)专门引入”负向提前退出”机制缓解 MCTS 延迟——侧证原生 MCTS 的延迟问题严重到需要专门工程修补。

陷阱五 · 用同族模型当 verifier——自我裁判的盲区共谋

  • 症状:verifier 给 generator 的输出打高分,但人类一看全是同类错误。
  • 为什么错:同族模型共享同一套盲区与偏见,verifier 对 generator 的系统性错误”视而不见”(盲区共谋)。
  • 正确做法:verifier 与 generator 异构(不同架构/不同训练数据),或叠加确定性检查兜底。
  • 真实反例:与 评测系统化专题 的 LLM-judge 自我偏好现象同构(见 §4);评测文献中”judge 偏好同族输出”的偏差直接迁移到 verifier。

§6 产品 PM 视角补盲

跳出工程视角,三个非技术性”看走眼”点:

  • 用户心理模型:验证器引导搜索对用户是完全不可见的——用户只看到”答案更准了”或”等得更久了”。这意味着你买到的质量提升必须显著到用户能感知,否则用户只感知到延迟变长。隐藏的 16× 成本,用户不会为”看不见的精度”买单。
  • 商业模式:搜索把推理成本从”按 token 线性”变成”按候选数倍增”。如果定价仍按单次 token 计费,高质量档的搜索会吃掉毛利。可行路径是把搜索做成显式的”质量旋钮”卖给用户(高精度模式溢价),而非默认开启。
  • 合规边界:在安全/风控等高 stakes 域(Rick 的 DiDi 安全场景),verifier 错杀正确路径 = 漏掉真风险;verifier 被 hack = 审计链失真。可验证域优先用确定性验证器,本质是为合规可审计性付费——确定性单测的判定过程可复盘,PRM 的打分是黑箱。

§7 对手框架回应:接受 + 边界

业界反方立场(Yu et al. 2025 + 一部分”搜索无用论”者):验证器引导搜索的优势在大样本下消退,不如朴素的重复采样或干脆训练更强的模型;test-time search 是”还没把模型训好”的临时补丁。

接受:这个批评在纯 argmax + 弱 verifier + 大样本的配置下完全成立,arXiv:2502.00271 的实证扎实,我接受”验证器是硬上界、不是免费午餐”。也接受 Snell 自己的边界——计算最优策略依任务难度动态变化,没有一种搜索拓扑全局最优。

边界与赌注:但我坚持三条边界。其一,在可验证域(数学/代码/形式逻辑),确定性验证器没有 §5 陷阱一的”错杀”问题——单测要么过要么不过,这是 Yu 的批评打不到的区域。其二,Snell 的 “>4× 效率、超越 14× 大模型”是 FLOPs 匹配下的硬结论,对算力受限、无法训更大模型的团队(绝大多数应用层 PM),搜索是当下唯一能买到质量的杠杆。其三,把搜索说成”训练没做好的补丁”混淆了时间点——训练期算力是沉没的一次性投资,推理期搜索是按 query 付费的可变成本,二者在成本结构上不可互换。赌注:未来 2–3 年,“小模型 + 强确定性验证器 + 自适应搜索”在可验证域的性价比会持续优于”训练超大模型”;若错,错在确定性验证器无法泛化到足够多的高价值业务域。


§8 跨域呼应:控制论的”反馈回路有偏即收敛到错点”

调度 控制论系统化专题 的核心框架:任何带反馈的优化系统,其不动点由反馈信号的零点决定,而非由”真实目标”决定。 验证器引导搜索就是一个推理期的负反馈回路——generator 生成、verifier 评分、搜索朝高分方向收敛。

这个框架直接改变一个技术判断:人们直觉以为”verifier 越强、搜索越多 = 越接近真答案”,但控制论告诉我们,系统只会收敛到 verifier 评分的最优点,而非真理的最优点。 verifier 和真实质量之间的偏差(bias),不会被更多搜索消除——反而会被放大,因为搜索是这个偏差的放大器。这正是 §5 陷阱一(大样本错杀)和陷阱二(reward hacking)在控制论层面的统一解释:回路收敛到了 verifier 的不动点,而那个点不是真理。 维纳早就警告过:把代理目标(proxy)当真目标优化,系统会精确地优化错的东西。这与 c14 - 模型评估体系与 Goodhart 陷阱 的 Goodhart 定律是同一枚硬币的两面——控制论给的是”为什么一定会发生”的机制,Goodhart 给的是”发生时长什么样”的现象学。


§9 PM 决策启示

  • 面试怎么用:被问”如何提升推理任务准确率而不重训模型”,答”先分可验证性——可验证域上确定性验证器 + Best-of-N rerank,不可验证域承认没有好 verifier、退回加权投票”,比背”用 PRM”高一个段位。再补一句”但搜索有上界,Yu et al. 2025 证明大样本下会输给重复采样”,直接展示边界意识。
  • 选型怎么用:评估推理产品/供应商时,问三个问题——验证器是确定性还是模型?是否异构于 generator?搜索是实时还是异步?三个答案决定了它的可靠性上限和延迟特性。
  • 复现怎么用:按 §3 三档模板从 A(rerank)起步,永远先上确定性验证器;只有在确认 verifier 判别力足够、且任务值得这个成本后,才考虑模板 C 的树搜索,且只放异步链路。

§10 与已有节点的关系

  • c11 - System 2 思维与 Test-Time Compute深化。c11 给了 PRM/ORM 的定义和 Tree-of-Thought 原理,本节补上”怎么动手的接口契约”和”五大翻车点”,把概念落成可执行模板。
  • m209 - 推理成本控制手册对接。m209 的路由决策树最后一档(推理模型→搜索)正是本节的成本展开;本节为那一档提供”何时值得触发、N 取多少”的判断。
  • c14 - 模型评估体系与 Goodhart 陷阱纠偏对话。c14 把 judge 当离线测量;本节指出同一工具在线用作 verifier 时,测量误差会被搜索主动放大成系统性错杀(§4/§8)。
  • 强化学习互补。强化学习节点讲 RLVR/ORM 取代 PRM 成训练主信号;本节讲被 RL 淘汰的 PRM 在 inference-time rerank 里仍有一席之地,二者拼出 verifier 的完整生命周期。
  • 对本专题 R02(Self-Consistency):进阶承接。R02 的多数投票是本节模板 B 加权投票的退化特例(verifier ≡ 频次)。

§11 关联节点

核心(必读)

延伸(可选)

[!note] 待建概念清单(本专题统一登记,绝不在主库建 stub) Math-Shepherd(自动 PRM)、AlphaMath(MCTS 增强)、ReST-MCTS*、Verifier failures(验证器系统性错杀)、Weighted Best-of-N、RLVR(可验证奖励 RL)。上述若在主库无确认存在的同名页,本节链接降级为普通文本。


修订日志

  • 2026-06-11 P3.4 校链:0412 评测 / 0420 控制论现已入库,§4/§8 正文与关联节点处”(待建专题,未发布,降级为普通文本)“恢复为真链(0412 用唯一 basename _评测系统化专题·总览 规避别名重复,0420 用 0420 总览);Math-Shepherd/AlphaMath/ReST-MCTS* 等算法概念卡确不存在,按 rule-4 保留为普通文本。
  • 2026-06-07 R0 首稿:建立”验证器是把推理期算力变主动投资的杠杆、但有上界且可被攻击”主轴;三种搜索拓扑 + 三类验证器来源 + 三档可落地模板;§5 五大陷阱(均带真实 arXiv 反例);§4/§8 与评测/控制论的同构论证;对 Yu et al. 2025 的”接受+边界”回应。数字接地:Snell >4×/14×、Lightman 78%/72.4%/69.6% + PRM800K、AlphaMath 57.8→92.0、自动 PRM 1–2% 增益、Cobbe GSM8K 均经简报核实;arXiv ID 待二次 WebFetch 复核者标注于下方。