大型推理模型的出现是现代 AI 最重要的进展之一。与优化下一个 Token 预测的标准语言模型训练不同,面向推理的强化学习教会模型在回答之前先思考——在推理时分配额外算力以探索、验证并精炼中间步骤。本节系统地介绍支撑这一范式的方法、架构与扩展律。

动机与背景

为什么推理需要不同的强化学习方法

标准的基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)(见第 4.3 RLHF 流水线 节)针对一段完整回答优化一个标量奖励。对于需要多步推理的任务——数学、形式化验证、竞赛编程、科学推导——这种表述在以下几个方面不够充分:

  • 稀疏奖励:一道数学题可能需要 20 个中间步骤;单一的结果奖励无法为导致错误的中间步骤提供梯度信号。
  • 长时序:推理链可能跨越数百到数千个 Token,造成严重的信用分配问题。
  • 组合搜索:有效推理路径的空间呈指数级膨胀;模型必须学会高效搜索这一空间。
  • 可验证性:与主观的文本质量不同,数学与逻辑的正确性是可客观验证的,从而无需人工标注即可自动计算奖励。

思维链:涌现行为 vs. 训练得到的能力

思维链(Chain-of-Thought,CoT)推理最初是在足够大的语言模型中被观察到的一种涌现能力 [374]:当用逐步示例进行 Prompt 时,大型模型(通常 ≥100B 参数)会自发地产生中间推理步骤,并由此提升准确率。这引出了一个基本问题:CoT 是规模带来的涌现性质,还是可以被显式训练?

正如 DeepSeek-R1 及相关工作所表明的,答案是两者皆是——但有若干重要的微妙之处:

  • 涌现的 CoT 源于上下文学习并需要大型基础模型。它脆弱、对 Prompt 敏感,且泛化不稳定。
  • 通过 RL 训练得到的 CoT 让模型能够内在地把推理链作为生成过程的一部分来生成,而不受提示风格影响。这些链条更长、更具探索性,并表现出质上不同的行为(自我纠正、回溯、验证)。

测试时计算的扩展律

推动推理模型研究的一个核心经验发现是:测试时算力与性能之间存在可预测的扩展关系。记 Ctrain 为训练算力(FLOPs),Ctest 为推理算力(生成的 Token 数)。关键观察是:

Accuracy​(Ctrain,Ctest)≈f⁡(α​log⁡Ctrain+β​log⁡Ctest)(13.1)

其中 f 是某个单调函数,α,β>0 为常数。这意味着:使用更多推理算力的较小模型可以匹敌使用较少推理算力的较大模型——这是算力与性能权衡的根本性转变。

图 13.1:测试时算力扩展曲线示意图。在各种模型规模下,性能随推理 Token 数对数线性提升;较小模型在更多算力下可以逼近较大模型在更少算力下的表现。
图 13.1:测试时算力扩展曲线示意图。在各种模型规模下,性能随推理 Token 数对数线性提升;较小模型在更多算力下可以逼近较大模型在更少算力下的表现。

其实践含义深远:推理模型用推理算力换取训练算力。不必总是部署尽可能大的模型,而是可以部署一个具备推理能力的较小模型,并在难题上分配更多 Token 用于“思考”。

测试时扩展方法

上述扩展律表明,在推理阶段投入更多算力可以显著提升推理性能。本节系统介绍将测试时扩展(Test-Time Scaling)落地的各类方法——从简单的思维链到复杂的树与图搜索算法。这些方法构成了一个用推理成本换取准确率的连续谱,理解其结构对于设计现代推理系统至关重要。

图 13.2:测试时扩展方法的连续谱。每种方法都以额外的推理算力换取更高的推理准确率。各方法在概念上层层递进:CoT 引入显式推理,Self-Consistency 加入采样,ToT 引入结构化搜索,GoT 加入合并操作,而 MCTS 加入
图 13.2:测试时扩展方法的连续谱。每种方法都以额外的推理算力换取更高的推理准确率。各方法在概念上层层递进:CoT 引入显式推理,Self-Consistency 加入采样,ToT 引入结构化搜索,GoT 加入合并操作,而 MCTS 加入学习到的价值引导。

思维链(CoT)

思维链 Prompt [374] 是所有测试时扩展方法的基础。模型不再直接输出答案,而是生成中间推理步骤,将复杂问题分解为可处理的子问题。

Kojima 等 [189] 证明,仅在 Prompt 末尾追加“Let’s think step by step”就能在没有任何示例的情况下激发推理行为。这一简单触发器可以激活足够大模型(≥100B 参数)中的潜在推理能力。

Wei 等 [374] 表明,提供少量带有显式推理轨迹的示例能够让较小的模型也有效地进行推理:

Prompt=[(x1,z1,y1),(x2,z2,y2),…,(xk,zk,yk),(xtest,?)](13.2)

其中 zi 是为示例 (xi,yi) 手工编写的推理轨迹。

CoT 将单步预测 p⁡(y|x) 转化为多步序列生成:

p⁡(y|x)=∑zp⁡(y|x,z)⋅p⁡(z|x)≈p⁡(y|x,z∗)⋅p⁡(z∗|x)(13.3)

其中 z∗=(z1,z2,…,zT) 是贪心推理链。对所有可能链条求和是不可计算的;标准 CoT 仅采用单一样本(贪心或温度采样)。

单链 CoT 是脆弱的:一旦早期推理步骤出错,后续所有步骤都会建立在错误基础上,且没有任何恢复机制。

自洽性(多数投票)

自洽性(Self-Consistency)[367] 通过采样多条独立的推理链并对最终答案取多数投票,来缓解 CoT 单链脆弱的问题:

y^=argmaxy∑i=1N𝟏[yi=y],where (zi,yi)∼p(⋅|x),T>0(13.4)

关键性质:

  • 使用 temperature T>0 采样生成多样化的推理链(通常为 T=0.7–1.0)
  • 链与链之间没有交互——完全可并行
  • 准确率随 N 单调提升(超过 N≈40 后收益递减)
  • 在 GSM8K 上:CoT = 56.5%,Self-Consistency(N=40)= 74.4%(使用 PaLM-540B [55])
  • 等价于以结果奖励做 Best-of-N(多数投票充当隐式的 ORM)

思维树(ToT)

思维树(Tree-of-Thoughts,ToT)[408] 将 CoT 从线性链条推广为树结构,使模型能够探索多条推理路径、评估中间状态,并从没有前途的分支回溯。这为推理过程引入了审慎的规划。

一个推理问题被分解为在一棵树上的搜索,其中:

  • 根节点:初始问题陈述 x
  • 节点:部分推理状态 s=(x,z1,…,zk)
  • 边:单个推理步骤(“thoughts”)zk+1
  • 叶节点:带最终答案的完整解
  • 价值函数:V⁡(s) 估计某个部分解有多大的希望
ToT=(𝒢,ℰ,V,πθ,Search)(13.5)

其中:

  • 𝒢:思考生成器——生成 b 个候选的下一步思考:{z(1),…,z(b)}∼πθ(⋅|s)
  • ℰ:状态评估器——为部分解打分:V(s)∈{sure、maybe、impossible} 或 V⁡(s)∈[0,1]
  • πθ:生成思考的语言模型
  • 搜索:搜索算法(BFS 或 DFS)
图 13.3:“Game of 24”任务上的思维树:用 4、9、10、13 上的运算凑出 24。在每一层,模型生成 b=3b=3 个候选思考,对每个思考进行评估(sure/maybe/impossible),剪掉没有前途的分支,并扩展最有
图 13.3:“Game of 24”任务上的思维树:用 4、9、10、13 上的运算凑出 24。在每一层,模型生成 b=3 个候选思考,对每个思考进行评估(sure/maybe/impossible),剪掉没有前途的分支,并扩展最有希望的几个。绿色路径通向解;红色路径被提前剪掉。

BFS(广度优先搜索):

  1. 在当前深度的每个节点上生成 b 个候选思考
  2. 用 V⁡(⋅) 评估所有候选
  3. 保留 top-k 最有希望的状态(束搜索)
  4. 把所有 k 个状态推进到下一层
  5. 重复直到找到解或达到深度上限

DFS(深度优先搜索):

  1. 为当前状态生成 b 个候选思考
  2. 评估:如果 V⁡(s)= 为 impossible,立即回溯
  3. 如果 V⁡(s)= 为 sure/maybe,则递归深入(选最有希望的那个)
  4. 若达到深度上限仍未找到解,则回溯
  5. 继续直到找到解或所有分支都被探索

对于分支因子为 b、深度为 d、束宽为 k 的 ToT:

LLM calls (BFS)=k⋅b⏟generation+k⋅b⏟evaluation=2​k​b​ per level⟹Total=2​k​b​d(13.6)

对于 24 点游戏:b=3,k=2,d=3⟹36 次 LLM 调用,而标准 CoT 只需 1 次。

在 Game of 24(一项有挑战性的算术推理任务)上,ToT 达到 74% 的成功率,而 CoT 仅为 4%——在同一个 base 模型(GPT-4)上,结构化搜索带来了巨大的提升。

思维图(GoT)

思维图(Graph-of-Thoughts,GoT)[25] 将 ToT 从树扩展为有向无环图(DAG),并引入了一项关键能力:合并来自不同分支的部分解。这使模型能够把多条推理路径上的洞见综合成一个精炼后的解。

GoT 在 ToT 之外引入了三种操作:

  • 生成:从某个状态产生新的思考(与 ToT 相同)
  • 聚合/合并:把多个思考组合成一个精炼后的思考——这在树结构中是不可能做到的
  • 精炼:根据反馈迭代地改进某个思考
  • 打分:评估思考的质量(等同于 ToT 的价值函数)
图 13.4:CoT(线性链条)、ToT(树——有分支但不合并)与 GoT(DAG——分支可以合并)的对比。对于排序任务,GoT 可以把数组拆分成子问题、独立(并行)求解,然后合并结果——这在纯树结构中是不可能的。这使分治式推理成为可能。
图 13.4:CoT(线性链条)、ToT(树——有分支但不合并)与 GoT(DAG——分支可以合并)的对比。对于排序任务,GoT 可以把数组拆分成子问题、独立(并行)求解,然后合并结果——这在纯树结构中是不可能的。这使分治式推理成为可能。

设 𝒱={v1,…,vn} 为思考顶点、ℰ⊆𝒱×𝒱 为有向边。GoT 支持:

聚合操作是关键的区分点:它从多个父节点连边到一个子节点,形成 DAG 而不是树。这使以下能力成为可能:

  • 分治:拆分问题 → 并行求解子问题 → 合并解
  • 集成推理:生成多个视角,然后综合出最好的想法
  • 迭代精炼:把评估结果反馈回去,以改进此前的思考

在排序(一项需要合并的任务)上,GoT 在同等质量下比 ToT 降低 62% 的成本。在集合求交和关键词计数上,由于合并操作带来了更高效的分解,GoT 以少 30–40% 的 LLM 调用次数达到与 ToT 相当的质量。

结合奖励模型的 Best-of-N

Best-of-N(BoN)[262, 339] 是最简单的扩展方法,它使用学习到的奖励模型在候选之间进行选择:

y∗=argmaxy∈{y1,…,yN}Rϕ(x,y),yi∼πθ(⋅|x)(13.11)

按奖励模型类型划分的变体:

  • 使用结果奖励模型(ORM)的 BoN:对完整解打分;选出得分最高的一个。当 ORM ≈ 正确性检查时,它等价于自洽性。
  • 使用过程奖励模型(PRM)的 BoN:在每个推理步骤上打分;选出最小步骤得分最高的解(最不可能在任何步骤上出错)。
  • 加权 BoN:按奖励对候选加权:y∗∼softmax​(R⁡(y1)/τ,…,R⁡(yN)/τ)。

面向推理的蒙特卡洛树搜索(MCTS)

蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)[187, 331] 把 ToT 的结构化探索与学习到的价值估计和访问次数统计结合起来,从而最优地分配推理算力。MCTS 最初为博弈(AlphaGo [331])而提出,后来被 AlphaProof [68] 和 rStar [297] 等系统改造用于 LLM 推理。

每次 MCTS 迭代包含四个阶段:

图 13.5:面向推理的 MCTS 的四个阶段:(1) 选择:用 UCB 遍历树,找到一个有希望的叶子;(2) 扩展:从该叶子生成新的推理步骤;(3) 模拟:把推理补完到终止状态并评估;(4) 反向传播:沿路径更新价值估计。
图 13.5:面向推理的 MCTS 的四个阶段:(1) 选择:用 UCB 遍历树,找到一个有希望的叶子;(2) 扩展:从该叶子生成新的推理步骤;(3) 模拟:把推理补完到终止状态并评估;(4) 反向传播:沿路径更新价值估计。

节点选择使用 PUCT(Predictor + UCB applied to Trees):

a∗=arg⁡maxa⁡[Q⁡(s,a)+cpuct⋅P⁡(s,a)⋅∑bN⁡(s,b)1+N⁡(s,a)](13.13)

其中 P⁡(s,a)=πθ​(a|s) 是 LLM 从状态 s 生成步骤 a 的先验概率。这会把探索偏向 LLM 认为更可能的步骤,而 UCB 项则鼓励尝试探索不足的替代方案。

维度ToTMCTS
价值估计LLM Prompt(“sure/maybe/impossible”)学习到的价值网络 + rollout 统计
探索固定的束宽;不重访UCB 自适应地把预算分配给有希望的节点
算力分配在各深度层上均匀分配聚焦:把更多模拟用在更难的子问题上
与训练的集成无需训练;纯 Prompt可以把 MCTS 策略蒸馏进 base 模型 [331]
最适合简单的分支问题(24 点游戏)需要深度探索的复杂问题(证明、代码)

表 13.1:面向推理的思维树与蒙特卡洛树搜索对比。

推理步级的束搜索

束搜索——长期以来是 NMT 和文本生成中的标准方法——可以应用在推理步骤层面而不是 Token 层面。我们不再跟踪 top-k 个 Token 序列,而是跟踪 top-k 个推理前缀:

ℬd=top-​k​{(s1,…,sd):∑i=1dlog⁡πθ​(si|s<i)+λ⋅Vϕ​(s1,…,sd)}(13.14)

其中打分把 LLM 的对数概率(流畅性)与价值模型的估计(正确性)结合起来。这实际上就是用学习到的价值函数代替 Prompt 出来的价值函数的 ToT-BFS。

迭代精炼与自我纠正

与探索广度(多条并行链)不同,迭代精炼把算力投入到深度上——反复改进同一个解:

y(t+1)=LLM(“Improve this solution:”,y(t),“Errors found:”,e(t))(13.15)

其中 e(t) 可以来自:

  • 自我验证:让模型检查自己的答案
  • 外部验证:运行代码、用符号方式检查数学
  • 评判模型:用一个单独的模型来识别错误

值得注意的方法包括:Self-Refine[246](迭代式自我反馈)、Reflexion[326](通过在记忆中存储的反思实现的语言化 RL),以及 LATS[438](树搜索 + 基于反思的剪枝)。

方法对比与选型指南

方法结构LLM 调用次数可并行需要 RM?最适合
CoT [374]链条1N/A否简单到中等难度的问题
Self-Consistency [367]并行链N✓ 完全并行否(多数投票)答案离散的数学题
Best-of-N + ORM并行链N + 1✓ 完全并行是(ORM)有良好 RM 的通用任务
Best-of-N + PRM并行链N + N⋅K✓ 完全并行是(PRM)复杂的多步推理
ToT [408]树(BFS/DFS)O⁡(k​b​d)部分并行LLM 作为评判者结构化搜索问题
GoT [25]DAGO⁡(k​b​d)部分并行LLM 作为评判者可分解的问题
MCTS [187]树 + 价值O⁡(Nsim⋅d)部分并行是(价值网络)困难的证明、编程
Self-Refine [246]线性(迭代)2​T否自我评判开放式生成
LATS [438]树 + 反思O⁡(N⋅d)部分并行LLM 作为评判者智能体任务

表 13.2:测试时扩展方法的全面对比。

DeepSeek-R1

DeepSeek-R1 [69] 是首个在主要基准上追平或超越 OpenAI o1 的完全开源的大型推理模型。其训练流水线在技术上是透明的,已成为基于 RL 的推理的事实参考实现。

两阶段训练流程

base 模型(DeepSeek-V3)首先在一个小而精心构建的长思维链示例数据集上进行微调。这个“冷启动”阶段有两个目的:

  1. 格式初始化:模型学会在给出最终答案之前以 <think>...</think> 格式产出推理。
  2. 稳定性:如果没有冷启动 SFT,直接在 base 模型上从零开始做纯 RL 会产生不稳定的训练动力学和退化的输出(例如语言混杂、重复循环)。

冷启动数据集只包含 ∼数千条示例,刻意保持很小,以避免把 RL 之后将要发现的推理风格过度约束住。

冷启动 SFT 之后,模型使用组相对策略优化(Group Relative Policy Optimization,GRPO)进行大规模 RL。R1 中使用的完整 GRPO 目标见第 13.3.3 R1 中的 GRPO 公式 节。

奖励设计:准确率奖励与格式奖励

R1 的一个关键设计选择是不使用过程奖励模型。相反,R1 使用两种简单、可自动计算的奖励:

对于答案可验证的数学问题:

racc​(y,y∗)={1if verify​(y,y∗)=True0otherwise(13.16)

其中 y 是模型的最终答案(从 ⟨answer⟩ 标签中提取),y∗ 是标准答案。verify 函数使用符号数学比较(例如 SymPy)来处理等价形式。

对于代码问题,准确率奖励由是否通过测试用例决定:

racccode(y,𝒯)=1|𝒯|∑t∈𝒯𝟏[execute(y,t)=expected(t)](13.17)

为了强制 <think>...</think> 结构:

rfmt​(y)={1y​ has valid ⟨think⟩ and ⟨answer⟩ tags0otherwise(13.18)
r⁡(y,y∗)=racc​(y,y∗)+λfmt⋅rfmt​(y)(13.19)

其中在原始实现中 λfmt=0.1(足够小以免占据主导,又足够大以防止格式崩塌)。

R1 中的 GRPO 公式

GRPO [323] 是一种策略梯度方法,它通过从采样的组回复中估计优势,避免了训练单独的价值网络。对于问题 q,GRPO 从当前策略 πθ 中采样 G 个回复 {y1,y2,…,yG},并计算相对于组均值的优势。

给定问题 q,采样 G 个输出:

{yi}i=1G∼πθ(⋅∣q)(13.20)

使用式 [eq:r1_combined_reward] 的奖励函数计算 Reward {ri}i=1G。第 i 个回答的归一化优势为:

A^i=ri−μrσr+ϵ(13.21)

其中 μr=1G​∑i=1Gri,σr=1G​∑i=1G(ri−μr)2,ϵ=10−8 用于数值稳定。

GRPO 目标对概率比做截断(与 PPO 相同),并对参考 Policy πref 加上 KL 惩罚:

ℒGRPO(θ)=−𝔼q∼𝒟,{yi}∼πθ(⋅|q)[1G∑i=1G1|yi|∑t=1|yi|min(ρi,tA^i,clip(ρi,t,1−ε,1+ε)A^i)−β𝔻KL[πθ∥πref]](13.22)

其中:

  • ρi,t=πθ​(yi,t∣q,yi,<t)πθold​(yi,t∣q,yi,<t) 是逐 Token 的概率比
  • ε∈{0.1,0.2} 是 PPO 的截断参数
  • β>0 控制 KL 惩罚的强度
  • |yi| 是第 i 个回答的长度(长度归一化可防止偏向较短回答)

KL 散度项逐 Token 计算:

𝔻KL[πθ∥πref]=𝔼y∼πθ(⋅|q)[∑t=1|y|logπθ​(yt∣q,y<t)πref​(yt∣q,y<t)](13.23)

在实践中,R1 使用一种 KL 的无偏估计器,通过下列近似避免在每一步都计算 πref:

𝔻KL[πθ∥πref]≈πref​(yt∣q,y<t)πθ​(yt∣q,y<t)−logπref​(yt∣q,y<t)πθ​(yt∣q,y<t)−1(13.24)

该估计器恒为非负,且当 πθ=πref 时为零。

蒸馏:R1-Distill 系列

R1 的一项重要实践贡献在于证明:推理能力可以通过在 R1 生成链上进行监督微调蒸馏到小得多的模型中。R1-Distill 系列(1.5B、7B、8B、14B、32B、70B 参数)的训练方式为:

  1. 使用 R1(671B)为一个大规模问题集生成长 CoT 解答
  2. 过滤,仅保留正确的解答
  3. 在这些解答上对较小的基础模型(Qwen2.5、Llama-3)进行微调

蒸馏路径引出了一个关于推理本质的重要问题:小模型究竟是真的在「推理」,还是只是在对推理链的表面形式进行模式匹配?经验上,蒸馏模型对新颖问题类型表现出一定的泛化能力,提示其确实在某种程度上内化了推理策略,而非纯粹的记忆。

OpenAI o1/o3 系列

OpenAI 的 o1 [275](2024 年 9 月发布)以及随后的 o3/o4-mini [278] 模型代表了推理模型开发的商业前沿。尽管完整技术细节仍未公开,但已发布的系统卡、技术报告与经验观察为理解其方法论提供了大量洞见。

带隐藏推理 Token 的思维链 RL

o1 的决定性架构选择是使用隐藏推理 Token:模型生成一条不向用户展示的内部思维链(称为「推理轨迹」或「思考 Token」)。只返回最终答案。这一设计带来若干影响:

  • 无格式约束:隐藏推理可以使用任意格式,包括草稿本记法、伪代码,甚至非英语推理。
  • 不存在风格上的奖励作弊:由于用户永远看不到推理过程,模型没有压力去让它显得「好看」,而不是真正有用。
  • 专有保护:推理过程不被暴露,从而防止直接模仿。

训练过程被描述为「用 RL 训练模型进行推理」,RL 目标作用于完整的(隐藏推理 + 最终答案)序列,并且只根据最终答案的质量给予奖励。

过程奖励模型与结果奖励模型

据信,OpenAI 的方法在结果奖励之外还使用了过程奖励模型(Process Reward Models, PRMs)[216],这与 DeepSeek-R1 仅使用结果奖励的做法形成对比。该推断基于 OpenAI 已发表的 PRM 研究(PRM800K 数据集、「Let's Verify Step by Step」)以及 o1 系统卡对推理链上 RL 训练的表述,尽管 o1/o3 的确切训练方案尚未公开披露。

ORM 对完整回答 (q,y) 打分:

RORM​(q,y)∈[0,1](13.25)

对于可验证的任务(数学、代码),这退化为精确匹配验证。对于开放式任务,则使用学习得到的奖励模型。

PRM 为链 y=(s1,s2,…,sK) 中的每个推理步骤 sk 分配奖励:

RPRM​(q,y)=∑k=1KγK−k⋅rk​(q,s1,…,sk)(13.26)

其中 rk∈[0,1] 是步级别的奖励,γ∈(0,1] 是折扣因子。步级别的奖励 rk 估计部分解 (s1,…,sk) 导向正确最终答案的概率:

rk​(q,s1,…,sk)=P⁡(correct final answer∣q,s1,…,sk)(13.27)

推理时计算扩展

o1 技术报告展示了一条清晰的扩展律:在困难推理任务上,更多的思考 Token 会单调地提升性能。这通过一个「思考预算」参数来落实,该参数控制隐藏推理 Token 的最大数量。

设 T 为思考 Token 预算。观察到的经验扩展律近似为:

Pass@1​(T)≈a−b⋅T−c(13.28)

其中 a,b,c>0 为常数,a 表示渐近准确率上限,c 刻画改进速率。在 AIME 2024 上,使用完整思考预算的 o1 达到 ∼83% 的准确率,而 GPT-4o(不使用扩展思考)为 ∼13%。

训练计算量与测试时计算量

o1/o3 系列的一个根本性洞见是计算等价原理:训练计算量 Ctrain 与测试时计算量 Ctest 之间存在一条权衡曲线,曲线上的点能达到相近的性能:

Performance​(Ctrain,Ctest)=g⁡(α​Ctrainp+β​Ctestq)(13.29)

经验上,对于推理任务 p≈q,这表明训练计算量与测试时计算量大致可以相互替代。这对部署有深远影响:一个更小、更便宜的模型配合扩展思考,可以在困难问题上匹敌更大的模型,代价是更高的延迟。

o3 与 o4-mini 的架构洞察

尽管 o3 与 o4-mini 的细节大多仍未公开,但已经出现了一些观察:

  • o3:思考预算显著大于 o1;在 ARC-AGI 上达到接近人类的表现(高计算量下为 87.5%)。据信在推理时使用了更复杂的搜索策略。
  • o4-mini:证明了经过 RL 训练推理的更小模型也可以极具竞争力。在 AIME 2025 上配合扩展思考达到 93%,表明对于数学而言,模型规模不如推理能力重要。
  • 工具使用:o3/o4-mini 将工具使用(代码执行、网络搜索)集成到推理过程中,使模型能够以编程方式验证中间步骤。

QwQ 与 Qwen 推理模型

阿里巴巴的 Qwen 团队开发了一系列推理模型(QwQ-32B [351]、Qwen3 [352]),与 DeepSeek-R1 一同代表了开源前沿。他们的方法在几个关键方面有所不同。

多阶段 RL 流水线

Qwen 的推理流水线采用更为精细的多阶段方法:

  1. 基础预训练:具有强大数学与编码能力的 Qwen2.5 基础模型
  2. 在多样化推理数据上做 SFT:在广泛的推理任务混合数据(数学、代码、科学、逻辑)上微调
  3. 拒绝采样微调(Rejection Sampling Fine-Tuning, RFT):为每个问题生成 N 个解答,保留正确的,再进行微调
  4. RL 阶段 1:在数学与代码上使用带可验证奖励的 GRPO
  5. RL 阶段 2:更广泛的 RL,包括指令跟随与安全性

拒绝采样与 RL 的结合

Qwen 方法中的一个关键创新是拒绝采样与 RL 的迭代组合:

  1. 初始化:从 SFT 模型得到 Policy π0。
  2. 拒绝采样:采样 N 个解答:{yi}i=1N∼πk−1(⋅∣q)。保留正确的解答:𝒴+​(q)={yi:r⁡(yi,y∗)=1}。
  3. SFT 更新:πkSFT←SFT​(πk−1,⋃q𝒴+​(q))
  4. RL 更新:πk←GRPO​(πkSFT,𝒟)
  5. 重复第 2–4 步 K 次迭代,得到最终 Policy πK。

拒绝采样步骤提供高质量的正样本以锚定 Policy,而 RL 则探索当前分布之外的空间。这种组合比纯 RL 更稳定,也比纯 SFT 能力更强。

工具集成推理

QwQ-32B 与 Qwen3 模型支持工具集成推理:模型可以在推理链中调用外部工具(Python 解释器、搜索引擎、计算器)。这通过特殊 Token 实现:

<think>
Let me solve this step by step.
First, I'll compute the eigenvalues of the matrix.

<tool_call>
{"name": "python", "arguments": {"code": "import numpy as np\nA = np.array([[2,1],[1,3]])\neigenvalues = np.linalg.eigvals(A)\nprint(eigenvalues)"}}
</tool_call>

<tool_response>
[1.38196601 3.61803399]
</tool_response>

The eigenvalues are approximately 1.382 and 3.618.
These are (5 +/- sqrt(5))/2, which are the golden ratio and its conjugate...
</think>
<answer>The eigenvalues are (5 +/- sqrt(5))/2</answer>

代码清单 7:QwQ 中的工具集成推理格式

RL 训练的奖励基于最终答案计算,但模型会学会策略性地使用工具,因为使用工具能提高得到正确答案的概率。

关键方法及其数学基础

用于推理的蒙特卡洛树搜索

蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)为把推理视为树搜索提供了有原则的框架。在 AlphaProof [68] 及相关系统中,MCTS 作用于推理步骤而非棋步。

  • 状态sk:部分推理链 (q,r1,r2,…,rk),其中 ri 是推理步骤
  • 动作a:下一个推理步骤(一句话或一段话)
  • 终止状态:包含最终答案的状态
  • 奖励:R⁡(sterminal)=racc(式 [eq:r1_accuracy_reward])

价值函数 V⁡(sk) 估计从部分状态 sk 到达正确答案的概率:

V⁡(sk)=P⁡(correct answer∣sk)≈1M​∑m=1MR⁡(rolloutm​(sk))(13.30)

其中 rolloutm​(sk) 是使用当前 Policy 从 sk 到终止状态的蒙特卡洛 rollout。

节点选择使用为推理改造过的上置信界(Upper Confidence Bound, UCB)公式:

UCB​(sk,a)=Q⁡(sk,a)+cpuct⋅πθ​(a∣sk)⋅N⁡(sk)1+N⁡(sk,a)(13.31)

其中:

  • Q⁡(sk,a)=1N⁡(sk,a)​∑visitsV⁡(sk+1) 是子状态的平均价值
  • πθ​(a∣sk) 是 Policy 先验(步骤 a 的语言模型概率)
  • N⁡(sk) 是状态 sk 的访问计数
  • N⁡(sk,a) 是 (sk,a) 边的访问计数
  • cpuct 是探索常数

MCTS 可用于生成高质量的训练数据:

ℒMCTS(θ)=−∑k∑aπMCTS(a∣sk)logπθ(a∣sk)(13.32)

其中 πMCTS​(a∣sk)∝N​(sk,a)1/τ 是 MCTS Policy(带 temperature τ 的访问计数分布)。

过程奖励模型

Math-Shepherd [365] 提出了一种无需人工步级别标注即可训练 PRM 的自动化方法。关键洞见是使用基于结果的估计:如果从 sk 出发存在一个补全能到达正确答案,则步骤 sk 被标记为正确。

形式上,对于部分解 (s1,…,sk):

r^k=[∃(sk+1,…,sK):verify(sK,y∗)=1](13.33)

在实践中,这通过从 sk 采样 M 个补全并检查其中是否有正确的来估计:

r^k≈[∑m=1Mverify(completem(sk),y∗)>0](13.34)

随后用二元交叉熵训练 PRM:

ℒPRM(ϕ)=−∑k=1K[r^klogrϕ(sk)+(1−r^k)log(1−rϕ(sk))](13.35)

PRM 的一个主要应用是 best-of-N 选择:生成 N 个候选解,并选出 PRM 得分最高的那个:

y∗=arg⁡maxy∈{y1,…,yN}​RPRM​(q,y)(13.36)

这比多数投票(使用 ORM)更有效,因为 PRM 能区分那些通过不同质量推理路径得到同一答案的解。

结果奖励模型与多数投票

测试时计算扩展的最简单形式是多数投票 [367]:生成 N 个解答并返回最常见的答案:

y∗=argmaxa∑i=1N𝟏[yi=a](13.37)

在假设每个解答都独立地以概率 p>0.5 正确的前提下,多数投票正确的概率为:

P⁡(majority correct)=∑k=⌈N/2⌉N(Nk)​pk​(1−p)N−k→N→∞1(13.38)

ORM 可以通过按置信度对投票加权来改进多数投票:

y∗=argmaxa∑i=1NRORM(q,yi)⋅𝟏[yi=a](13.39)

用于推理的自博弈

自我对弈方法让模型同时扮演生成器与验证器两种角色来生成训练数据。

STaR [419] 迭代地自举推理能力:

  1. 为一个问题集生成推理链
  2. 保留能得到正确答案的推理链(拒绝采样)
  3. 在保留的推理链上微调
  4. 用改进后的模型重复上述过程

关键洞见是模型可以合理化正确答案:即使它无法从零开始解决一个问题,也能在给定答案的情况下生成一条看似合理的推理链,这些推理链随后可用作训练数据。

在用于推理的自我对弈 RL 中,模型同时生成问题与解答:

ℒself-play(θ)=𝔼q∼πθgen𝔼y∼πθsolve(⋅|q)[r(y,y∗)](13.40)

其中 πθgen 生成问题,πθsolve 解决它们。生成器因产生既有挑战性又可解的问题而获得奖励。

可验证奖励的强化学习(RLVR)

RLVR [199] 是一个使用真值验证作为奖励信号的框架,适用于任何可以自动检查正确性的领域。

  • 数学:通过 SymPy、Lean 或 Isabelle 进行符号验证
  • 代码:单元测试执行
  • 形式逻辑:证明检查
  • 事实问答:数据库查询
  • 博弈:胜负结果
ℒRLVR(θ)=−𝔼(q,y∗)∼𝒟𝔼y∼πθ(⋅|q)[verify(y,y∗)]+β𝔻KL[πθ∥πref](13.41)

RLVR 相对 RLHF 的关键优势在于不存在奖励模型误差:由于奖励由确定性的验证器而非学习得到的模型计算,因此不会针对有缺陷的奖励模型发生奖励作弊。唯一的失效模式是模型找到能通过验证但并非真正正确的解(例如利用代码评测中测试用例的弱点)。

旅程学习(Journey Learning)

旅程学习(Journey Learning) [298] 提出在完整推理轨迹上训练,包括失败的尝试与修正,而不仅仅是成功的最终解。

标准的拒绝采样会丢弃失败的尝试。但失败的尝试包含有价值的信息:

  • 哪些方法行不通(负样本)
  • 如何识别错误并从中恢复(修正模式)
  • 问题空间的结构(探索数据)

给定一条可能包含回溯的轨迹 τ=(s0,a0,s1,a1,…,sT):

ℒjourney(θ)=−∑t=0Twtlogπθ(at∣st)(13.42)

其中权重 wt 被设计为强调:

  • 最终导向成功的步骤(wt>1)
  • 错误之后的修正步骤(wt>1)
  • 失败分支中的步骤(wt<1,但 >0)

Quiet-STaR:在每个 Token 上推理

Quiet-STaR [418] 将推理范式扩展到每一个 Token 位置:模型不再只在最终答案之前生成推理链,而是在每个 Token 位置都生成一个「思考」。

对于每个 Token 位置 t,模型在预测下一个 Token xt+1 之前生成一个隐藏思考 zt:

P(xt+1∣x≤t)=𝔼zt∼πθ(⋅|x≤t)[πθ(xt+1∣x≤t,zt)](13.43)

在实践中,通过混合有思考与无思考时的预测来近似:

P⁡(xt+1∣x≤t)=α⋅πθ​(xt+1∣x≤t,zt)+(1−α)⋅πθ​(xt+1∣x≤t)(13.44)

由于思考 zt 是离散隐变量,梯度使用 REINFORCE 估计:

∇θℒQS=𝔼zt​[∇θ​log​πθ​(zt∣x≤t)⋅(log⁡P⁡(xt+1∣x≤t,zt)−bt)](13.45)

其中 bt 是基线(例如无思考时的预测 log⁡πθ​(xt+1∣x≤t))。

推理的扩展律

近期工作 [335, 388] 确立了测试时计算量随推理性能可预测地扩展,将经典扩展律 [177] 延伸到了推理阶段。

训练计算量与测试时计算量的权衡

推理模型的根本扩展问题是:在给定固定总计算预算 Ctotal=Ctrain+N⋅Ctest(其中 N 是查询数量)的情况下,应如何分配计算量?

设 𝒜⁡(Ctrain,Ctest) 表示用 Ctrain FLOPs 训练、且每个查询获得 Ctest 推理 FLOPs 的模型的准确率。经验上:

𝒜(Ctrain,Ctest)≈1−exp(−a⋅Ctrainα⋅Ctestβ)(13.46)

其中 a,α,β>0 为常数。固定总预算 Ctotal 下的最优分配满足每 FLOP 的边际收益在训练与推理之间相等的条件:

∂𝒜∂Ctrain=1N⋅∂𝒜∂Ctest(13.47)

直观地看:一个 FLOP 的训练有益于全部 N 个查询,而一个 FLOP 的测试时计算只益于一个查询。在最优处,测试时计算的每查询边际价值是训练计算的 N 倍(因为训练是被摊销的)。将其代入式 [eq:reasoning_scaling_law],得到最优训练计算占比:

Ctrain∗Ctotal=αα+β(13.48)

对于特定的预算结构 Ctotal=Ctrain+N⋅Ctest,在乘法式准确率模型下该占比与 N 无关。然而在实践中,α 与 β 依赖于具体问题:对于查询量很大的部署(N 很大),基座模型哪怕很小的改进也会占主导,因而更倾向于投入训练;对于查询量小且高风险的场景(N 很小),测试时计算则更具成本效益。

何时投资于更长推理链 vs. 更好的基础模型

「过度思考」现象——推理链极长的模型表现反而差于链长适中的模型——已被经验观察到,其原因被归结为:

  • 长链中错误的累积(误差传播)
  • 偏离主要求解路径
  • 对错误的中间结论过度自信

最优 Token 预算分配

对于 Token 预算 B 固定的模型,「思考」Token Tthink 与「作答」Token Tanswer 之间的分配应满足:

Tthink∗=arg⁡maxT⁡𝒜⁡(T,B−T)(13.50)

经验上,最优划分取决于具体问题:

  • 简单问题:Tthink∗/B≈0.3(30% 思考)
  • 困难问题:Tthink∗/B≈0.8(80% 思考)
  • 极难问题:Tthink∗/B≈0.95(95% 思考,答案极简)

这促成了 自适应思考预算:为更难的问题分配更多 Token,而难度可以通过模型在初次求解尝试中的不确定性来估计。

推理模型比较

方法PRMORMMCTS蒸馏工具开源
OpenAI o1/o3✓✓未知–✓×
DeepSeek-R1×✓×✓×✓
QwQ / Qwen3部分✓××✓✓
AlphaProof✓✓✓–✓×
Math-Shepherd✓✓×–×✓
STaR / Quiet-STaR×✓×–×✓

表 13.3:推理模型训练方法比较。

推理时算力扩展定律

训练时扩展律(Chinchilla [140])已被充分理解:模型性能随计算量、数据与参数可预测地提升。推理时计算扩展 是新的前沿——即这样一个经验发现:在测试时分配更多计算(更长的推理链、更多搜索、迭代精炼)可以解决更大的基座模型无法解决的问题。

过度思考问题

推理时扩展引入了一个关键失效模式:过度思考。被训练生成长思维链的推理模型,即使在答案显而易见时也会继续生成 Token,浪费计算量,并且有时会因为引入虚假的推理步骤而降低准确率。

高效推理技术

有若干方法可用于处理推理时扩展中计算量与质量之间的权衡:

  • 思维草图:在完整链之前生成一个压缩的推理草图。通过在推理轨迹中把规划与执行分离,实现了 84% 的 Token 削减,而准确率损失极小。
  • 预算感知 Prompt:用 Token 预算显式指示模型(「在 200 个 Token 以内解决这个问题」)。在问题难度已知的基准上可将推理成本减半。
  • 更短的链反而提升准确率:在某些任务上,强制使用更短的推理链可带来 34.5% 的准确率提升——模型被迫更直接,从而避免了过度思考的螺旋。
  • 自适应深度:OpenAI 的 reasoning_effort 参数(low/medium/high)根据估计难度把查询路由到不同的 token 预算,为算力—质量权衡提供了实用的 API。

与 RL 的联系:把推理算力视为 MDP 的时域

潜空间推理:思维链就是计算本身吗?

越来越多的证据挑战思维链 就是 推理本身这一假设:

  • 超越思维链的推理[168]:这项工作使用稀疏自编码器(Sparse Autoencoder)探查内部表征,识别出在相应 token 生成 之前 就被激活的推理专用特征——暗示模型在写下思维链之前就已经「知道答案」。
  • 思考以回忆[114](Google,COLM 2026):证明生成推理轨迹能够解锁那些直接提示几乎无法触及的参数化知识——但轨迹本身可能只是 脚手架,而非计算本身。

面向推理的同策略自蒸馏

本章的方法——GRPO、过程奖励、MCTS——共享一个根本局限:稀疏反馈。无论序列多长,强化学习每回合只提供固定比特数的信息。一条 2000 token、最终得出错误答案的思维链只收到一个标量惩罚;模型学不到 哪些 token 导致了失败。同策略自蒸馏(On-Policy Self-Distillation, OPSD)[430] 通过提供 密集的 token 级监督 来解决这一问题,同时保留让 RL 有效的 on-policy 性质。

训练目标

令 πθ 表示学生策略(只给定问题的模型),πθ+ 表示教师策略(以已验证答案等特权上下文为条件的同一个模型)。对于从学生中采样的轨迹 x=(x1,…,xT),OPSD 损失最小化逐 token 的反向 KL 散度:

ℒOPSD(θ)=𝔼x∼πθ[∑t=1TKL(πθ(⋅∣x<t)∥πθ+(⋅∣x<t))]

在实践中,这简化为在采样 token 上评估的对数概率之差:

ℒOPSD​(θ)≈𝔼x∼πθ​[∑t=1Tlog⁡πθ​(xt∣x<t)−log⁡πθ+​(xt∣x<t)]

教师的对数概率只需一次前向传播(无需计算梯度),使得该方法比运行独立的奖励模型或执行带延迟奖励的完整 RL rollout 便宜得多。

为什么密集监督很重要

信息论上的论证很有说服力:RL 每回合只教 O⁡(1) 比特(标量奖励),而 token 级蒸馏每回合教 O⁡(T) 比特。这直接转化为训练效率:

  • Qwen3 的结果:Qwen3 技术报告指出,on-policy 蒸馏在 AIME’24 上达到 74.4%,所用 GPU 小时数仅为 其 RL 流水线的十分之一(1,800 对 17,920 GPU 小时),同时超过了 RL 的 67.6%。
  • 步骤效率:实证比较显示,OPSD 达到同等推理性能所需的梯度步数比 GRPO 少 7–10×,在计入所需上下文长度更短、batch 规模更小之后,相当于节省 50–100× 的算力。
  • 数据复用:与在重复 prompt 上训练时会记住最终答案的 RL 不同,OPSD 通过反向 KL 学习逼近教师的完整分布,从而能够在小规模 prompt 集合上进行有效的多轮训练。

失败模式与缓解措施

RLCSD [282] 通过 对比式 形式化来解决这一问题:它在正确提示与错误提示两种条件下分别计算教师—学生差距,再减去后者,以抵消只要以 任意 提示为条件就会引入的风格成分。剩余信号集中在与任务相关的 token 上。

EGRSD [181] 采取互补的做法:它引入一个 熵引导的置信度门控,降低教师预测分布为高熵(不确定)的 token 位置的权重,把梯度集中在教师确信而学生出现分歧的位置上。

与 RL 的联系及训练流水线

OPSD 在后训练流水线中占据一个特定的生态位:

图 13.6:OPSD 在监督微调(SFT)与 RL 之间架起桥梁:它把 on-policy 采样(避免分布不匹配)与密集的 token 级监督(避免奖励稀疏)结合起来。

前沿实验室正在形成的实践流水线是:(1)在教师生成的推理轨迹上做监督微调,把策略初始化到正确的分布内;(2)用 OPSD 以密集监督低成本地恢复或精炼推理能力;(3)对 OPSD 的教师信号变得不可靠(教师本身也解不出)的困难问题,用 RL 做最后冲刺。

总结与开放问题

面向推理模型的 RL 领域进展极快,已经浮现出若干关键经验:

  1. 可验证奖励已经足够:对于具备真值验证的领域(数学、代码),仅用结果奖励就足以让 RL 发现精妙的推理策略,而不需要过程奖励模型。
  2. 测试时算力是一条新的扩展轴:推理模型引入了新的扩展维度——推理算力——对于困难的推理任务,它与训练算力大致可以相互替代。
  3. 蒸馏极为有效:大型推理模型可以通过在生成的思维链上做监督微调,把能力迁移到小得多的模型中,其效果往往优于直接对小模型做 RL 训练。同策略自蒸馏进一步在只花一小部分算力的前提下,缩小了蒸馏与 RL 之间的差距。
  4. 涌现的元认知:在推理任务上做 RL 训练会涌现出未被显式训练的自我纠正与验证行为。
  5. 密集监督优于稀疏奖励:同策略自蒸馏通过提供 token 级而非回合级反馈,以低 10–100× 的算力达到 RL 级别的推理能力。

推理模型的发展代表了一次范式转变:从 知道 事情的语言模型,转向能够 把事情想明白 的语言模型。本章描述的方法——从带可验证奖励的 RL,到推理时算力扩展,再到同策略自蒸馏——构成了一个快速扩张的工具箱,其持续发展很可能成为未来数年 AI 研究的核心焦点。