第19回 慢思考的黎明——推理缩放定律与测试时计算
一题不解先别答,多想三息路自明。
算力若肯挪今夜,胜过明朝再练兵。
看官一路读到这里,心里已有两把尺:
- 第17回:对齐是“先学人话、再学脾气”
- 第18回:省事派是“把擂台折成选择题”
可导读里还埋着一根主线:
同样一身内力(同一模型),为什么“多想一会儿”就能突然变聪明?
这一回,我们就把这门“慢剑”讲清:
什么叫测试时计算(test-time compute),什么叫推理缩放(reasoning/test-time scaling),以及它为什么像一条新式“扩展定律”。
一、测试时计算:把算力从“练功时”挪到“出招时”
传统的大模型提升路线,像练拳:
- 训练时:堆更多算力、更多数据、更多参数
- 推理时:一口气写完,越快越好
可江湖从 2024 起风向变了:
有人开始公开强调——推理时也能“花算力买能力”。
OpenAI 在 o1 系列的介绍里,把它写得很直白:让模型花更多时间思考,从而更擅长复杂推理与编程任务。1
随后又把“学习推理”与推理过程、评测提升联系起来。2
这就引出一个新概念:
- 测试时计算(TTC / Test-time compute):同一道题,在回答时允许模型多做几步计算
“多做几步”在大模型里具体长啥样?常见有三类:
- 多采样:同一提示词采样多条候选答案(best-of-N)
- 多路径:生成多条推理链(chain-of-thought),再做投票/重排(self-consistency 的精神)
- 多回合:先草稿、再自检、再改写(反思/批改)
你先别急着背名词,只要记住一个直觉:
训练像“提升基本功”,测试时计算像“临场多试几招”。
二、“推理缩放定律”像什么:预算越多,正确率越高(但涨得越来越慢)
把推理当成搜索,你就会自然问一句:
我给它更多“搜索预算”(多采样、多回合、多验证),
能换来多少提升?
这就是推理缩放的味道:
把“推理时算力预算”当作一条可控轴,观察性能如何随预算增长。
这里有两条朴素规律,看上去像高二函数图像:
- 单调性:预算多了,最好别变差(现实里会有噪声,但总体应上升)
- 边际递减:预算翻倍,提升通常不翻倍(越到后面越难挤出增益)
2024 有工作系统研究“测试时算力怎么分配才更划算”,强调:
与其死板地 best-of-N,不如按题目难度自适应分配预算,效率更高。3
2026 前后的讨论也开始把这门学问当成一门“艺术”:不同策略、不同模型、不同难度下,最优做法并不统一,但总体上确实能随预算提升。4
你看,这就像新江湖的扩展定律:
以前扩展定律讲“参数/数据/训练算力”的关系,
现在多了一条轴:推理算力。
三、为什么“多想一会儿”会更对:把错误当作噪声,用“多数”压下去
看官若学过概率,会立刻有个直觉:
- 若模型每次回答有一定概率答对
- 那我让它答很多次,再从中选最好的
- 正确率就会提高
这不是玄学,是“噪声平均化”。
你可以把单次回答当作一次“带噪测量”。
多测几次,再用投票/筛选,相当于把噪声压下去。
但这也说明了上节的“边际递减”:
- 一开始多试几次,收益大
- 后面再加次数,收益就变小
因为你已经把大部分噪声平均掉了。
四、极简可跑代码:用“多试几次 + 投票”模拟推理缩放
下面不用大模型,做一个最小模拟:
假设每次“推理”会得到一个答案,单次答对概率是 。
我们让它独立做 次,用“多数投票”决定最终答案。
观察随着 增大,最终正确率如何提升。
import random
def majority_vote_correct(p, n, trials, seed=0):
rnd = random.Random(seed)
ok = 0
for _ in range(trials):
votes = 0
for _ in range(n):
votes += 1 if rnd.random() < p else 0
if votes > n // 2:
ok += 1
return ok / trials
if __name__ == "__main__":
p = 0.62
trials = 20000
for n in [1, 3, 5, 9, 15, 25, 41]:
acc = majority_vote_correct(p, n, trials)
print(f"p={p:.2f} N={n:>2} majority_acc={acc:.3f}")
你会看到一个非常“像人”的现象:
- 单次准确率不高,但多投几次票,准确率明显涨
- 再继续增加票数,仍会涨,但涨得越来越慢
这就是“推理缩放”的最朴素影子:
用更多推理预算,把一次回答的偶然性压下去。
当然,大模型更精巧:它不是抛硬币,而是“生成不同推理链 + 用验证器/规则/自检挑更靠谱的那条”。
第20回我们就要讲:当你真的把推理当成搜索(甚至用 MCTS 一类老武功),提升会更像“系统能力”,而不只是“投票运气”。
五、预算怎么花才值:从 best-of-N 到“自适应分配”
既然预算能换能力,那下一问必然是:
预算应该怎么花?
最粗的办法是 best-of-N:
- 生成 N 个候选
- 用某个评分(自检、规则、验证器、奖励模型)选最高分
但它有个浪费:简单题也花 N 次,难题也只花 N 次。
所以 2024 的研究提出“计算最优”的分配策略:
按题的难度动态决定花多少预算,能比固定 best-of-N 更省算力、更高效。3
你可以把它类比成考试策略:
- 选择题别纠缠太久,迅速过
- 压轴题才值得多试几条路、多验几次
这就是“测试时计算”的工程哲学:
不是无脑烧钱,而是把钱花在刀刃上。
六、训练与推理的分工:为什么 2024 的一些工作能“用训练换推理效率”
测试时算力能换能力,但也有代价:
- 更慢
- 更贵
- 还可能让系统更复杂(要采样、要验证、要重排)
于是又出现另一条折中路:
在训练阶段把“会想”这件事练出来,让推理时少花预算也能好。
例如 2024 有工作研究用强化学习在(甚至包含错误的)合成数据上训练数学推理,讨论其效率扩展行为。5
另有 2024 的 Quiet‑STaR 探索让模型“先在心里想一想再说”,把“停顿思考”变成一种可训练的机制。6
这两类工作与测试时计算并不对立,反而是同一主线的两端:
- 训练端:把“会想”固化成习惯
- 推理端:给“多想”更多预算
2026 的江湖里,强的系统往往两边都做:
既在训练里把推理流程教熟,又在推理时给它足够预算做自检与搜索。
七、小结:慢思考不是文风,是算力分配的新范式
本回你要记住四句话:
- 测试时计算:把算力从训练挪到回答时,让同一模型更强
- 推理缩放:性能随推理预算上升,但常见边际递减
- 关键机制:多路径生成 + 投票/验证/重排,把噪声压下去
- 未来趋势:训练端练“会想”,推理端给“多想”,两手都要硬
下一回(第20回)我们就把“推理=搜索”讲成真刀真枪:
MCTS、过程奖励、验证器与“顿悟时刻”如何把多步推理练成一门可复现的身法。
欲知后事如何,且听下回分解。
幻觉核查
- OpenAI o1 与“推理时多想”的表述核对:OpenAI 官方页面可核验发布时间与核心描述。1
- “学习推理”的公开说明核对:OpenAI Research 页面可核验其与评测提升、推理过程的关联描述。2
- 测试时计算最优分配核对:arXiv:2408.03314 可核验论文标题与“compute-optimal scaling”主张。3
- Quiet‑STaR 核对:arXiv:2403.09629 可核验“think before speaking”的目标与方法概述。6
- 合成数据 + RL 推理效率核对:arXiv:2406.14532 可核验论文标题与“eight-fold efficiency”表述。5
- 本回“推理缩放定律”用的是科普表述:强调随预算提升与边际递减的经验规律,不等同于某一篇论文里的严格幂律拟合公式。
逻辑审计
- 与导读主线一致:导读提出“测试时计算/慢思考/把推理当成搜索”,本回把它们变成可操作的预算与策略。
- 与第11–16回一致:本回把“探索预算”类比成搜索与采样,与老虎机/策略优化的思想相通。
- 为第20回铺路:本回只讲“多试几次”的基本盘,下回进入“怎么系统地试”,即搜索式解码与过程奖励。
- 难度控制:用多数投票与边际递减解释缩放直觉,不引入信息论或复杂统计学习理论推导。
引用与溯源
Footnotes
-
OpenAI. Introducing OpenAI o1 (o1-preview / o1-mini)(2024-09-12)https://openai.com/index/introducing-openai-o1-preview/ ↩ ↩2
-
OpenAI. Learning to reason with LLMs https://openai.com/index/learning-to-reason-with-llms/ ↩ ↩2
-
Snell, C., et al. Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters arXiv:2408.03314 (2024-08) https://arxiv.org/abs/2408.03314 ↩ ↩2 ↩3
-
The Art of Scaling Test-Time Compute for Large Language Models arXiv:2512.02008 (2025-12) https://arxiv.org/abs/2512.02008 ↩
-
Setlur, A., et al. RL on Incorrect Synthetic Data Scales the Efficiency of LLM Math Reasoning by Eight-Fold arXiv:2406.14532 (2024-06) https://arxiv.org/abs/2406.14532 ↩ ↩2
-
Zelikman, E., et al. Quiet-STaR: Language Models Can Teach Themselves to Think Before Speaking arXiv:2403.09629 (2024-03) https://arxiv.org/abs/2403.09629 ↩ ↩2