本站内容由 AI 生成,可能存在错误。如发现问题,欢迎到 GitHub Issues 反馈。

Test-Time Scaling 与思维强化

Test-Time Scaling 与思维强化

更新于 2026-04-05

Train-Time vs Test-Time Scaling

传统的 scaling law 关注 train-time scaling:增大模型参数量、增加训练数据和计算量,性能稳步提升。但这条曲线正在趋缓——从 100B 到 1T 参数的收益越来越小。

Test-Time Scaling 提出了一个不同的思路:固定模型大小,在推理时投入更多计算来提升输出质量

Train-Time vs Test-Time Scaling两种不同的"投入更多计算"策略Train-Time Scaling模型参数量 / 训练数据量趋缓 ↗Test-Time Scaling推理时计算量(采样次数 / 搜索深度)持续提升 ↑性能Train-Time增大模型/数据 → 性能提升但趋缓成本:训练一次,推理无额外开销Test-Time固定模型,推理投入更多计算成本:每次推理都额外消耗计算

Snell et al. (2024) 的关键发现:在某些任务上,增加推理时计算比增大模型更 cost-effective。一个 14B 模型配合足够的 test-time compute,可以超过 70B 模型的直接输出。

Chain-of-Thought 的 RL 视角

Chain-of-Thought (CoT) 不仅仅是一个 prompting 技巧。从 RL 的角度看:

  • 每一步推理 = 一个 action
  • 思维链 = 一条 trajectory
  • 最终答案的正确性 = reward

这意味着我们可以用 RL 来优化模型如何思考——不只是优化最终答案,而是优化整个推理过程。这就是 DeepSeek-R1 的核心思路。

Best-of-N 与 Rejection Sampling

最简单的 test-time scaling 方法:生成 N 个回答,用 verifier 选最好的。

Best-of-N Sampling生成 N 个回答 → 用 Verifier 选最好的N = 81248163264正确率 vs N140%264%487%898%16100%32100%64100%计算成本 (相对)11x22x44x88x1616x3232x6464xN=8: 正确率 98.3% | 成本 8x性价比较好,准确率显著提升而成本可控

Best-of-N 的优势是简单直接,但计算成本与 N 线性增长。对于简单问题,N=1 就够了;对于困难问题,可能需要 N=64 甚至更多。关键是需要一个好的 verifier 来选择最佳答案。

MCTS + LLM

更高级的 test-time scaling 方法是将推理过程建模为树搜索。借鉴 AlphaGo/AlphaZero 的思路:

  • 每个节点代表一个推理步骤
  • 用 PRM(Process Reward Model)评估每个节点的”价值”
  • MCTS 策略决定探索哪些推理路径
MCTS + LLM 推理树搜索问题: 12×15=?0.510×15=1500.712×10=1200.612×20=2400.22×15=300.83×15=450.312×5=600.7150+30=180 ✓0.9120+60=180 ✓0.91. Select2. Expand3. Evaluate4. BackpropagateSelect从根节点开始,选择 UCB 值最高的子节点向下走

MCTS 的四步循环:

  1. Select:从根节点出发,用 UCB 公式选择最有潜力的路径
  2. Expand:在叶节点展开新的推理步骤
  3. Evaluate:用 PRM 评估新步骤的质量
  4. Backpropagate:将评估结果回传更新整条路径

这种方法比 Best-of-N 更高效,因为它不是独立采样 N 条路径,而是智能地探索和剪枝

DeepSeek-R1 式 Thinking

DeepSeek-R1 展示了一种更深刻的 test-time scaling:用 RL 训练模型学会”思考”

冷启动数据
Step 1: 少量高质量 CoT 数据冷启动冷启动数据:少量 (prompt, long CoT answer) 对 → 教模型"思考的格式"(用 {'<think>'} 标签包裹推理过程)目的:不是教模型"如何正确推理",而是教模型"输出推理过程的格式"实际的推理能力来自下一步的 RL 训练

关键发现:当给模型一个简单的 reward 信号(答案正确性)并用 GRPO 训练时,模型自发涌现了一系列复杂的推理行为:

R1-Zero 涌现行为展示✓ 有 RL 训练(R1-Zero)?让我分析这道题: 48÷6+2×3分步推理?先做除法: 48÷6 = 8运算优先级?再做乘法: 2×3 = 6分步计算等一下,让我验证: 8和6,最后加起来...自我验证?8 + 6 = 14汇总结果检查: 48÷6=8 ✓, 2×3=6 ✓, 8+6=14 ✓最终验证答案是 14输出答案涌现行为:模型自发学会了分步推理、自我验证、运算优先级 — 没有人显式教过这些行为!推理验证答案

这些涌现行为包括:

  • 分步推理:自动将复杂问题分解为子步骤
  • 自我验证:主动检查自己的计算结果
  • 回溯纠错:发现错误后回退重新推理
  • 策略选择:尝试不同方法解决同一个问题

没有人显式地教模型这些行为——它们完全是从”答案对不对”这个简单信号中涌现出来的。

Compute-Optimal Inference

并非所有问题都需要大量推理计算。“2+2=?” 不需要 MCTS 搜索,但 IMO 竞赛题 值得投入大量搜索。

Compute-Optimal Inference简单问题少想,难问题多想 — 动态分配推理计算问题难度推理计算量直接回答 (1x)CoT (3-5x)Best-of-N (8-24x)MCTS (40-60x)核心思想:根据问题难度动态选择策略 — "2+2=?" 不需要 MCTS,但 AMC 竞赛题值得深度搜索

Compute-Optimal 的核心思想是根据问题难度动态分配推理预算

  • 简单问题:直接回答(1x 计算)
  • 中等问题:CoT 推理(3-5x 计算)
  • 困难问题:Best-of-N + Verifier(8-24x 计算)
  • 极难问题:MCTS 深度搜索(40-60x 计算)

自动判断问题难度并选择合适策略,是 test-time scaling 走向实用的关键。

总结

本文介绍了 test-time scaling 的核心思想和方法:

  1. Test-Time Scaling 是与 train-time scaling 互补的新范式
  2. Best-of-N 是最简单的方法,用 verifier 从多个候选中选最优
  3. MCTS 将推理过程建模为树搜索,智能探索推理路径
  4. DeepSeek-R1 用 GRPO 训练出涌现 thinking 行为,是 test-time scaling 的巅峰体现
  5. Compute-Optimal 策略根据问题难度动态分配推理计算

从 MDP 基础到 test-time scaling,我们走完了 RL 在 LLM 领域的完整链条。RL 不仅让 LLM 学会”做正确的事”(对齐),更让它学会”如何思考”(reasoning)——这或许是通向更强 AI 的关键路径。