3 测试时扩展
本文为论文《s1:用简单方法实现测试时计算扩展》「中文全文翻译」板块的对应章节,与「论文原文」板块同一章节一一对应,层级保持一致。

图 3:使用 s1-32B 进行预算强制。模型试图在“……为 2。”之后停止,但我们抑制了思考结束符分隔符,转而追加“Wait”,使 s1-32B 能够自我修正其答案。
3.1 方法
我们将测试时扩展方法分为两类:1)顺序式,后续计算依赖于先前的计算(例如一条长的推理轨迹);2)并行式,计算相互独立运行(例如多数投票) (Snell et al., 2024; Brown et al., 2024)。我们聚焦于顺序式扩展,因为直观上我们认为它应当扩展得更好,因为后续计算可以建立在中间结果之上,从而实现更深层次的推理与迭代式精炼。我们提出了新的顺序式扩展方法以及对其进行基准测试的方式。
预算强制
我们提出了一种简单的译码时干预,即在测试时强制设定思考词元的最大和/或最小数量。具体而言,我们通过简单地追加思考结束符分隔符和“Final Answer:”来强制设定最大词元数,以提前退出思考阶段,使模型给出其当前最佳答案。为了强制设定最小值,我们抑制思考结束符分隔符的生成,并选择性地追加字符串“Wait”到模型当前的推理轨迹中,以鼓励模型反思其当前生成内容。图 3 给出了一个示例,展示这一简单方法如何引导模型得出更好的答案。
基线方法
我们将预算强制与以下方法进行比较:(I)条件式长度控制方法,这类方法依赖于在提示词中告知模型它应生成多长时间。我们按粒度将其分组为:(a)令牌条件控制:我们在提示词中指定思考词元的上限;(b)步骤条件控制:我们指定思考步骤的上限,其中每个步骤约为 100 个词元;(c)类别条件控制:我们编写两条通用提示词,告知模型进行短或长时间的思考(详情见 §D.1)。(II)拒绝采样,即持续采样直到生成结果符合预设的计算预算。这一预言式方法捕捉了以长度为条件的回复后验分布。
3.2 评估指标
我们建立了一系列期望属性作为评估指标,用以衡量不同方法在测试时扩展上的表现。重要的是,我们不仅关心某一方法所能达到的准确率,还关心其可控性与测试时扩展的斜率。对于我们考察的每个方法,我们在一固定基准(例如 AIME24)上运行一组评估 $a\in\mathcal{A}$,改变测试时计算量。这产生了一个分段线性函数 $f$,以思考词元衡量的计算量为 x 轴、准确率为 y 轴(见图 1,其中 AIME24 最右侧的点对应于 $f(7320)=57\%$)。我们衡量三个指标:
| | $\displaystyle\text{Control}=\frac{1}{|\mathcal{A}|}\sum_{a\in\mathcal{A}}\mathbb{I}(a_{\text{min}}\leq a\leq a_{\text{max}})$ | | (1) |
其中 $a_{\text{min}},a_{\text{max}}$ 指预设的最小与最大测试时计算量;在我们的情况中即思考词元。我们通常只约束 $a_{\text{max}}$。由于生成的词元对应于所花费的测试时计算量,这一指标衡量了方法对测试时计算使用进行可控的程度。我们以百分比形式报告,100% 表示完美控制。
| | $\displaystyle\text{Scaling}=\frac{1}{\binom{|\mathcal{A}|}{2}}\sum_{\begin{subarray}{c}a,b\in\mathcal{A}\ b>a\end{subarray}}\frac{f(b)-f(a)}{b-a}$ | | (2) |
Scaling 是分段线性函数的平均斜率。对于有用的方法它必须为正,且越大越好。
| | Performance | $\displaystyle=\max_{a\in\mathcal{A}}f(a)$ | | (3) |
Performance 简单地指该方法在基准上所能达到的最高性能。一个具有单调递增扩展趋势的方法在极限情况下能在任何基准上达到 100% 性能。然而,我们所研究的方法最终会趋于平缓,或因控制或上下文窗口限制而导致进一步的扩展失败。

(a) 通过预算强制进行的顺序式扩展

(b) 通过多数投票进行的并行式扩展
图 4:顺序式与并行式测试时扩展。(a):预算强制展现出清晰的扩展趋势,并在一定程度上外推。对于最右侧的三个点,我们分别阻止模型停止其思考 2/4/6 次,每次向其当前推理轨迹追加“Wait”。(b):对于 Qwen2.5-32B-Instruct,我们为每个样本执行 64 次评估,并可视化在 2、4、8、16、32 和 64 次这些生成结果中进行多数投票时的性能。
