要解决的问题
OpenAI 的 o1 展示了一件事:如果允许语言模型在给出答案之前「想」得更久,它的推理表现会好很多。但 o1 的方法论并没有公开 [1]。这篇论文的作者——Niklas Muennighoff、Zitong Yang、Weijia Shi、Xiang Lisa Li、李飞飞(Li Fei-Fei)、Hannaneh Hajishirzi、Luke Zettlemoyer、Percy Liang、Emmanuel Candes 和 Tatsunori Hashimoto——想找出一条最简单的路子,同时拿到两样东西:测试时扩展(test-time scaling),也就是在生成答案的阶段投入更多算力、答案就更好;以及足够强的推理能力 [1]。论文于 2025 年 1 月 31 日提交到 arXiv,编号 2501.19393 [1]。
怎么做的
配方只有两部分:一个小而讲究的数据集,以及一个控制思考时长的手段。
数据集叫 s1K,包含 1000 道题目,每道题都配有一条推理轨迹,也就是通向答案的分步过程 [1]。这些题不是随手收集的,而是按三条标准筛选:难度、多样性和质量;作者还用消融实验逐条验证了每条标准确实在起作用 [1]。所谓消融实验,就是把某个因素拿掉再跑一遍,看成绩是否掉下来,因此这三条标准是靠测量而非直觉站住的。
第二部分是预算强制(budget forcing),一种在推理阶段控制算力、不需要额外训练的方法 [1]。它在生成过程中从两个方向动手:如果模型想得太短、准备草草收尾给出答案,研究者就强行把「Wait」这个词接上去,促使它继续想下去、回头核对答案;如果思考已经足够长,就直接把思考截断,让它进入作答 [1]。这样一来,模型内部推理的长度就变成了一个在推理时可以调大调小的旋钮。
由此得到的模型 s1-32B,做法很直接:以 Qwen2.5-32B-Instruct 为基础,在 s1K 上做监督微调,再配合预算强制运行 [1]。监督微调就是用「题目+现成解法」的成对样本训练模型,让它学会自己写出类似的推理过程。
结果
在竞赛数学上,s1-32B 在 MATH 和 AIME24 两个基准上最多领先 o1-preview 27% [1]。这两个基准考的是奥赛风格的题目,模型必须通过多步推理得出最终答案,而不是回忆某个事实。
预算强制在推理阶段的扩展效果也符合预期。用在 s1-32B 上,它把 AIME24 的成绩从 50% 提升到 57%,高于模型在不做任何测试时干预时的表现 [1]。换句话说,同一套权重,在方法允许它多想一会儿的时候,给出的答案更好。
效率数字同样醒目。监督微调只用 16 块 NVIDIA H100 GPU 跑了 26 分钟,用的框架是 PyTorch FSDP,它负责把一个训练任务分摊到多块 GPU 上 [1]。论文把这一开销与「在 59K 条样本上微调需要 394 个 H100 GPU 小时」作对比,而 s1-32B 只用了 7 个 [1]。差距来自两头:数据量小得多,训练时间也短得多。
为什么重要
模型、数据和代码全部开源 [1]。这一点很关键:o1 展示出的能力在当时并没有伴随公开的方法,而 s1 提供了一份完整、可复现的配方,别人可以逐项查看并直接使用 [1]。
更普遍的启示在于收益从哪里来。论文没有依靠大规模语料,也没有依靠复杂的强化学习流程,而是把 1000 道精选题目和一个文本层面的「控制思考多久」的技巧配在一起。这两半都便宜,而且都描述得足够细,可以被照做。因此这项工作更像一个基线:一套最低限度的配置,已经能在竞赛数学上达到与规模大得多的闭源系统相当的水平,后来的更复杂方案都可以拿它当对照。
注释与来源
- s1: Simple test-time scalinghttps://arxiv.org/abs/2501.19393
引用本页: 《s1:最简单的测试时扩展》. TellWorld, https://www.tellworld.net/zh/papers/s1-simple-test-time-scaling-2025. 更新于 2026-11-07