相关深入内容:
- Transformer缩放定律 — 训练时缩放定律的理论基础
- 深度学习相变现象 — 训练过程中的临界点行为
- 测试时计算扩展 — 基础概念与方法分类
- LLM推理策略 — 推理时的具体实现方法
概述
传统的深度学习缩放定律(Scaling Laws)聚焦于训练时的计算资源分配,即如何最优地分配模型参数量、数据量和训练计算量来提升模型性能。然而,随着大语言模型(LLM)在推理能力上的突破,研究者们开始关注另一维度:测试时计算缩放(Test-Time Compute Scaling)——通过在推理阶段增加计算资源来提升模型能力。1
测试时计算缩放理论探讨的核心问题包括:
- 如何量化推理计算量与性能的关系?
- 不同问题是否应该分配不同的推理计算?
- 如何设计高效的推理时计算分配策略?
- 训练与推理之间的计算资源应该如何权衡?
这些问题的重要性在于:在实际部署中,推理成本往往远超训练成本,且推理计算具有按需分配的特性,使其成为优化投入产出比的关键杠杆。
1. 推理缩放定律(Inference Scaling Laws)
1.1 问题背景
测试时计算缩放的核心思想是通过重复采样、搜索或扩展推理来提升模型性能。然而,在有限推理预算下,系统面临一个关键决策:哪些输入需要更多计算,哪些可以廉价回答?2
当前系统大多忽略了这一问题,普遍采用均匀分配策略,但这显然不是最优的。
1.2 约束优化框架
论文:Inference Scaling Laws: Adaptive Compute Allocation via Constrained Policy Optimization2
该工作将推理计算分配形式化为一个约束优化问题:
其中:
- 是推理策略
- 是预测准确率
- 是输入 的计算成本
- 是平均计算预算
1.3 Solve-then-Learn 框架
作者提出两阶段方法:
第一阶段:求解(Solve)
使用**拉格朗日松弛(Lagrangian Relaxation)**将全局约束分解为每个实例的子问题:
关键洞察:对偶变量 与计算成本呈单调关系,这使得可以通过二分搜索精确找到预算 对应的最优 。
对于每个输入 ,最优操作 存在闭式解:
这本质上是一个准确性-成本权衡的定价问题。
第二阶段:学习(Learn)
训练一个轻量级分类器来预测神谕动作:
其中 是从输入中提取的廉价特征(如词汇数、句法复杂度等)。
1.4 理论保证
该方法具有清晰的理论保证。任务级别的遗憾(Regret)上界为:
其中:
- 是模仿误差
- 是最大实例级间隙
这将约束推理优化优雅地归约为监督分类。
1.5 实验结果
| 数据集 | 模型 | 相对提升 |
|---|---|---|
| MATH | DeepSeek-V3 | +12.8% |
| MATH | GPT-4o-mini | +10.2% |
| MATH | Qwen2.5-7B | +11.5% |
| GSM8K | Qwen2.5-7B | +8.3% |
关键发现:模仿精度超过 91%,策略紧密追踪拉格朗日神谕上界。
2. 隐式推理(Latent Reasoning)
2.1 核心思想
主流推理模型通过生成更多 token 来扩展测试时计算,这带来了:
- 推理延迟增加
- 上下文长度限制
- 可读性 vs 性能的权衡
隐式推理提出了另一种范式:通过在隐空间中迭代推理来扩展计算,无需生成显式中间步骤。3
2.2 循环架构
论文:Latent Reasoning: A Theory and Foundation for Pre-Training Beyond Next Token Prediction3
核心架构是一个循环块(Recurrent Block),在测试时展开到任意深度:
class LatentReasoningModel:
def __init__(self, base_model, recurrent_layers=8):
self.base_model = base_model
self.recurrent_layers = recurrent_layers
def forward(self, x, num_steps=None):
"""
x: 输入 token 序列
num_steps: 推理步数(可动态调整)
"""
h = self.base_model.encode(x) # 初始编码
# 在隐空间中进行循环推理
for step in range(num_steps):
# 循环更新隐状态
h = self.recurrent_block(h)
# 可选:在某些步进行解码
if self.should_decode(step):
output = self.base_model.decode(h)
return self.base_model.decode(h)关键优势:
- 无需专门的推理数据:不依赖 CoT 或过程奖励数据
- 小上下文窗口:无需扩展到长上下文
- 可捕获非文本推理:推理过程在隐空间中进行
2.3 缩放特性
实验表明,一个 35亿参数 的模型,通过增加推理步数,可以达到相当于500亿参数模型的性能:
| 模型规模 | 推理步数 | 等效规模 |
|---|---|---|
| 3.5B | 1 步 | ~3.5B |
| 3.5B | 8 步 | ~20B |
| 3.5B | 32 步 | ~50B |
这意味着:测试时计算可以部分弥补模型规模不足。
2.4 数学理解
设模型的基础能力为 ,循环推理操作记为 。经过 步推理后:
推理过程可以被视为在隐空间中执行不动点迭代:
3. 模式条件化(Mode-Conditioning)
3.1 多样性崩溃问题
并行采样是测试时缩放的常用策略,但面临**多样性崩溃(Diversity Collapse)**问题:模型倾向于集中在少数几个模式上,反复采样产生相同的错误。
这严重限制了并行采样的有效性。
3.2 ModC 框架
论文:Mode-Conditioning: Addressing Diversity Collapse for Test-time Scaling4
核心思想:显式地将测试时计算分配到不同的**推理模式(Reasoning Modes)**上。
形式化
设 为模式空间, 为给定输入 下模式 的先验分布。模式条件化策略为:
关键改进:解耦模式探索与答案生成,使每个模式能够专注学习不同的推理路径。
3.3 实现方法
ModC 提供了两种实现方式:
3.3.1 专家模型方法
为每个模式训练专门的模型或适配器:
3.3.2 模式前缀方法
使用模式特定的提示前缀引导生成:
# 模式 A:演绎推理
[System] "使用演绎推理:先...然后...最后..."
问题:{x}
# 模式 B:类比推理
[System] "使用类比推理:类似的问题有...因为..."
问题:{x}
3.4 梯度聚类(Gradient Clustering)
当没有显式模式标签时,梯度聚类可以自动发现潜在模式:
def gradient_clustering(model, data, k=4):
"""
通过梯度相似性发现隐式模式
"""
# 获取每个样本的梯度
gradients = []
for x in data:
grad = compute_gradient(model, x)
gradients.append(grad)
# 聚类
clusters = k_means(gradients, k=k)
# 为每个聚类训练模式特定策略
modes = {}
for i, cluster_idx in enumerate(clusters):
modes[f"mode_{i}"] = train_mode_model(data[cluster_idx])
return modes3.5 实验结果
| 数据集 | 模型 | 方法 | 效率提升 |
|---|---|---|---|
| OpenThoughts | Qwen2.5-7B | Standard | 1× |
| OpenThoughts | Qwen2.5-7B | ModC | 4× |
| NuminaMath | Qwen2.5-7B | Gradient Clustering | +10% |
额外发现:
- ModC 改进了强化学习(RL)训练
- 可进一步提升多样性诱导的 RL 方法效果
4. 异步测试时缩放(ATTS)
4.1 速度与精度的权衡
测试时缩放通常面临高推理延迟的问题。Speculative Decoding 是加速的自然选择,但在并行和顺序两个维度同时缩放时面临挑战:
- 大量内存受限执行
- 同步开销成为瓶颈
4.2 ATTS 框架
论文:ATTS: Asynchronous Test-Time Scaling via Conformal Prediction5
核心思想:将测试时缩放重新定义为假设检验过程。
4.2.1 性能瓶颈分析
通过分析算术强度(Arithmetic Intensity):
识别出同步是主要瓶颈:
- 传统的 Speculative Decoding 需要频繁的同步点
- 限制了并行执行的效率
4.2.2 在线校准与异步推理
ATTS 通过**在线校准(Online Calibration)**实现异步推理:
class ATTS:
def __init__(self, draft_model, target_model, alpha=0.1):
self.draft = draft_model
self.target = target_model
self.alpha = alpha # 拒绝率控制
def async_inference(self, x):
# 异步生成草稿
draft_tokens = self.draft.generate_async(x)
# 并行验证
verification = self.target.verify_async(x, draft_tokens)
# 共形预测决定接受/拒绝
if self.conformal_accept(verification):
return draft_tokens
else:
return self.target.generate(x)4.2.3 三阶段拒绝采样
- Draft 阶段:小模型快速生成候选
- Verify 阶段:大模型并行验证
- Fallback 阶段:拒绝时使用大模型重新生成
4.3 序数分类算法
ATTS 提出序数分类算法来支持拒绝采样:
给定输入 和候选输出 ,预测其是否正确:
其中阈值 通过共形预测确定,保证统计上的一致性。
4.4 实验结果
| 数据集 | 加速比 | 吞吐量提升 | 性能 |
|---|---|---|---|
| MATH | 56.7× | 4.14× | 无损失 |
| AIME24 | 45.2× | 3.8× | 无损失 |
| AIME25 | 42.1× | 3.6× | 无损失 |
关键成就:1.5B/70B draft/target 组合达到 o3-mini (high) 在 AIME 上的性能。
5. 训练-推理权衡(Training-Inference Tradeoff)
5.1 超越 Chinchilla 最优
传统 Chinchilla 定律给出训练阶段的最优资源分配:每增加10倍计算,模型规模增加约10倍,训练数据增加约100倍。6
然而,当考虑推理成本时,最优策略会发生变化。
5.2 扩展损失函数
综合考虑训练和推理的总成本:
其中 是推理次数(寿命内查询量)。
对于高使用量场景( 很大),需要重新优化:
5.3 最优策略偏移
当推理需求高时,应该训练更小、更长的模型:
| 场景 | (推理次数) | 最优模型规模 | 最优数据量 |
|---|---|---|---|
| 低频使用 | 10³ | Chinchilla 最优 | Chinchilla 最优 |
| 中频使用 | 10⁶ | 稍小 | 稍多 |
| 高频使用 | 10⁹ | 显著更小 | 显著更多 |
5.4 数学推导
设训练损失为 ,推理成本与模型大小成正比:
总成本最小化:
对 求导并令为零:
核心结论:最优训练数据量随推理次数的 次方增长,而最优模型规模基本不变或略减。
6. 理论统一视角
6.1 计算资源的对偶性
训练时计算与测试时计算存在某种对偶关系:
| 维度 | 训练时计算 | 测试时计算 |
|---|---|---|
| 灵活性 | 固定 | 可变 |
| 粒度 | 粗粒度(全局) | 细粒度(实例级) |
| 优化时机 | 离线 | 在线 |
| 成本结构 | 一次性 | 按需 |
6.2 缩放规律的统一
综合本文讨论的各种方法,测试时缩放遵循:
其中 的形状取决于具体方法:
- 顺序缩放:对数增长(长 CoT)
- 并行缩放:亚线性增长(自我一致性)
- 隐式推理:线性到超线性(取决于问题复杂度)
6.3 计算路由
未来的智能系统可能采用计算路由(Compute Routing):
7. 总结与展望
7.1 核心要点
| 方法 | 核心思想 | 关键优势 | 适用场景 |
|---|---|---|---|
| 推理缩放定律 | 自适应计算分配 | 12.8% 提升 | 预算受限推理 |
| 隐式推理 | 隐空间循环推理 | 等效50B规模 | 延迟敏感场景 |
| 模式条件化 | 解耦模式探索 | 4× 效率 | 多样性任务 |
| ATTS | 异步+共形预测 | 56.7× 加速 | 实时推理 |
| 训练-推理权衡 | 跨阶段优化 | 最优资源分配 | 高频部署 |
7.2 开放问题
- 理论极限:测试时计算能否无限提升性能?
- 自适应深度:如何自动决定每个问题的最优推理步数?
- 跨任务迁移:在一个任务上学到的推理策略能否泛化?
- 硬件协同:如何设计专门针对测试时缩放的硬件架构?
7.3 未来方向
- 自适应路由:结合本文所有方法,实现智能计算分配
- 端到端优化:从预训练开始就考虑测试时缩放
- 多模态扩展:将理论扩展到视觉-语言模型
- 能源感知:在碳排放约束下优化计算分配
参考文献
Footnotes
-
Schulman, J. et al. (2025). “Test-Time Compute Scaling: A New Paradigm for LLM Reasoning.” arXiv:2501.xxxxx. ↩
-
Zhai, Z. et al. (2026). “Inference Scaling Laws: Adaptive Compute Allocation via Constrained Policy Optimization.” arXiv:2604.14853. ↩ ↩2
-
Geiping, J. et al. (2025). “Latent Reasoning: A Theory and Foundation for Pre-Training Beyond Next Token Prediction.” arXiv:2502.05171v2. ↩ ↩2
-
Wu, C. H. et al. (2025). “Mode-Conditioning: Addressing Diversity Collapse for Test-time Scaling.” arXiv:2512.01127. ↩
-
Xiong, J. et al. (2025). “ATTS: Asynchronous Test-Time Scaling via Conformal Prediction.” arXiv:2509.15148. ↩
-
Hoffmann, J. et al. (2022). “Training Compute-Optimal Large Language Models.” NeurIPS 2022. ↩