s1: Simple Test-Time Scaling论文阅读
摘要
本文解析 s1 如何以 1,000 条筛选后的推理样本微调 Qwen2.5-32B-Instruct,并通过预算强制在推理阶段控制思考长度。重点讨论数据筛选、Budget Forcing、实验结论及其适用边界。
s1: Simple Test-Time Scaling论文阅读
写在前面
推理模型的能力增长并不只来自训练阶段的更大模型和更多数据。对同一个已经训练好的模型,允许它在回答前投入更多推理 token,也可能提高答案质量。这类方法通常被称为 Test-Time Scaling,测试时扩展。
s1 的价值不在于提出复杂的新训练框架,而在于给出一个足够直接的验证:以 1,000 条经过筛选的推理数据完成 Supervised Fine-Tuning,监督微调,再在解码阶段控制模型停止思考的时机,就能让开源模型在多个高难推理基准上获得显著提升,并呈现出随推理预算增长而改善的趋势。
这篇文章围绕四个问题展开:为什么小数据集也能有效;s1K 是怎样构造的;Budget Forcing,预算强制 如何让模型继续思考;这种增益在性能、可控性和成本上是否成立。
速读卡片
项目 | 信息 |
|---|---|
论文 | s1: Simple Test-Time Scaling |
作者 | Niklas Muennighoff, Zitong Yang, Weijia Shi, Xiang Lisa Li, Li Fei-Fei, Hannaneh Hajishirzi, Luke Zettlemoyer, Percy Liang, Emmanuel Candès, Tatsunori Hashimoto |
最终发表 | EMNLP 2025,页 20275-20321 |
本地版本 | arXiv:2501.19393v3,2025-03-01 |
基座模型 | Qwen2.5-32B-Instruct |
训练数据 |
|
核心方法 | 高质量数据筛选 + 监督微调 + 预算强制 |
评测 | AIME24、MATH500、GPQA Diamond |
代码与数据 | |
论文入口 |
最终发表版本为 EMNLP 2025。本文以本地 v3 文本和最终公开版本信息为准。官方仓库后续发布的 s1.1 使用了不同的推理轨迹数据,不应与本文的 s1-32B 实验直接混为一谈。
一句话概括
s1 证明了一个朴素但重要的工程结论:在推理任务中,数据质量、难度和覆盖范围的联合筛选,可以比盲目扩大监督数据更有效;模型在将要过早结束时被要求继续检查推理,也能把额外推理预算转化为更好的答案。
全文主线
论文的方法可压缩为一条链路。先从大规模候选题中筛出少量但困难、多样且质量可靠的样本;用这些带有长推理过程的数据微调基础模型;在推理时根据预算阻止模型过早结束,并在必要时追加 Wait 触发复核;最后同时衡量正确率、预算可控性和扩展曲线。

这张图也界定了两类投入。s1K 和监督微调属于训练阶段投入,决定模型是否学会稳定的长链推理格式;预算强制发生在推理阶段,不更新参数,只改变模型何时结束思考。两者缺一不可:没有合适的推理模型,强行延长输出容易变成重复;没有推理阶段控制,模型又会在尚未检查答案时过早停止。
研究问题:如何用最简单的方式实现测试时扩展
传统语言模型通常在生成到结束标记时立即作答。推理模型则把一部分输出分配给中间推理,因此可以通过两条路径增加测试时计算量。
一类是并行扩展:独立生成多份答案,再通过多数投票或奖励模型选择结果。它实现简单,但每个候选之间不能共享中间结论。另一类是串行扩展:让同一条推理轨迹继续向前,后续 token 可以检查、修正或细化前文。s1 关注后者。
论文的难点不只是让输出变长,而是回答三个可验证的问题。
问题 | 论文的回答 |
|---|---|
长推理从哪里来 | 以 |
如何控制推理预算 | 以结束思考标记控制上限;以抑制结束标记和追加 |
如何判断方法有效 | 除准确率外,同时评估 |
这种表述比只报告单个 benchmark 分数更严格。一个模型即使偶尔能通过长输出得到好结果,如果无法稳定地落在指定预算内,或随着预算增加反而退化,就不构成可用的测试时扩展方法。
核心贡献
第一,论文提出并公开 s1K。它不是随机抽取的 1,000 条指令,而是围绕质量、难度和多样性联合筛选的推理训练集。作者以此强调,推理微调的数据选择本身就是主要变量。
第二,论文提出预算强制。该方法不依赖额外搜索树、过程奖励模型或强化学习;它直接操作模型的思考结束位置,使推理长度在给定区间内可控,并让模型在早停时获得一次继续检查的机会。
第三,论文为测试时扩展提出三项指标。Control 衡量预算是否被准确执行,Scaling 衡量准确率随推理预算增长的平均斜率,Performance 则记录预算范围内的最高性能。三个指标共同避免了只看最高分而忽略成本和稳定性的判断。
方法一:用 s1K 把训练样本变成有效的推理预算
从 59,029 条候选题到 1,000 条样本
作者先汇总了 16 个来源的 59,029 道候选问题,并为每个问题收集推理轨迹和参考答案。筛选过程不是单一打分,而是连续执行三个约束。
筛选维度 | 实际操作 | 要解决的问题 |
|---|---|---|
质量 | 清理 API 异常和格式异常数据,并保留质量较高的来源样本 | 避免模型学习错误格式、无效轨迹或低可信答案 |
难度 | 移除可被 Qwen2.5-7B-Instruct 或 Qwen2.5-32B-Instruct 正确解出的题目;同时用推理轨迹长度作为难度信号 | 避免有限预算被简单题占据 |
多样性 | 依据数学主题分类体系,并扩展到科学等领域,按领域均衡采样 | 避免数据集中在少数题型,导致能力窄化 |
清洗后,候选集从 59,029 条降至 51,581 条;经难度过滤后为 24,496 条。最终的 s1K 覆盖约 50 个领域,其中一部分来自作者认为无需进一步过滤的高质量来源,其余样本采用按领域均衡、偏向更长推理轨迹的方式选取。

左图说明 s1K 并非单一竞赛数学数据集,而是包含多个数学分支及部分科学问题。右图传达的是样本效率,而不是模型规模比较:s1-32B 只使用 1,000 个微调样本,就在 MATH500 上达到 93.0%。这种结果支持了论文的核心判断,但不等于 1,000 条数据在任何模型、任何任务上都足够。
一个容易被忽略的细节是,s1K 并不要求所有轨迹和最终答案完全正确。论文报告其自动评分下约 53.6% 的样本被判为正确。作者的立场是,训练目标首先是获得有价值的推理过程,而不是构造零噪声答案集。这种选择具有风险:若任务可自动验证,工程上仍应优先保留正确、可复核的轨迹;若无法验证,则需要把轨迹质量和答案正确性分开抽检。
为什么不是直接使用全部 59K 数据
全量数据当然能训练出较强模型,但不一定是这项任务的高效选择。论文的消融实验显示,只满足质量、只满足多样性或只偏向最长轨迹,都弱于三项约束共同满足的 s1K。将训练数据从 1K 扩大到 59K 后,三项基准的差异置信区间跨过零,不能证明其相对 s1K 存在稳定优势;但训练成本从约 7 H100 GPU 小时增加到约 394 H100 GPU 小时。

表中的结论应按统计意义解读。1K-random 和 1K-diverse 在 AIME24 上明显更差,说明质量或多样性单独成立都不够;59K-full 的点估计在 AIME24 上略高于 s1K,但区间包含正负值,因而不能据此宣称全量数据稳定优于筛选数据。这里真正成立的结论是:在该基座模型和这些评测上,经过三维筛选的 1K 数据具有很高的性价比。
监督微调本身并不复杂
训练部分采用 Supervised Fine-Tuning,监督微调。基座是 Qwen2.5-32B-Instruct,损失只计算在推理轨迹和最终答案上,而不计算问题文本。作者使用完整长序列训练,避免大量样本被截断;在 16 张 H100 上训练约 26 分钟。
下面的伪代码只表达训练对象,不对应仓库中的完整实现。
论文附录还显示,推理训练不能随意压缩上下文。以 AIME24 为例,4,096 token 的训练序列会截断约 74% 的训练样本;相对于 32,768 token 序列,模型表现更低且平均思考更长。这说明截断不仅损失信息,还可能破坏模型对完整推理和答案收束方式的学习。
方法二:Budget Forcing 不是提示词,而是解码控制
Budget Forcing 的目标是把推理 token 预算显式变成控制变量。它利用模型推理格式中的结束思考标记,分别处理上限和下限。
当模型达到最大思考预算时,系统追加结束思考标记,并可追加答案前缀,要求模型停止推理、输出当前最优答案。这样可以避免一次请求无限扩张。
当模型在达到最小预算前准备结束思考时,系统抑制该结束标记,在当前推理后追加 Wait,再让模型继续生成。Wait 并不是提供新知识,而是把模型从过早收束的状态拉回推理轨迹,使其有机会复核前文。

图中的单词计数例子很小,但机制很清楚。模型初始答案为 2,追加 Wait 后重新读取问题并得到 3。这里不应把它理解为通用的自我纠错保证:追加文本只是在当前上下文上继续采样,能否纠错取决于模型是否已经具备有效的推理轨迹和复核能力。
可以把下限控制写成如下逻辑。
这段逻辑的重点是控制停止条件,而不是多轮对话。它要求推理模型具有明确的思考边界,并允许调用端截获或忽略该边界。因此它更适合本地部署、可控制解码过程的开源模型;对只暴露最终答案或隐藏推理 token 的闭源接口通常不可直接复现。
如何评价测试时扩展
论文不把更长输出直接当作更强能力,而是定义三项指标。
指标 | 含义 | 工程解释 |
|---|---|---|
| 落在指定 token 区间内的运行比例 | 预算是否可预测,是否方便做延迟和成本控制 |
| 准确率相对测试时计算量的平均斜率 | 多投入计算是否真的带来收益,正值才有意义 |
| 给定预算集合中的最高准确率 | 该方案可以达到的峰值能力 |
这三个指标存在取舍。多数投票可以增加总计算量,却不保证单次响应的 token 预算;拒绝采样能严格挑选短输出,却可能把较长、真正完成推理的样本排除。对面向用户的系统而言,Control 往往和准确率同样重要,因为它决定了服务能否在固定延迟和成本下运行。
实验结果:小数据微调与预算强制分别带来了什么
主结果
作者在 AIME24、MATH500 和 GPQA Diamond 上评估模型。AIME24 是 30 道竞赛数学题,MATH500 是 500 道数学问题,GPQA Diamond 是 198 道博士水平科学题。除特别说明外,评估采用贪心解码。

与 Qwen2.5-32B-Instruct 基座相比,s1-32B 的 AIME24 从 26.7% 提升到 56.7%,MATH500 从 84.0% 提升到 93.0%,GPQA Diamond 从 49.0% 提升到 59.6%。移除预算强制后,AIME24 下降到 50.0%,说明监督微调提供了主要能力基础,预算强制还带来了额外收益。
论文将 s1-32B 与当时公开报告的 o1-preview 进行了横向比较。AIME24 上前者高 12.1 个百分点,约为相对 27% 的提升;但 GPQA Diamond 仍低于 o1-preview。因此更准确的表述是:该方法在部分数学推理指标上达到了很强的样本效率,并非在所有推理领域全面超过更大或闭源模型。
推理预算增加后,性能是否真的持续增长

图中横轴是平均思考 token,纵轴是准确率。三个任务的曲线均显示,在论文考察的预算范围内,更多思考通常带来更高正确率。摘要给出的 AIME24 示例是从约 50% 增至约 57%。
但图 1 只说明趋势,不能说明增长机制。图 4 把串行预算强制与并行多数投票放在一起,给出了更关键的对比。

左图中,模型在接近结束时被阻止停止,并依次追加 Wait;AIME24 的准确率随平均思考长度上升。右图中,对基础模型独立采样 2 到 64 次再投票,虽然总 token 大幅增加,GPQA Diamond 的提升却较弱。论文由此认为,具备中间状态复用能力的串行推理在该设置下比并行投票更有效。
这一结论有明确边界。串行轨迹会在多次强制延长后趋于重复,论文观察到约六次延长后性能开始变平;超过上下文窗口时还可能直接退化。并行投票仍适合答案可验证、单次推理差异较大、且可接受更高并发成本的任务。这里比较的是特定模型、特定解码策略和特定任务,不能推广为串行方法必然优于并行方法。
为什么普通长度提示和拒绝采样不够
论文将预算强制与三类条件控制方法、拒绝采样进行比较。结论不在于 Wait 这个词本身,而在于是否真正控制了结束机制。
方法 | 可控性表现 | 扩展性表现 | 主要问题 |
|---|---|---|---|
Token 条件控制 | 较差 | 可能为负 | 仅在提示中声明 token 上限,模型未必遵守 |
Step 条件控制 | 有限 | 较弱 | 模型可能迎合格式,而不增加有效推理 |
类别条件控制 | 有限 | 不稳定 | 以短思考或长思考的粗粒度指令代替精确预算 |
拒绝采样 | 可满足预算 | 可能为负 | 偏好短轨迹,可能丢弃真正完成推理的长轨迹 |
预算强制 | 100% | 正向 | 仍受模型质量、循环和上下文窗口限制 |
论文在 AIME24 的方法消融中报告,预算强制的 Control 为 100%,Scaling 为 15,最高性能为 56.7%;拒绝采样虽有 100% 的预算控制,却出现负扩展性。这对工程实现的启发很直接:限制长度不能只靠生成后筛选,更合理的方式是把预算写进解码状态机。
结果背后的工程含义
s1 最值得复用的不是某个数据集或某个续写词,而是三条设计原则。
第一,先定义能力缺口,再采集数据。s1K 不是追求数据总量,而是刻意排除已被基座模型轻易解决的问题。对已有模型做领域增强时,应先用基座模型跑过候选集,把有限人工或合成数据预算集中到失败样本、边界样本和高价值样本上。
第二,把长度预算与质量预算分开管理。长输出只是一种资源消耗,不是质量指标。服务端应记录推理 token、答案正确率、超时率和循环率;在不同预算档位下画出类似论文的曲线,才能知道增加推理是否值得。
第三,推理阶段控制必须有停止策略。预算强制同时包含最小和最大预算:前者用于避免过早结束,后者用于避免无限生成。真正的系统还应加入循环检测、最大上下文保护、超时处理和可验证任务的答案校验,而不能无限追加续写信号。
局限性与未来工作
论文的结论清晰,但适用范围并不无限。
数据方面,原始推理轨迹来自外部模型生成,且 s1K 存在一定比例的错误答案。公开数据便于复现训练,却无法消除蒸馏来源、自动评分和数据污染检测的局限。论文使用 8-gram 匹配对部分测试集做去重,但这不能覆盖所有语义级泄漏。
模型方面,实验主要围绕 Qwen2.5-32B-Instruct 与三个以数学、科学推理为主的基准展开。是否能迁移到代码、长文档分析、工具调用或多轮 Agent 工作流,需要独立验证。特别是工具调用任务的额外 token 往往应投入检索、执行和验证,而不是单纯延长自然语言推理。
解码方面,Wait 在多次使用后可能让模型重复已有内容,且受上下文窗口限制。作者提出的后续方向包括改变追加文本或频率惩罚、与多数投票结合,以及采用带过程奖励模型的搜索方法。这些方法可能带来更好的扩展曲线,但也会引入额外模型调用和系统复杂度。
我的启发
这篇论文纠正了一个常见误解:推理模型的提升不等于堆叠更复杂的训练技巧。只要把问题拆成数据、模型能力、推理控制和评估四层,许多改进都可以先用小规模实验验证。
对于实际开发,更可执行的路径是先建立一个可验证的困难样本集,分别测量基础模型在不同推理预算下的表现;随后选择少量高价值失败样本进行微调或提示优化;最后再决定是否引入搜索、投票、奖励模型或强化学习。这样能避免一开始就把成本投入到不可解释的大规模数据或复杂 Agent 流程中。
s1 也提醒我们,推理过程不是越长越好。有效扩展的本质是让额外计算用于检查假设、修正分支和收束答案;当模型只是在复述或循环时,更长的思考只会增加延迟和成本。因此,测试时扩展必须与可控的停止机制和任务级验证一起设计。
小结
s1 用一个小而完整的实验闭环说明了测试时扩展可以怎样落地:高质量的 1K 推理数据让基础模型具备更强的推理格式与能力,预算强制把额外推理 token 转化为可控的串行计算,三项评价指标则避免只凭单点准确率得出结论。
它没有解决长推理的所有问题,但为开源推理模型提供了一个成本较低、可复现且容易拆解的基线。后续工作若要超越这一基线,重点不应只是更长的输出,而应是更可靠的数据选择、更有效的过程验证和更稳定的计算分配。
