跳转至

CadLLM: Improving the Throughput of Diffusion-based LLMs via Training-Free Confidence-Aware Calibration

会议: ACL 2026
arXiv: 2512.07173
代码: 有
领域: 模型压缩
关键词: 扩散语言模型, 推理加速, 自适应解码, 置信度校准, 无训练方法

一句话总结

提出 CadLLM,一种免训练的自适应推理加速方法,利用扩散语言模型(dLLM)的 token 解码置信度信号动态调整块大小、步数、词表采样范围和提交阈值四个维度,在 LLaDA 和 DREAM 上实现 1.1-2.28× 的吞吐量提升且保持竞争性准确率。

研究背景与动机

领域现状:掩码扩散语言模型(如 LLaDA、DREAM)通过多步去噪马尔可夫过程迭代精炼嘈杂状态来生成文本,展示了强大的生成能力。fast-dLLM 提出基于静态置信度阈值的并行解码加速。

现有痛点:fast-dLLM 使用固定的块大小、固定步数和固定采样宽度,忽略了置信度在序列和步骤间的动态变化。具体来说:(1) 固定块大小无视不同区域的难度差异;(2) 统一采样宽度忽略了确定性差异;(3) 固定提交阈值不适应不同推理阶段的置信度变化。

核心矛盾:静态调度策略对容易的块过度精炼(浪费计算),对困难的块精炼不足(损害质量)——需要根据置信度信号自适应分配计算资源。

本文目标:设计一种免训练、模型无关的即插即用方法,利用置信度信号自适应控制 dLLM 推理的多个资源维度。

切入角度:作者通过分析不同块和步骤间的置信度动态发现置信度变化显著——块内置信度快速上升后趋于平稳,不同块间难度差异大。

核心 idea:用 token 解码置信度作为单一共享信号,驱动四个闭环控制策略(块大小、步数、词表大小、阈值),在不确定性持续处分配计算资源,在预测稳定处节省资源。

方法详解

整体框架

CadLLM 在 dLLM 的每次前向传播后,利用 token 置信度作为反馈信号,通过四个线性插值策略动态更新块大小 \(B_t\)、步数 \(S_t\)、词表大小 \(V_t\) 和阈值 \(\tau_t\),形成闭环控制器。即插即用,兼容 KV 缓存的 dLLM。

关键设计

  1. 自适应块大小 (\(B_t\)):

    • 功能:根据置信度动态调整并行解码的 token 数量
    • 核心思路:\(B_t = \text{clip}(B_{\min} + (B_{\max} - B_{\min}) \cdot \bar{c}, B_{\min}, B_{\max})\),其中 \(\bar{c}\) 为滑动窗口(\(\Delta=2\))内的平均置信度。高置信度时扩大块以摊销前向传播成本,低置信度时缩小块集中精炼。
    • 设计动机:Figure 1(a) 显示不同块的难度差异巨大,固定块大小导致资源分配不均
  2. 自适应步数 (\(S_t\)) + 自适应阈值 (\(\tau_t\)):

    • 功能:步数控制每块内的精炼深度,阈值控制 token 提交的激进程度
    • 核心思路:步数与置信度互补 \(S_t = \text{clip}(S_{\text{base}} + (S_{\max} - S_{\text{base}})(1 - \bar{c}), S_{\text{base}}, S_{\max})\);阈值随生成进度松弛 \(\tau_t = \tau_{\text{base}}(1-g_t) + \tau_{\min} g_t\)。低置信度触发更多步精炼和更严格的提交门槛。
    • 设计动机:消融实验显示自适应阈值是效率提升的最关键组件(去掉后吞吐量下降 71.6%)
  3. 自适应词表大小 (\(V_t\)):

    • 功能:动态调整 softmax 计算的词表子集大小,减少计算开销
    • 核心思路:\(V_t = \text{clip}(V_{\text{phase}}(g_t) \cdot f_{\text{conf}}(\bar{c}) \cdot f_{\text{rep}}(r_t), V_{\min}, V_{\max})\)。生成早期或低置信度时扩大词表增加鲁棒性,高置信度时缩小词表节省 softmax 成本。包含重复检测器防止词表过窄导致退化重复。
    • 设计动机:Figure 1(b) 显示 softmax 延迟随词表大小急剧增长,~50K 全词表比小子集慢近一个数量级

损失函数 / 训练策略

CadLLM 完全免训练,所有策略通过线性插值+裁剪实现,不引入额外的推理时计算。

实验关键数据

主实验

在 LLaDA-Instruct 上(单张 H100)的结果:

基准 CadLLM 准确率 CadLLM 吞吐量倍数 Fast-dLLM 准确率 生成长度
GSM8K 78.01% 1.33× 79.00% 256
MATH 32.06% 1.34× 32.40% 256
HumanEval 35.97% 2.28× 37.19% 256
HumanEval 43.29% 1.74× 45.12% 512

消融实验

配置 Token/s 准确率 说明
All ON 121.72 78.01% 完整模型
No \(V_t\) 119.67 74.41% 准确率下降 4.6%
No \(S_t\) 136.76 76.12% 速度快但准确率降
No \(B_t\) 111.19 78.32% 吞吐量降 8.6%
No \(\tau_t\) 34.57 78.17% 吞吐量暴跌 71.6%
All OFF 34.32 78.01% 无自适应

关键发现

  • 自适应阈值是效率的绝对核心:去掉后吞吐量从 121.72 暴跌到 34.57 token/s,NFE 增加 289%
  • HumanEval 上加速最显著(2.28×),因为代码生成中置信度变化更大
  • 在 DREAM 上同样有效(1.1-1.4×提升),验证了模型无关性
  • 自适应词表不影响速度但严重影响准确率(-4.6%),说明采样宽度控制的重要性

亮点与洞察

  • 用单一置信度信号驱动四个资源维度的闭环控制器设计简洁优雅,"最小自适应性"已经大幅超越静态调度
  • 重复检测器(防止词表缩小导致退化循环)是一个实用的工程细节,避免了快速解码的常见陷阱
  • 线性插值策略的选择是刻意为之——证明即使最简单的单调映射也能显著获益,为更复杂策略建立了下界

局限与展望

  • 仅在 LLaDA 和 DREAM 两个 dLLM 上验证,对更大规模模型的效果未知
  • 超参数(\(B_{\min}, B_{\max}, S_{\max}\) 等)需要手动设定,虽±20%敏感性分析显示稳定
  • 准确率与基线相当但并非完全无损,HumanEval 上有 1-2% 的损失
  • 未来可探索非线性控制策略或强化学习优化策略参数

相关工作与启发

  • vs fast-dLLM: 静态阈值+固定块大小是资源分配不均的根源,CadLLM 用自适应策略解决
  • vs 自回归加速(投机解码等): dLLM 天然支持并行解码,CadLLM 在此基础上优化并行度
  • vs Lu et al. (并发工作): 他们也发现固定块大小导致过早提交低置信度 token,与本文动机一致

评分

  • 新颖性: ⭐⭐⭐⭐ 四维自适应控制的统一设计在 dLLM 加速中是新的
  • 实验充分度: ⭐⭐⭐⭐ 消融详尽,多任务多长度验证
  • 写作质量: ⭐⭐⭐⭐ 动机分析清晰,方法描述精确
  • 价值: ⭐⭐⭐⭐ 对 dLLM 推理部署有直接实用价值