DISC: Dynamic Decomposition Improves LLM Inference Scaling¶
会议: NeurIPS 2025
arXiv: 2502.16706
代码: disc-search.github.io
领域: LLM推理
关键词: 推理时计算, 动态分解, 搜索算法, 测试时缩放, 推理效率
一句话总结¶
DISC 提出了一种动态分解算法,在推理时根据每一步的 z-score(采样奖励的标准化最大值)自动、递归地调整推理步骤的粒度——困难步骤分更细、简单步骤一步跨过——可以即插即用地与贪心搜索、Beam Search、MCTS 结合,在 APPS、MATH、LiveCodeBench 上以更少的 token 预算达到更高的 pass@k。
研究背景与动机¶
- 领域现状:推理时计算(test-time compute)已成为提升 LLM 推理能力的主流范式。现有方法通常将问题分解为步骤,然后对每步进行采样和选择(如 Best-of-N、Tree of Thoughts、MCTS)。
- 现有痛点:问题分解的粒度通常是静态预设的——要么按 token(太细,搜索太慢)、要么按换行/句子(太粗,可能跳过关键决策点)、要么整条生成(无法利用中间步骤信息)。这些静态策略无法自适应地分配计算资源:把计算浪费在对 LLM 来说简单的步骤上,而在困难步骤上采样不足。
- 核心矛盾:粗粒度步骤搜索速度快但可能错过最优解;细粒度步骤精确但搜索极慢。人工设计的分解规则缺乏通用性,而且对自回归 LLM 来说关键的决策点(如 "which"、"therefore" 等转折词)往往不是人类直觉能预判的。
- 本文要解决什么? 如何在推理时自动、动态地确定步骤粒度,在不需要人工设计、领域知识或过程奖励模型的情况下高效分配推理计算?
- 切入角度:利用 LLM 自身的采样统计信息——如果从某个前缀继续采样时,奖励分布的 z-score 较低(即有更大的概率采到更好的结果),就说明这个前缀有潜力,应该接受并继续;否则就缩小步骤粒度(收缩到更短的前缀)让搜索更精细。
- 核心idea一句话:用 z-score 比较不同前缀的采样奖励分布,动态决定接受(前进大步)还是拒绝(收缩小步),实现自适应的推理步骤分解。
方法详解¶
整体框架¶
给定问题 \(x\),DISC 维护一个"基础前缀" \(p_b\)(初始为 \(x\)),在每轮迭代中:(1) 从 \(p_b\) 采样多个完整解,计算奖励和 z-score;(2) 取最佳后缀的前 \(\alpha\) 比例作为候选前缀 \(p_c = p_b \cdot \text{split}(s^*, \alpha)\);(3) 从 \(p_c\) 也采样计算 z-score;(4) 如果 \(z_c < z_b\)(候选比基础更有潜力),接受候选作为新的基础前缀并重置 \(\alpha\);否则缩小 \(\alpha \leftarrow \alpha \cdot \alpha_0\)(步骤更细)。反复进行直到预算耗尽或找到正确解。
关键设计¶
- Z-score 驱动的前缀接受/拒绝:
- 做什么:决定是否应该将候选前缀提交为新的基础前缀
- 核心思路:假设奖励分布属于位置-尺度族(如高斯),z-score \(z = \frac{r_{\max} - \mu}{\sigma}\) 越低意味着尾部概率越高(即有更大概率采到更好的结果)。比较 \(z_c\) 和 \(z_b\):\(z_c < z_b\) 则接受候选
-
设计动机:z-score 同时考虑了均值和方差,比只看均值(DISC-Q)更鲁棒。消融实验证实 z-score 效果最佳
-
递归收缩机制:
- 做什么:当候选被拒绝时,缩小步长重试
- 核心思路:每次拒绝时 \(\alpha \leftarrow \alpha \cdot \alpha_0\)(默认 \(\alpha_0 = 0.15\)),使候选前缀越来越短。这实现了一种二分搜索式的递归细化——自动在困难的决策点处停下来更精细地采样
-
设计动机:避免了在困难步骤上盲目前进(过粗),也避免了在简单步骤上过度分割(过细)
-
Negative Binomial 采样策略:
- 做什么:控制每个前缀采样多少次
- 核心思路:持续采样直到累计奖励达到阈值 \(\sigma\):\(M = \min\{m : \sum_{i=1}^m R(y_i) \geq \sigma\}\)。这样在容易的前缀(很快就能采到正确解)上少花样本,在困难的前缀上多花样本
- 设计动机:自适应地平衡样本数量和质量,比固定采样数更高效
损失函数 / 训练策略¶
DISC 是一个纯推理时方法,不涉及任何训练。它只需要一个标量奖励模型(可以是真值验证器、ORM、或自生成的测试用例)来引导搜索,即插即用于现有 LLM。
实验关键数据¶
主实验¶
使用 gpt-4o-mini 作为主要 LLM,默认 \(\alpha_0 = 0.15\),\(\sigma = 1.0\),温度 \(\tau = 0.2\)。
| 基准 | 指标 | DISC | 最强基线 | 相对错误率降低 |
|---|---|---|---|---|
| APPS (竞赛级) | pass@10 error | 0.475 | 0.50 (BoN) | 5.0% |
| MATH500 | pass@10 error | 0.14 | 0.15 (LineSplit) | 6.7% |
| LiveCodeBench | pass@10 error | 0.51 | 0.57 (BoN) | 10.5% |
在 DeepSeek-R1 推理模型上:pass@10 相对基础模型提升 85%,即使在与单次采样相同的 token 预算下仍提升 33%。
消融实验¶
| 配置 | APPS pass@10 | 说明 |
|---|---|---|
| DISC-Z (z-score) | 最佳 | 标准化奖励最大值 |
| DISC-Q (均值比较) | 次佳 | 不考虑方差 |
| DISC-R (随机接受) | 中等 | 无信息引导 |
| DISC-negZ (逆 z-score) | 最差 | 选择最差前缀 |
| \(\alpha_0 = 0.15\) | 最佳范围 | 保守步长 |
| \(\alpha_0 = 0.50\) | 较差 | 步长过大 |
关键发现¶
- DISC 偏好低温度:与 BoN 最优温度在 0.6-0.8 不同,DISC 在 \(\tau = 0.2\) 时效果最佳。原因是低温度降低采样方差,使 z-score 估计更准确
- DISC 通常只需 1-5 个实际提交的步骤就能找到好解,而 LineSplit/TokenSplit 需要更多步骤——DISC 更高效地识别关键前缀
- 分解越深(提交步骤越多),平均奖励线性增长、奖励方差线性降低
- 计算开销可忽略:>90% 运行时间仍是 LLM token 生成,DISC 的辅助计算占比与 BoN 相当
- 在 LLaMA、Mistral、Qwen 等开源模型上同样有效:LLaMA pass@10 从 0.01 提升到 0.04(300% 相对提升)
亮点与洞察¶
- "转折词"是 LLM 的关键决策点:DISC 经常在 "which"、"therefore" 等对人类看似无关紧要的 token 处分配大量计算。这揭示了自回归模型中关键决策点与人类直觉不同,自动发现这些点比人工设计规则更有效
- 递归收缩的二分搜索思想非常优雅:被拒绝就缩小步长,直到找到合适的粒度。这种简单机制在理论上保证了最终收敛到最优解
- 低温度最优这一反直觉发现很有价值:揭示了分解搜索方法与采样搜索方法在最优温度上的本质差异——前者需要准确估计,后者需要多样性
局限性 / 可改进方向¶
- 依赖标量奖励模型:对于没有明确验证器的开放式任务(如创意写作),需要额外构建奖励信号
- 贪心搜索变体中接受的前缀不可撤回,错误的早期决策无法修正(MCTS 变体可部分缓解)
- 目前仅支持单轮生成,不支持多轮交互式推理
- 对于简单或非组合结构的任务,分解带来的增益有限
相关工作与启发¶
- vs Best-of-N (BoN): BoN 将整条生成视为一个步骤,每次采样的成功概率恒定。DISC 通过提交前缀使成功概率单调递增(Lemma 1),理论上收敛更快
- vs s1 (Simple Test-Time Scaling): s1 也关注测试时计算但侧重于控制思考预算长度,DISC 关注步骤粒度的动态调整,两者互补
- vs Tree of Thoughts / MCTS: ToT/MCTS 也做步骤分解+搜索,但步骤粒度通常是固定的(按换行或人工设计)。DISC 的核心贡献在于自动化粒度选择,可以作为这些方法的即插即用模块
评分¶
- 新颖性: ⭐⭐⭐⭐ 动态粒度分解的思路新颖,z-score 驱动的接受/拒绝机制设计精巧
- 实验充分度: ⭐⭐⭐⭐⭐ 3 个基准 × 多模型 × 多搜索方法 + 丰富消融 + 理论分析 + 计算开销分析
- 写作质量: ⭐⭐⭐⭐⭐ 图示清晰,直觉解释到位,理论和实验完美互补
- 价值: ⭐⭐⭐⭐⭐ 即插即用的通用推理时方法,无需训练,可以直接提升现有 LLM 的推理效果