测试时计算扩展:形式化推理预算分配与最优停止
1. 测试时计算扩展的形式化框架
1.1 预算分配问题的诞生
1.1.1 从单题到批量的认知跳跃
1.1.1.1 三词表微型模型的 toy example
我们先从一个极端简化的场景入手,把直觉磨锋利。假设我们拥有一个词表仅有三个符号的微型语言模型:词表为 {思考, 答案, 停}。现在面对一道数学题,我们手头有六枚计算代币(token budget)。
我们可以怎么花这六枚代币?方案一:让模型生成一条连续六步的思维链,例如 思考→思考→思考→答案→答案→停。方案二:生成两条独立的思维链,每条消耗三枚代币,例如链A为 思考→答案→停,链B为 思考→思考→停,然后对比两条链的结果。
如果这道题很简单,模型在第一步 思考 后就有极高把握得出正确答案,那么方案一里的后面五个代币多半是浪费的;而方案二用两条短链互相验证,反而更稳健。反过来,如果题目极难,单条短链根本走不通,方案一的长链反而可能通过反复迭代逼近正确解。
这个 toy example 揭示了一个核心矛盾:同样的预算,花法不同,效果天差地别。我们现在已经把问题从"要不要用测试时计算"推进到了"怎么花才划算"。别急,接下来我们就把这个直觉翻译成数学语言。
1.1.1.2 真实规模下的符号体系
现在我们把词表从三个符号扩展到真实的大语言模型规模,把单道题扩展到批量任务。设我们有一个题目集合 Q={q1,q2,…,qM}\mathcal{Q} = \{q_1, q_2, \dots, q_M\}Q={q1,q2,…,qM},总计算预算为 BBB(以 FLOPs 或生成 token 数计量)。对于每道题 qiq_iqi,我们需要决定:
- 分配多少预算 bi≥0b_i \geq 0bi≥0,满足 ∑i=1Mbi≤B\sum_{i=1}^M b_i \leq B∑i=1Mbi≤B;
- 采用什么推理策略 si∈Ss_i \in \mathcal{S}si∈S,其中策略空间 S\mathcal{S}S 至少包含:
- 贪婪解码(单路径,无扩展);
- 并行采样(生成 NNN 条独立回答,再聚合);
- 串行搜索(过程奖励模型引导的束搜索)。
设每道题 qiq_iqi 存在一个隐式难度 di∈[0,1]d_i \in [0, 1]di∈[0,1]。给定策略 sss 和预算 bbb,该题的期望正确率记为 P(correct∣qi,s,b)P(\text{correct} \mid q_i, s, b)P(correct∣qi,s,b)。整个批次的优化目标为:
max{si,bi}∑i=1MP(correct∣qi,si,bi)s.t.∑i=1Mbi≤B. \max_{\{s_i, b_i\}} \sum_{i=1}^M P(\text{correct} \mid q_i, s_i, b_i) \quad \text{s.t.} \quad \sum_{i=1}^M b_i \leq B. {si,bi}maxi=1∑MP(correct∣qi,si,bi)s.t.i=1∑Mbi≤B.
听起来抽象对吧?如果画成图,它就像一个水流分配系统:总预算 BBB 是水源,每道题是一个蓄水池,策略 sis_isi 是通往该水池的管道形状,难度 did_idi 决定了该水池的"漏损率"。我们的目标不是把水均匀倒给每个池子,而是让总蓄水量最大化。
1.1.2 并行与串行的计算拓扑
1.1.2.1 并行采样的独立同分布结构
并行策略最典型的代表是 Best-of-N 和 Majority Voting。它们的共同统计结构是:对同一道题目 qqq,独立同分布地采样 NNN 条回答 {y(1),y(2),…,y(N)}\{y^{(1)}, y^{(2)}, \dots, y^{(N)}\}{y(1),y(2),…,y(N)},每条回答消耗 b/Nb/Nb/N 的预算(假设均匀分配)。
在概率图上,这像什么?想象我们从同一个起点 qqq 同时发射 NNN 支箭,每支箭的飞行轨迹互不影响,最终落在答案空间 A\mathcal{A}A 的不同位置。由于采样独立,整个集合的联合分布可以分解:
P(y(1),…,y(N)∣q)=∏j=1NP(y(j)∣q). P(y^{(1)}, \dots, y^{(N)} \mid q) = \prod_{j=1}^N P(y^{(j)} \mid q). P(y(1),…,y(N)∣q)=j=1∏NP(y(j)∣q).
如果答案空间是离散的,设正确答案为 a∗a^*a∗,单次采样正确的概率为 p=P(y=a∗∣q)p = P(y = a^* \mid q)p=P(y=a∗∣q)。那么 NNN 次采样中至少一次正确的概率为 1−(1−p)N1 - (1-p)^N1−(1−p)N。这是并行结构最核心的数量关系:错误概率随 NNN 指数衰减,但前提是每次采样的错误事件相互独立。
1.1.2.2 串行推理的马尔可夫依赖
串行策略则完全不同。以 Long CoT 或 PRM 引导的束搜索为例,后面的推理步骤严重依赖前面已经生成的 token。我们把一条推理链记为序列 (x1,x2,…,xT)(x_1, x_2, \dots, x_T)(x1,x2,…,xT),其概率服从链式法则:
P(x1,…,xT∣q)=∏t=1TP(xt∣q,x<t). P(x_1, \dots, x_T \mid q) = \prod_{t=1}^T P(x_t \mid q, x_{<t}). P(x1,…,xT∣q)=t=1∏TP(xt∣q,x<t).
如果画成图,这不是 NNN 支独立箭,而是一条可能分叉的河流。主流束搜索(beam search)在每一步保留 kkk 个最宽的"河道",过程奖励模型(PRM)则像水位计,实时测量每条河道的"深度"——即该前缀最终通向正确答案的概率。
这里的依赖结构是马尔可夫的:下一步的分布只依赖于当前前缀状态,而不依赖更早的历史(在模型参数固定的情况下)。这种结构允许后期计算利用前期结果,但也意味着一旦前期走错,后期纠正的成本极高。
1.1.3 难度感知的计算最优策略
1.1.3.1 简单题与难题的分化现象
现在我们已经了解了并行和串行的拓扑差异,接下来看看一个反直觉的实验事实:不存在一种策略在所有难度区间都称霸。
对于简单题(did_idi 接近 0),单次贪婪解码的正确率 ppp 已经很高。此时并行采样的 1−(1−p)N1 - (1-p)^N1−(1−p)N 很快饱和,继续增大 NNN 的收益极低;而串行长链的大部分 token 只是在重复已有结论,造成浪费。
对于难题(did_idi 接近 1),单次采样正确的概率 ppp 极低。并行采样需要天文数字般的 NNN 才能覆盖正确答案;而串行搜索可以通过 PRM 的逐步筛选,把计算资源集中在"有前途"的前缀上,实现定向爆破。
如果画成二维平面图,横轴是题目难度,纵轴是单位预算带来的正确率提升。并行策略的曲线呈凹形:前期快速上升,后期平坦。串行策略的曲线呈凸形:前期几乎不动,后期陡峭上扬。两条曲线必然相交,交点左侧并行占优,右侧串行占优。
1.1.3.2 计算最优路由的数学推导
这一观察直接催生了计算最优路由(compute-optimal routing)问题。我们不预先固定策略,而是让题目难度决定策略选择。设策略 sss 在难度 ddd 和预算 bbb 下的期望正确率为 U(s,d,b)U(s, d, b)U(s,d,b),这是一个可通过小规模验证集估计的函数。
对每道题 qiq_iqi,最优策略选择为:
si∗=argmaxs∈SU(s,di,bi). s_i^* = \arg\max_{s \in \mathcal{S}} U(s, d_i, b_i). si∗=args∈SmaxU(s,di,bi).
在批量预算约束下,我们需要联合优化 {bi}\{b_i\}{bi} 和 {si}\{s_i\}{si}。引入拉格朗日乘子 λ>0\lambda > 0λ>0 处理预算约束,构造拉格朗日函数:
L=∑i=1MmaxsiU(si,di,bi)−λ(∑i=1Mbi−B). \mathcal{L} = \sum_{i=1}^M \max_{s_i} U(s_i, d_i, b_i) - \lambda \left(\sum_{i=1}^M b_i - B\right). L=i=1∑MsimaxU(si,di,bi)−λ(i=1∑Mbi−B).
对 bib_ibi 求偏导并令其为零,得到 KKT 条件:
∂U(si∗,di,bi)∂bi=λ对所有 bi>0 的题成立. \frac{\partial U(s_i^*, d_i, b_i)}{\partial b_i} = \lambda \quad \text{对所有 } b_i > 0 \text{ 的题成立}. ∂bi∂U(si∗,di,bi)=λ对所有 bi>0 的题成立.
这个等式有一个极其直观的水力学解释:在最优分配下,每道题的边际效用(再多花一个 token 带来的正确率提升)必须全局相等,都等于水压 λ\lambdaλ。如果某道题的边际效用高于 λ\lambdaλ,就应该继续注水;如果低于 λ\lambdaλ,就应该抽水到别处。这在训练/实际使用中意味着:我们不需要为所有题目买最贵的套餐,而是建立一个"难度分级诊疗"系统,让简单题走绿色通道,难题进重症监护。
1.1.4 形式化推导:期望效用最大化
1.1.4.1 效用函数与难度映射
在继续之前,我们需要把效用函数 U(s,d,b)U(s, d, b)U(s,d,b) 的具体形式敲定。以并行采样为例,设每道题的单次正确率为 p(d)p(d)p(d),这是一个关于难度的单调递减函数。采用 NNN 次采样(预算 bbb 与 NNN 成正比,设 b=c⋅Nb = c \cdot Nb=c⋅N),则效用为:
Uparallel(d,b)=1−[1−p(d)]b/c. U_{\text{parallel}}(d, b) = 1 - [1 - p(d)]^{b/c}. Uparallel(d,b)=1−[1−p(d)]b/c.
以串行束搜索为例,情况更复杂。设 PRM 给出的前缀质量分数为 rt∈[0,1]r_t \in [0, 1]rt∈[0,1],束宽为 kkk。在理想化假设下,束搜索相当于在推理树上做定向筛选,其效用可近似为:
Userial(d,b)≈1−exp(−α⋅bτ(d)), U_{\text{serial}}(d, b) \approx 1 - \exp\left(-\alpha \cdot \frac{b}{\tau(d)}\right), Userial(d,b)≈1−exp(−α⋅τ(d)b),
其中 τ(d)\tau(d)τ(d) 是难题的特征长度尺度,α\alphaα 是 PRM 的判别力系数。难题的 τ(d)\tau(d)τ(d) 大,需要更多预算才能看到效用上升。
1.1.4.2 拉格朗日松弛与KKT条件
现在我们已经了解了效用函数的两种形态,接下来把它们放进同一个优化框架求解。将两种策略统一记为 U1U_1U1(并行)和 U2U_2U2(串行),并引入二元变量 zi∈{0,1}z_i \in \{0, 1\}zi∈{0,1} 表示是否对题 iii 使用串行策略(zi=1z_i=1zi=1)或并行策略(zi=0z_i=0zi=0)。优化问题变为:
max{zi,bi}∑i=1M[ziU2(di,bi)+(1−zi)U1(di,bi)] \max_{\{z_i, b_i\}} \sum_{i=1}^M \left[ z_i U_2(d_i, b_i) + (1-z_i) U_1(d_i, b_i) \right] {zi,bi}maxi=1∑M[ziU2(di,bi)+(1−zi)U1(di,bi)]
s.t.∑i=1Mbi≤B,zi∈{0,1}. \text{s.t.} \quad \sum_{i=1}^M b_i \leq B, \quad z_i \in \{0, 1\}. s.t.i=1∑Mbi≤B,zi∈{0,1}.
这是一个混合整数非线性规划。在连续松弛(允许 zi∈[0,1]z_i \in [0, 1]zi∈[0,1])后,对 bib_ibi 求导仍得到边际效用相等条件。对 ziz_izi 的比较静态分析则给出策略切换规则:当且仅当
U2(di,bi)−U1(di,bi)>λ⋅Δc U_2(d_i, b_i) - U_1(d_i, b_i) > \lambda \cdot \Delta c U2(di,bi)−U1(di,bi)>λ⋅Δc
时选择串行策略,其中 Δc\Delta cΔc 是两种策略的单位预算成本差。这在训练/实际使用中意味着:我们可以先在一个小型验证集上拟合 U1U_1U1 和 U2U_2U2 的曲线,然后建立一个查表式路由器,根据题目 embedding 的难度估计值直接查表分配策略和预算,无需在线求解优化问题。
2. Long CoT的最优停止条件
2.1 推理链的随机过程建模
2.1.1 部分可观测的生成过程
2.1.1.1 状态空间与观测序列
第一步,我们把 Long CoT 的生成过程从"黑箱模型吐 token"抽象为一个我们可以分析的数学对象。假设模型在生成第 ttt 个 token 时,内部处于一个隐状态 ht∈Hh_t \in \mathcal{H}ht∈H。这个隐状态包含了所有历史上下文的信息,但我们无法直接观测 hth_tht,只能观测到生成的 token xtx_txt。
整个推理链是一个部分可观测的马尔可夫决策过程(POMDP):
- 状态转移:ht+1=f(ht,xt)h_{t+1} = f(h_t, x_t)ht+1=f(ht,xt),由模型的自回归动力学决定;
- 观测:xt∼π(⋅∣ht)x_t \sim \pi(\cdot \mid h_t)xt∼π(⋅∣ht),即策略网络输出的分布;
- 奖励:仅在终止时获得,R=1[final answer correct]R = \mathbb{1}[\text{final answer correct}]R=1[final answer correct]。
如果画成图,它像一条蒙眼走路的路径:模型(行者)知道自己在哪(隐状态),但我们(外部控制者)只能看到行者留下的脚印(token 序列)。我们的问题是:什么时候该喊停,让行者报告当前位置?
2.1.1.2 过程奖励模型的观测函数
过程奖励模型(PRM)给了我们一个窥视隐状态的窗口。PRM 在每一步输出一个分数 rt∈[0,1]r_t \in [0, 1]rt∈[0,1],估计当前前缀最终通向正确答案的概率:
rt=P(correct∣q,x≤t)≈PRMθ(q,x≤t). r_t = P(\text{correct} \mid q, x_{\leq t}) \approx \text{PRM}_\theta(q, x_{\leq t}). rt=P(correct∣q,x≤t)≈PRMθ(q,x≤t).
从滤波理论的角度看,PRM 是一个近似的观测函数,它把部分可观测的隐状态 hth_tht 映射为一个标量信号。最优停止问题的核心就是:基于这个有噪声的标量信号,决定何时终止序列生成。
2.1.2 最优停止的价值函数
2.1.2.1 贝尔曼方程在推理链上的形式
现在我们已经了解了随机过程的骨架,接下来把最优停止理论嫁接上去。定义价值函数 Vt(x≤t)V_t(x_{\leq t})Vt(x≤t) 为:给定当前前缀 x≤tx_{\leq t}x≤t,如果从此刻起采用最优停止策略,最终获得正确答案的期望概率。
在每个时间步 ttt,我们面临二元选择:
- 停止:立即输出当前最佳答案,期望收益为当前 PRM 估计值 rtr_trt;
- 继续:再生成一个 token,期望收益为未来的平均价值 Ext+1[Vt+1(x≤t+1)]\mathbb{E}_{x_{t+1}}[V_{t+1}(x_{\leq t+1})]Ext+1[Vt+1(x≤t+1)],但要扣除继续生成的即时成本(预算消耗或机会成本)。
贝尔曼最优性方程写作:
Vt(x≤t)=max{rt, Ext+1∼π(⋅∣x≤t)[Vt+1(x≤t+1)]−γ}, V_t(x_{\leq t}) = \max \left\{ r_t, \; \mathbb{E}_{x_{t+1} \sim \pi(\cdot \mid x_{\leq t})}\left[V_{t+1}(x_{\leq t+1})\right] - \gamma \right\}, Vt(x≤t)=max{rt,Ext+1∼π(⋅∣x≤t)[Vt+1(x≤t+1)]−γ},
其中 γ\gammaγ 是单位 token 的机会成本(由全局预算约束内生化)。这个方程的直观含义是:如果继续思考的期望净收益不超过现在就停的收益,那就应该停。
2.1.2.2 继续与停止的期望收益比较
为了把上面的贝尔曼方程变成可操作的规则,我们需要比较两边的具体形态。设继续生成的价值可以线性近似:
E[Vt+1]≈rt+Δt, \mathbb{E}[V_{t+1}] \approx r_t + \Delta_t, E[Vt+1]≈rt+Δt,
其中 Δt\Delta_tΔt 是再思考一步带来的期望信息增益。如果模型已经处于高度自信状态(rt≈1r_t \approx 1rt≈1),则 Δt≈0\Delta_t \approx 0Δt≈0,因为正确答案附近的小扰动不太可能带来新信息。如果模型处于混乱状态(rt≈0.5r_t \approx 0.5rt≈0.5),则 Δt\Delta_tΔt 可能为正,也可能为负——继续思考可能澄清问题,也可能越绕越远。
停止边界因此由 Δt\Delta_tΔt 与 γ\gammaγ 的较量决定。当 Δt<γ\Delta_t < \gammaΔt<γ 时,继续思考是亏本的。
2.2 停止边界的显式构造
2.2.1 基于PRM分数的阈值规则
2.2.1.1 阈值的几何直观
如果画成图,最优停止问题在二维平面上是什么样子?横轴是已生成的 token 数 ttt,纵轴是 PRM 分数 rtr_trt。停止边界是一条曲线 r∗(t)r^*(t)r∗(t),当实际轨迹 (t,rt)(t, r_t)(t,rt) 从上方触及这条曲线时,我们就喊停。
这条边界的形状由什么决定?在推理初期(ttt 小),模型可能还在热身,PRM 分数波动大,边界应该宽松,允许模型多走几步。在推理后期(ttt 大),如果 PRM 分数仍然低迷,边界应该收紧,防止无限空转。因此 r∗(t)r^*(t)r∗(t) 通常是一条随 ttt 递增的曲线:你思考得越久,我对你最终答案的期望越高,才允许你继续。
2.2.1.2 几何衰减假设下的闭式解
为了得到闭式解,我们引入一个简化假设:PRM 分数的期望提升服从几何衰减。设从第 ttt 步继续思考一步的期望信息增益为:
Δt=β⋅ρt⋅(1−rt), \Delta_t = \beta \cdot \rho^t \cdot (1 - r_t), Δt=β⋅ρt⋅(1−rt),
其中 β>0\beta > 0β>0 是初始增益,ρ∈(0,1)\rho \in (0, 1)ρ∈(0,1) 是衰减率,(1−rt)(1 - r_t)(1−rt) 表示剩余不确定性。代入贝尔曼方程,停止条件 Δt<γ\Delta_t < \gammaΔt<γ 变为:
β⋅ρt⋅(1−rt)<γ. \beta \cdot \rho^t \cdot (1 - r_t) < \gamma. β⋅ρt⋅(1−rt)<γ.
解出阈值:
r∗(t)=1−γβρ−t. r^*(t) = 1 - \frac{\gamma}{\beta} \rho^{-t}. r∗(t)=1−βγρ−t.
这是一个指数上升的边界。当 ttt 足够大时,r∗(t)r^*(t)r∗(t) 可能超过 1,这意味着在数学上不可能继续——无论 PRM 多高,预算成本已经吞噬了所有潜在收益。此时的最优策略是强制终止。
2.2.2 预算强制的最优性解释
2.2.2.1 硬边界作为阈值近似
Budget Forcing 的两种操作——上限强制和下限强制——可以看作对上述光滑阈值边界的粗糙近似。
- 上限强制:设定最大 token 数 TmaxT_{\max}Tmax。这相当于在 t=Tmaxt = T_{\max}t=Tmax 处设置一条垂直的"死亡线",无论 rtr_trt 多高,都必须停止。它近似了 r∗(t)>1r^*(t) > 1r∗(t)>1 的极端情况。
- 下限强制:设定最小 token 数 TminT_{\min}Tmin,并在此之前抑制停止 token 的生成。这相当于在 t<Tmint < T_{\min}t<Tmin 时把停止边界推到 r∗=1r^* = 1r∗=1(即不可能停止),强制模型继续探索。
这种硬边界虽然在数学上不是最优的(它忽略了 PRM 的实际信号),但它的优势在于零开销:不需要运行 PRM,不需要在线求解贝尔曼方程,只需在解码循环里数 token。
2.2.2.2 最优停止的伪代码实现
为了把理论落地,我们给出结构化伪代码。该实现融合了 PRM 信号与预算硬边界:
function OptimalStop(q, T_max, T_min, gamma, beta, rho):
prefix ← q
for t ← 1 to T_max do
x_t ← Sample(prefix)
prefix ← prefix ⊕ x_t
r_t ← PRM(prefix)
if t < T_min then
continue
end
delta ← beta * rho^t * (1 - r_t)
if delta < gamma then
return ExtractAnswer(prefix)
end
end
return ExtractAnswer(prefix)
end
这在训练/实际使用中意味着:最优停止条件不是玄学,而是可以写成具体的不等式判断。部署时,我们可以把 PRM 换成轻量化的价值头(value head),把参数 γ,β,ρ\gamma, \beta, \rhoγ,β,ρ 在小验证集上通过网格搜索校准,然后嵌入自回归循环的每一步。
3. Budget Forcing:极简预算控制
3.1 解码时干预的对偶机制
3.1.1 上限强制与下限强制
3.1.1.1 提前终止的硬边界
我们已经推导了最优停止的光滑边界,现在看看一种更粗暴但极其实用的手段:在解码时直接篡改模型的输出流。上限强制的操作极其简单——当已生成的思考 token 数达到预设上限 TmaxT_{\max}Tmax 时,我们不再让模型自己决定何时输出结束符,而是强制注入结束思考的分隔符,并追加 “Final Answer:” 迫使模型进入答题模式。
从条件概率的角度,这相当于把模型的原始分布 P(xt∣x<t)P(x_t \mid x_{<t})P(xt∣x<t) 替换为一个退化的确定性分布:xt=结束符x_t = \text{结束符}xt=结束符 的概率被设为 1。这在信息论中是一次极端的分布坍缩,它完全抹杀了模型原本可能继续思考的意愿。
如果画成图,它像一条正在流淌的河,我们在下游筑起一道大坝,水位涨到坝顶时强行开闸泄洪。河水(token 流)没有选择权,只能改道进入答案通道。
3.1.1.2 Wait令牌的反射触发
下限强制则更有趣。当模型在预设下限 TminT_{\min}Tmin 之前试图输出结束符时,我们执行两个操作:
- 抑制:把结束符的 logits 压到负无穷,使其采样概率为 0;
- 注入:在现有前缀末尾追加字符串 “Wait”。
追加 “Wait” 的统计效应是什么?它改变了条件分布的输入前缀,从而改变了整个后续分布:
P(xt+1,xt+2,⋯∣x≤t)→inject WaitP(xt+1,xt+2,⋯∣x≤t,Wait). P(x_{t+1}, x_{t+2}, \dots \mid x_{\leq t}) \quad \xrightarrow{\text{inject Wait}} \quad P(x_{t+1}, x_{t+2}, \dots \mid x_{\leq t}, \text{Wait}). P(xt+1,xt+2,⋯∣x≤t)inject WaitP(xt+1,xt+2,⋯∣x≤t,Wait).
在训练数据中,“Wait” 通常出现在人类反思的语境中(“Wait, I made a mistake…”)。因此,注入 “Wait” 相当于给模型一个强烈的先验:你刚才的结论可能有问题,请重新检查。这不是通过修改模型权重实现的,而是通过篡改输入上下文实现的,是一种纯粹的解码时干预。
3.1.2 干预的统计效应
3.1.2.1 条件分布的偏移
现在我们已经了解了两种干预的操作细节,接下来量化它们对输出分布的影响。设原始模型在思考结束时的隐状态为 hhh,结束符的未归一化 logit 为 ℓend=wend⊤h\ell_{\text{end}} = w_{\text{end}}^\top hℓend=wend⊤h。抑制操作等价于把 ℓend\ell_{\text{end}}ℓend 替换为 −∞-\infty−∞。根据 softmax 的重新归一化性质,其他所有 token 的概率会等比例放大:
P′(x)=exp(ℓx)∑x′≠endexp(ℓx′),x≠end. P'(x) = \frac{\exp(\ell_x)}{\sum_{x' \neq \text{end}} \exp(\ell_{x'})}, \quad x \neq \text{end}. P′(x)=∑x′=endexp(ℓx′)exp(ℓx),x=end.
这意味着模型被迫从剩余 token 中重新采样,其分布相当于原始分布截去结束符后的条件分布。数学上,这是原始分布向"非结束"子空间的一次投影。
3.1.2.2 自我修正的概率提升
注入 “Wait” 后,模型进入的自我修正模式可以用一个简化的两阶段模型分析。假设模型在第一次思考中得出错误答案的概率为 ϵ\epsilonϵ。在原始分布下,模型一旦输出结束符,错误就被锁定。注入 “Wait” 后,模型获得第二次审视机会,其发现错误的条件概率为 δ\deltaδ。那么修正后的错误率降为:
ϵ′=ϵ⋅(1−δ). \epsilon' = \epsilon \cdot (1 - \delta). ϵ′=ϵ⋅(1−δ).
实验观察表明,δ\deltaδ 并非恒定,而是与题目难度正相关:简单题中模型很少犯错,“Wait” 的边际收益低;难题中模型更容易陷入错误定式,“Wait” 触发重新审视的边际收益高。这与我们在 1.1.3 节看到的难度-策略分化现象遥相呼应。
3.2 与PRM搜索的效率对比
3.2.1 帕累托前沿分析
3.2.1.1 准确率与token消耗
在继续之前,我们需要把 Budget Forcing 放到更大的策略坐标系里定位。横轴是平均消耗 token 数,纵轴是任务正确率。我们在这个平面上画出三条曲线:
- PRM 束搜索:通过过程奖励模型引导,每一步保留 top-k 前缀。曲线呈凸形,初期 token 消耗增长快,后期正确率提升显著。
- Budget Forcing:通过硬边界控制。曲线呈折线形,在 TmaxT_{\max}Tmax 和 TminT_{\min}Tmin 处出现拐点。
- 无干预基线:模型自己决定长度。曲线通常位于前两者下方,因为模型缺乏长度自控能力。
帕累托最优前沿由 PRM 束搜索和 Budget Forcing 在不同区间的线段拼接而成。在低预算区,Budget Forcing 因为零额外开销(不需要运行 PRM)而占优;在高预算区,PRM 束搜索因为精细筛选而占优。
3.2.1.2 样本效率的统计解释
样本效率指的是:每多消耗一个 token,正确率提升多少。对于 Budget Forcing,这个效率在 TminT_{\min}Tmin 之前几乎为负(被迫继续可能引入更多错误),在 TminT_{\min}Tmin 到 TmaxT_{\max}Tmax 之间为正,超过 TmaxT_{\max}Tmax 后断崖式归零。对于 PRM 束搜索,效率始终为正,但边际递减。
如果我们把 token 看作货币,Budget Forcing 像一张"满减券":在特定区间(TminT_{\min}Tmin 到 TmaxT_{\max}Tmax)内消费才有收益,花少了或花多了都亏。PRM 束搜索则像"按需付费":每一分钱都花在刀刃上,但需要额外支付 PRM 的推理税。
3.2.2 实际部署的权衡
3.2.2.1 无训练干预的优势
Budget Forcing 最大的工程优势是零训练成本。它不需要训练 PRM,不需要微调策略模型,只需要在解码循环中加入几行逻辑:数 token、改 logits、插字符串。这使得它可以作为即插即用的后处理层,部署在任何已有的自回归模型上。
从接口设计的角度看,Budget Forcing 的输入是原始模型和预算参数 (Tmin,Tmax)(T_{\min}, T_{\max})(Tmin,Tmax),输出是受控的 token 流。它不暴露内部状态,不依赖模型架构细节,是一种黑箱兼容的干预。
3.2.2.2 过程监督的不可替代性
然而,Budget Forcing 无法替代 PRM 在精细推理任务中的作用。原因在于:Budget Forcing 只控制长度,不控制质量。它无法区分"在深入思考"和"在原地打转"——两者都可能消耗大量 token,但前者通向正确答案,后者陷入循环幻觉。
PRM 束搜索则通过每一步的质量评分,主动剪枝低质量路径。这在数学上等价于在推理树上执行启发式搜索,而 Budget Forcing 只是在单条路径上设置里程限制。这在训练/实际使用中意味着:对于资源受限的在线服务,Budget Forcing 是性价比极高的基线方案;但对于需要突破准确率天花板的离线任务,PRM 引导的束搜索仍然是不可替代的。
4. Self-Consistency与Majority Voting
4.1 众数投票的统计模型
4.1.1 多项分布与答案空间
4.1.1.1 答案离散化的统计意义
我们已经分析了串行推理的最优停止,现在转向并行采样的统计基础。 Majority Voting 的第一步,是把连续的文本输出映射到离散的答案类别。对于数学题,这个映射是自然的:提取最终数值或表达式,归一化为标准形式。对于开放域问答,这个映射可能需要语义匹配或 embedding 聚类。
假设答案空间被划分为 KKK 个互斥类别 {a1,a2,…,aK}\{a_1, a_2, \dots, a_K\}{a1,a2,…,aK}。模型对题目 qqq 的真实回答分布是一个多项分布:
P(answer=ak∣q)=pk,∑k=1Kpk=1. P(\text{answer} = a_k \mid q) = p_k, \quad \sum_{k=1}^K p_k = 1. P(answer=ak∣q)=pk,k=1∑Kpk=1.
Majority Voting 的操作是:独立采样 NNN 次,得到计数向量 (N1,N2,…,NK)(N_1, N_2, \dots, N_K)(N1,N2,…,NK),其中 NkN_kNk 是答案 aka_kak 出现的次数,然后输出众数 argmaxkNk\arg\max_k N_kargmaxkNk。
如果画成图,这像在一个 KKK 维概率单纯形里掷骰子。真实分布 (p1,…,pK)(p_1, \dots, p_K)(p1,…,pK) 是骰子的重心,NNN 次采样是掷骰子的结果,众数操作是寻找频率最高的面。
4.1.1.2 独立采样假设的合理性边界
Majority Voting 的有效性严重依赖"独立同分布采样"假设。在实际中,这个假设有两个常见漏洞:
- 温度退化:当采样温度 T→0T \to 0T→0 时,模型趋近贪婪解码,NNN 次采样几乎完全相同,失去独立性。此时众数投票毫无意义,因为所有样本都是同一个答案的复制。
- 模式坍塌:即使温度适中,模型的回答分布可能高度集中在一个错误答案上(pwrong≈1p_{\text{wrong}} \approx 1pwrong≈1)。此时增加 NNN 只会以压倒性优势巩固错误,而不是发现正确。
这两个漏洞定义了 Majority Voting 的适用边界:它只在模型"知道正确答案但不确定"的场景下有效(即正确答案的概率 p∗p^*p∗ 是众数但不是绝对主导),而在模型"系统性无知"的场景下无效。
4.1.2 误差衰减规律
4.1.2.1 错误率的指数界
现在我们已经了解了多项分布框架,接下来推导 Majority Voting 的错误率如何随 NNN 变化。设正确答案为 a∗a^*a∗,其概率为 p∗p^*p∗。假设 p∗>pkp^* > p_kp∗>pk 对所有 k≠∗k \neq *k=∗ 成立(即正确答案确实是分布的众数)。
Majority Voting 犯错的概率,是某个错误答案 aka_kak 的计数 NkN_kNk 超过 N∗N^*N∗ 的概率。根据切尔诺夫界(Chernoff bound),对于任意 k≠∗k \neq *k=∗:
P(Nk>N∗)≤exp(−N⋅DKL(p∗∥pk)), P(N_k > N^*) \leq \exp\left(-N \cdot D_{\text{KL}}(p^* \| p_k)\right), P(Nk>N∗)≤exp(−N⋅DKL(p∗∥pk)),
其中 DKL(p∗∥pk)D_{\text{KL}}(p^* \| p_k)DKL(p∗∥pk) 是正确答案分布与错误答案分布之间的 KL 散度。通过联合界(union bound),总错误率满足:
P(error)≤∑k≠∗exp(−N⋅DKL(p∗∥pk))≤(K−1)exp(−N⋅Dmin), P(\text{error}) \leq \sum_{k \neq *} \exp\left(-N \cdot D_{\text{KL}}(p^* \| p_k)\right) \leq (K-1) \exp\left(-N \cdot D_{\min}\right), P(error)≤k=∗∑exp(−N⋅DKL(p∗∥pk))≤(K−1)exp(−N⋅Dmin),
其中 Dmin=mink≠∗DKL(p∗∥pk)D_{\min} = \min_{k \neq *} D_{\text{KL}}(p^* \| p_k)Dmin=mink=∗DKL(p∗∥pk)。这是一个指数衰减界:错误率随采样数 NNN 指数下降,衰减速度由模型对正确答案与最像正确答案的错误答案之间的区分度决定。
4.1.2.2 采样温度的熵调控
温度 TTT 在 Majority Voting 中扮演什么角色?它控制模型分布的熵。低温(T→0T \to 0T→0)使分布尖锐,高温(T→∞T \to \inftyT→∞)使分布平坦。对于投票而言,我们需要一个"刚刚好"的熵:
- 熵太低(TTT 太小):样本缺乏多样性,联合界中的 (K−1)(K-1)(K−1) 项虽然少,但 DminD_{\min}Dmin 也小,因为模型几乎不探索其他答案。
- 熵太高(TTT 太大):DminD_{\min}Dmin 增大,但模型可能引入大量低质量噪声答案,稀释采样预算。
最优温度 T∗T^*T∗ 可以通过最大化有效区分度来估计:
T∗=argmaxTmink≠∗DKL(p∗(T)∥pk(T)). T^* = \arg\max_T \min_{k \neq *} D_{\text{KL}}(p^*(T) \| p_k(T)). T∗=argTmaxk=∗minDKL(p∗(T)∥pk(T)).
在实际中,T∈[0.5,1.0]T \in [0.5, 1.0]T∈[0.5,1.0] 通常是经验 sweet spot。
4.2 自适应采样与Best-of-N
4.2.1 基于置信度的动态停止
4.2.1.1 多数票的置信区间
固定 NNN 的 Majority Voting 是一种"盲目前进"策略:无论投票结果是否已经一边倒,都必须生成完 NNN 个样本。自适应采样的思想是:当投票结果足够稳定时,提前停止,节省预算。
设已采样 nnn 个回答,其中答案 a∗a^*a∗ 出现了 n∗n^*n∗ 次。我们可以构建 a∗a^*a∗ 真实支持率 p∗p^*p∗ 的置信区间。如果该置信区间的下界已经超过次高答案支持率的上界,就可以高置信地宣布 a∗a^*a∗ 获胜,无需继续采样。
具体地,使用威尔逊分数区间(Wilson score interval),p∗p^*p∗ 的 1−α1-\alpha1−α 置信区间为:
[p^+z22n−zp^(1−p^)n+z24n21+z2n, p^+z22n+zp^(1−p^)n+z24n21+z2n], \left[ \frac{\hat{p} + \frac{z^2}{2n} - z \sqrt{\frac{\hat{p}(1-\hat{p})}{n} + \frac{z^2}{4n^2}}}{1 + \frac{z^2}{n}}, \; \frac{\hat{p} + \frac{z^2}{2n} + z \sqrt{\frac{\hat{p}(1-\hat{p})}{n} + \frac{z^2}{4n^2}}}{1 + \frac{z^2}{n}} \right], 1+nz2p^+2nz2−znp^(1−p^)+4n2z2,1+nz2p^+2nz2+znp^(1−p^)+4n2z2,
其中 p^=n∗/n\hat{p} = n^*/np^=n∗/n,z=Φ−1(1−α/2)z = \Phi^{-1}(1-\alpha/2)z=Φ−1(1−α/2)。当该区间的下界高于 0.50.50.5(或高于次高答案的估计比例)时,停止采样。
4.2.1.2 序贯概率比检验的应用
更精细的工具是序贯概率比检验(SPRT)。我们把它改造为一个在线停止规则。设零假设 H0H_0H0:当前多数票答案是错误的;备择假设 H1H_1H1:当前多数票答案是正确的。定义似然比:
Λn=P(n∗∣H1)P(n∗∣H0)=(p1)n∗(1−p1)n−n∗(p0)n∗(1−p0)n−n∗, \Lambda_n = \frac{P(n^* \mid H_1)}{P(n^* \mid H_0)} = \frac{(p_1)^{n^*} (1-p_1)^{n-n^*}}{(p_0)^{n^*} (1-p_0)^{n-n^*}}, Λn=P(n∗∣H0)P(n∗∣H1)=(p0)n∗(1−p0)n−n∗(p1)n∗(1−p1)n−n∗,
其中 p1>p0p_1 > p_0p1>p0 分别是 H1H_1H1 和 H0H_0H0 下该答案的支持率。SPRT 的停止规则为:
- 若 Λn≥A\Lambda_n \geq AΛn≥A,接受 H1H_1H1,停止并输出当前多数票;
- 若 Λn≤B\Lambda_n \leq BΛn≤B,接受 H0H_0H0,继续采样或切换策略;
- 若 B<Λn<AB < \Lambda_n < AB<Λn<A,继续采样。
阈值 A≈(1−β)/αA \approx (1-\beta)/\alphaA≈(1−β)/α,B≈β/(1−α)B \approx \beta/(1-\alpha)B≈β/(1−α),其中 α,β\alpha, \betaα,β 分别是第一类、第二类错误率。这在训练/实际使用中意味着: Majority Voting 不需要预设固定的 NNN,而是可以包装成一个在线算法,根据实时置信度动态决定"再采一个还是收工"。
4.2.2 与Best-of-N的本质差异
4.2.2.1 离散聚合vs连续排序
现在我们已经了解了 Majority Voting 的统计结构,接下来把它与 Best-of-N 并置,看看两者在数学上的根本分野。
Majority Voting 是一种离散聚合机制:它只关心答案的类别标签,不关心答案内部的连续质量分数。它的操作空间是离散的答案集合,统计工具是计数和众数。
Best-of-N 是一种连续排序机制:它需要一个奖励模型(ORM 或 PRM)为每个完整回答输出一个实数值分数 R(y)R(y)R(y),然后选择分数最高的回答。它的操作空间是实数轴,统计工具是顺序统计量(order statistics)。
这两种机制对模型错误的"免疫力"来源不同:
- Majority Voting 免疫于随机波动:只要正确答案的期望支持率最高,随机采样误差会被大数定律抹平。
- Best-of-N 免疫于绝对质量差异:即使正确答案只出现一次,只要奖励模型能准确识别它,就能把它从噪声中打捞出来。
4.2.2.2 互补使用的统计结构
这两种机制并非互斥,而是互补的。想象答案空间有两层结构:
- 粗粒度层:答案的类别标签(如数值、选项);
- 细粒度层:答案的生成质量(如推理步骤的严谨性)。
Majority Voting 在粗粒度层做去噪,Best-of-N 在细粒度层做精选。一个自然的混合策略是:先用 Majority Voting 从 NNN 个样本中筛选出高频答案子集(如前两名),再用 Best-of-N 在这个子集上运行奖励模型排序。这种"先离散投票、后连续排序"的级联结构,在统计上同时利用了两种机制的优势:投票降低了搜索空间,排序提升了最终精度。
这在训练/实际使用中意味着:部署测试时计算系统时,不要做单选题。并行采样层和奖励模型层可以像乐高积木一样拼接:预算紧张时只用 Majority Voting,预算充裕时叠加 Best-of-N,预算极度充裕时再加入 PRM 束搜索作为第三层过滤。
5. 系统架构与模块设计
5.1 架构图集
5.1.1 知识图谱
5.1.2 总体结构图
5.1.3 预算分配模块设计图
5.1.4 停止控制模块设计图
5.1.5 协同设计图
5.1.6 接口对接图
5.1.7 三层架构总览图
5.2 闭环总结
我们在这一章里走了一条从形式化定义到工程落地的完整路径。第一步,我们把测试时计算的预算分配问题写成了一个带约束的期望效用最大化问题,推导出边际效用全局相等的最优条件。第二步,我们把 Long CoT 建模为部分可观测的随机过程,用贝尔曼方程刻画了最优停止边界,并在几何衰减假设下得到了闭式阈值。第三步,我们分析了 Budget Forcing 的对偶机制——上限强制与下限强制——把它解释为对光滑最优边界的零开销近似。第四步,我们建立了 Majority Voting 的多项分布统计模型,推导出错误率的指数衰减界,并揭示了它与 Best-of-N 在离散聚合与连续排序上的互补结构。
这在训练/实际使用中意味着:测试时计算不是简单的"多采样几次"或"让模型多想一会儿",而是一套需要精确调度的资源分配系统。最优策略的核心在于难度感知——让简单题走快速通道,让难题进入深度搜索,并在每一步用统计规则判断是继续还是收工。部署时,可以把 Budget Forcing 作为基线保障,把 PRM 引导的束搜索作为精度增强,把 Majority Voting 与 Best-of-N 的级联作为并行层的标准配置,最终拼接成一个三层架构的推理引擎。
305



被折叠的 条评论
为什么被折叠?



