27届大模型面试准备(六十八):长思维链与推理时计算扩展——从 long-CoT 到 inference-time scaling

27届大模型面试准备(六十八):长思维链与推理时计算扩展------从 long-CoT 到 inference-time scaling

引言

本篇是"工程实战深化"第 68 篇。前面我们写过 GRPO/PPO 对齐(A22:推理时扩展与 GRPO)、解码策略与生成质量(A33)。A22 讲的是"用强化学习在训练期把推理能力训出来",本文讲的是另一条同样重要、且当下最热的线:推理阶段(inference-time)怎么用更多计算把答案算得更对。这就是 inference-time scaling(测试时计算扩展)与 long-CoT(长思维链)。

它和训练期扩展(pretraining scaling law)并列,是近一年最被面试追着问的话题:o1/o3 类模型、best-of-N、过程奖励、蒙特卡洛树搜索(MCTS)式搜索、长链自我反思,都是它的具体形态。本文串起原理、工程实现与代码级要点。

复制代码
                预训练 scaling (更多参数/数据/算力)
                          |
            +-------------+-------------+
            |                           |
   训练期扩展 (A22: GRPO/PPO)      推理期扩展 (本文)
   把推理能力"训进权重"          把更多算力"用在解码时"
            |                           |
            |               +-----------+-----------+-----------+
            |               |           |           |           |
            |           长思维链      best-of-N   过程奖励搜索   自洽性采样
            |           long-CoT    采样+投票    PRM+MCTS      self-consistency
            |               |           |           |           |
            +-------+-------+-----------+-----------+-----------+
                    |
                    v
            同一模型、更多 test-time compute => 更高准确率

一、inference-time scaling 的核心直觉

预训练 scaling law 说"训练算力越多,能力越强"。inference-time scaling 的假设是:对一个已固定的模型,给它更多解码时的计算,它在难题上的准确率也能单调上升。这条曲线在 MATH、代码、竞赛题上已被反复验证------给定足够 test-time compute,小模型也能逼近大模型。

三种主要范式:

  1. self-consistency / 自洽性采样:同一题采样多条路径,按多数投票(或加权)选答案。简单有效,是"横向"扩展计算。
  2. best-of-N + 验证器:采样 N 个完整解答,用 reward model / verifier 打分选最优。需要可靠的"判分器"。
  3. long-CoT / 过程奖励搜索:模型在解码时显式展开长链推理(反思、回溯、子目标),并用过程奖励模型(PRM)在每一步/每步节点上剪枝(类似 MCTS),是"纵向"深挖。

二、long-CoT:为什么"想得久"能更准

long-CoT 指模型输出一段很长的、含中间步骤与自我检查的思维过程,而不是直奔答案。关键点:

  • 显式子目标与回溯:模型把难题拆成子问题,某步卡住会"意识到走错了"并回退,比一次性生成更鲁棒。
  • 反思 token:如 "wait, let me reconsider" 这类自我纠正信号,是 long-CoT 模型的典型行为,能显著降低逻辑错误。
  • 训练来源:一部分来自蒸馏(模仿强模型的长链),一部分来自 RL------用"最终答案对 + 过程奖励"激励模型展开有效的中间步骤(呼应 A22 的 GRPO,但 reward 从结果级细化到过程级)。

工程代价:输出 token 数从几十涨到几千,延迟与成本线性飙升。所以 long-CoT 必须和"难度路由"配合------简单题短答、难题才长链。

三、过程奖励模型 PRM 与搜索

结果奖励模型(ORM)只给"最终答案对不对";过程奖励模型(PRM)给"每一步推导对不对"。PRM 让我们可以在推理时做搜索:

复制代码
                问题
                 |
                 v
        生成第 1 步候选 (a1, b1, c1)
                 |
        PRM 给每步打分 -> 保留高分分支
                 |
                 v  (beam / MCTS 扩展)
        从高分节点生成第 2 步候选
                 |
        ... 直到终点,用 PRM 累积分选最优路径
  • Beam search over thoughts:每步保留 top-k 推理前缀,宽度 k 就是计算预算。
  • MCTS 式:把推理建成树,用 PRM 做价值估计、UCT 选节点扩展,平衡"深挖"与"广探"。4MRAG 里的 MCTS-MRAG(你的论文方向)正是这一思想在检索增强上的落地。
  • PRM 的坑:PRM 自己会 reward hack(给看似合理实则错的步骤高分),且标注成本极高(需人工标注每一步对错)。工业界常用"LLM 当裁判"弱监督 + 结果一致性做代理标签。

四、best-of-N 与自洽性:代码级

best-of-N 在解码侧非常直接:

复制代码
def best_of_n(problem, n, verifier):
    samples = [model.generate(problem, temperature=0.8) for _ in range(n)]
    scored = [(verifier(problem, s), s) for s in samples]  # verifier 可运行单测/符号校验
    scored.sort(key=lambda x: x[0], reverse=True)
    return scored[0][1]   # 选验证分最高的解答

# 自洽性(无 verifier 时):多数投票
from collections import Counter
def self_consistency(problem, n):
    answers = [extract_answer(model.generate(problem, temperature=0.8)) for _ in range(n)]
    return Counter(answers).most_common(1)[0][0]   # 票数最多的答案

要点:verifier 的质量决定 best-of-N 上限。数学/代码有"可验证"优势(代码能跑单测、数学能代值),所以推理时扩展在这两个领域最先落地;开放问答没有廉价 verifier,收益有限。

五、延迟、成本与难度路由

inference-time scaling 最大的工程矛盾:计算预算 vs 用户体验

策略 计算开销 何时用 风险
直接短答 事实/简单题 难题准确率低
自洽性 voting 有唯一答案的题 成本 N 倍
best-of-N+verifier N× + 验证 可验证域(代码/数学) verifier 误判
long-CoT 10~100× token 难题 延迟高、易啰嗦
PRM 搜索 树宽×深度 极难题 PRM 成本高

难度路由(router):用一个小分类器先判难度,简单题走短答、难题才上 long-CoT / 搜索。这把平均成本压下来,也是 B64(多模型路由与 LLM 网关)在"推理策略"维度的延伸。

六、与训练期扩展的关系(面试最爱追问)

  • 两者互补不替代:训练期把"基础推理能力"固化进权重;推理期在同一权重上按需加算。一个靠数据/RL,一个靠 decode-time compute。
  • long-CoT 模型的 RL 阶段(A22)其实是在"教模型如何有效使用 test-time compute"------奖励的是"过程正确"而非仅"答案对"。
  • 成本结构相反:训练期成本是一次性 capex;推理期扩展是每次请求的可变 opex,必须按业务价值定价。

七、工业落地的坑

  • verifier 可靠性:没有可靠 verifier,best-of-N 会选"看起来顺"的错解。代码题务必真跑单测,数学题用多法交叉验证。
  • 长链幻觉:long-CoT 越长,中途引入错误前提的概率越高,需过程级校验而非只看结论。
  • 成本失控:必须设 token 预算上限 + 难度路由,否则长链把 P99 延迟打爆(呼应 A61 可观测性、A54 成本调优)。
  • PRM 标注:高质量逐步标注极贵,常用"LLM 弱标注 + 结果一致性"做代理,但要警惕 reward 漂移。

面试速答

  • inference-time scaling 是什么? 固定模型,靠更多解码计算(采样/搜索/长链)提升难题准确率,与训练期 scaling 互补。
  • 三种范式? 自洽性投票(横向 N 份)、best-of-N+verifier(选优)、long-CoT+PRM 搜索(纵向深挖)。
  • PRM vs ORM? ORM 只判最终答案;PRM 判每步对错,支持推理时搜索/剪枝,但标注贵、易 reward hack。
  • long-CoT 为什么更准? 显式子目标、回溯、自我反思 token,比一次性生成更鲁棒;代价是 token 与延迟暴涨。
  • 没有 verifier 怎么办? 用 self-consistency 多数投票;可验证域(代码/数学)优先上 best-of-N。
  • 成本怎么控? 难度路由(简单题短答、难题才长链)+ token 预算上限 + 过程级校验。

高频追问清单

  1. best-of-N 的 N 翻倍,准确率一定翻倍提升吗?scaling 曲线的"拐点"由什么决定?
  2. PRM 怎么训练?逐步人工标注不可行时,业界用什么代理标签?
  3. long-CoT 模型为什么也会"想偏"?过程级校验具体怎么做?
  4. MCTS 式推理搜索和 AlphaGo 的 MCTS 有何异同?为什么大模型推理常简化为 beam?
  5. 难度路由器怎么训练?误判难度导致"难题短答"如何兜底?
  6. 推理时扩展在开放问答(无标准答案)上为什么收益小?有没有办法?
  7. 你的 4MRAG / MCTS-MRAG 里,MCTS 搜的是"检索组合"还是"推理路径"?奖励怎么定义?
  8. long-CoT 训练时,GRPO 的 reward 从"答案对"改成"过程对",会带来什么训练 instability?
  9. 推理时扩展的 opex 怎么定价?按 token 还是按"计算预算档位"计费更合理?
  10. 小模型 + 重推理时计算,能稳定超过同成本大模型吗?边界在哪?
相关推荐
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 周榜(2026-08-30)
ai·大模型·llm·github·ai教程
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】SSE协议
c++·学习·面试·大模型·sdk
tachibana22 小时前
Agent 的长短期记忆系统
人工智能·ai·大模型·llm·agent
tachibana216 小时前
复杂任务怎么做的任务拆分?
人工智能·ai·大模型·llm·agent
tachibana216 小时前
ReAct、Plan-and-Execute、Reflection 三种范式有什么核心区别
人工智能·ai·大模型·llm·agent
绵满20 小时前
"Mem2Evolve: Towards Self-Evolving Agents via Co-Evolutionary Capability Expansion and Experience Distillation" 论文笔记
大模型·智能体记忆
Web3&Basketball1 天前
从0到1落地多模态表格/发票结构化识别:踩坑全记录
深度学习·大模型·ai技术
thesky1234561 天前
27届大模型面试准备(六十六):大模型推理调度与弹性扩缩容工程——排队、优先级、抢占与弹性
大模型·抢占·连续批处理·推理调度·请求优先级·弹性扩缩容·chunked prefill