跳转至

Stopping Computation for Converged Tokens in Masked Diffusion-LM Decoding

会议: ICLR 2026
arXiv: 2602.06412
代码: https://daioba.github.io/surelock
领域: 文本生成
关键词: Masked Diffusion LM, 推理加速, Token Locking, KL散度, KV Cache

一句话总结

提出 SureLock,当 Masked Diffusion LM 中已 unmask 的 token 后验分布稳定后永久锁定该位置(跳过 Q 投影和 FFN,缓存 KV),将每步注意力计算从 \(O(N^2d)\) 降为 \(O(MNd)\),在 LLaDA-8B 上减少 30-50% FLOPs 且不损生成质量。

研究背景与动机

  1. 领域现状:Masked Diffusion LM(MDLM,如 LLaDA、Dream)通过迭代去噪生成文本,每步需对所有 \(N\) 个 token 位置重算注意力和 FFN,计算复杂度 \(O(N^2d)\)
  2. 现有痛点:很多 token 在被 unmask 后后验分布迅速稳定,但标准采样器仍为它们重复计算——大量无效计算。现有加速方法要么减少步数(temporal),要么跨步复用 KV(reuse),但每步内仍发射 \(N\) 个 query 行,空间复杂度不变。
  3. 核心矛盾:MDLM 的双向注意力要求每步全量计算,但大部分 unmask token 实际上已"收敛",不需要重算。
  4. 本文要解决什么? 如何识别并永久跳过已收敛 token 的计算,实现单调递减的每步计算量?
  5. 切入角度:监测每个 token 位置相邻步之间的 KL 散度,低于阈值则永久锁定。
  6. 核心idea一句话:后验稳定的 token 永久退出计算(锁定 KV、跳过 Q/FFN),活跃集随采样推进单调收缩。

方法详解

整体框架

在 MDLM 的每步迭代中,SureLock 维护两个集合:活跃集 \(\mathcal{A}_t\)(需计算)和锁定集 \(\mathcal{L}_t\)(跳过计算但 KV 被缓存)。每步仅对活跃位置计算 Q 投影和 FFN,注意力时通过缓存的 KV 让活跃 token 仍能 attend 到锁定 token。

关键设计

  1. 永久锁定机制 (Permanent Locking):
  2. 做什么:一旦 token 位置 \(i\) 被锁定,后续所有步跳过其 Q 投影和 FFN,使用缓存的 \(K, V\)
  3. 核心思路:锁定后 \(\hat{p}_t^{(i)} = p_{t^*}^{(i)}\)(后验冻结),但 \(K^{\text{all}}[\mathcal{L}_t] \leftarrow \mathcal{C}.k[\mathcal{L}_t]\) 使其他 token 仍可 attend 到锁定 token
  4. 设计动机:与选择性更新方法不同(如 dLLM-Cache 选"现在计算什么"),SureLock 选"永久移除什么"——活跃集只减不增,保证计算量单调下降

  5. 锁定判据:步间 KL 散度:

  6. 做什么:\(D_t^{(i)} = \text{KL}(p_t^{(i)} \| p_{t-1}^{(i)}) \leq \varepsilon\) 时锁定
  7. 核心思路:KL 散度测量相邻步后验分布的变化程度。阈值 \(\varepsilon\) 直接转化为终端误差上界 \(\delta = C_{\text{tail}}\sqrt{\varepsilon}\)
  8. 设计动机:局部 KL 廉价可算,且理论上可控——Theorem 1 证明了锁定步的局部 KL 足以约束最终 token 概率的偏差

  9. 可选置信度门控 (Confidence Gate):

  10. 做什么:\(u_t^{(i)} = 1 - \max_v p_t^{(i)}(v) \leq q_m(u_t)\) 作为辅助条件
  11. 设计动机:安全网——只锁定后验峰值足够高的 token,避免在"还在犹豫"的 token 上过早锁定

  12. 理论误差上界 (Theorem 1):

  13. 核心结论:\(\|\log p_T^{(i)} - \log \hat{p}_T^{(i)}\|_\infty \leq C_{\text{tail}}\sqrt{D_{t^*}^{(i)}}\),其中 \(C_{\text{tail}} = L_{\text{sm}} L / (1 - \sqrt{\rho})\)
  14. 意义:将局部的、廉价可算的 KL 阈值直接映射到全局的终端误差上界,为超参选择提供理论依据

损失函数 / 训练策略

SureLock 是无训练的推理时方法,不修改模型参数。与已有的 temporal 和 reuse 加速方法正交可组合。

实验关键数据

主实验

LLaDA-8B-Instruct (MT-Bench + WikiText-103):

配置 FLOPs 减少 生成质量
Baseline (无锁定) 0% 基线
SureLock (ε=0.01) ~30% ≈基线
SureLock (ε=0.05) ~50% ≈基线
SureLock (ε=0.1) ~50%+ 略降

消融实验

配置 FLOPs 节省 质量 说明
仅 KL 判据 与完整版相当 KL 足够作为唯一判据
仅 confidence gate 较少 保持 单独置信度不够激进
无 KV 缓存 同等 FLOPs 显著下降 锁定 token 不可被 attend 导致信息丢失

关键发现

  • 活跃位置数 \(M_t\) 随步数单调递减,验证了"收敛 token 越来越多"的假设
  • 30-50% FLOPs 减少在 WikiText-103 困惑度和 MT-Bench 评分上零损失或极微下降
  • 与 temporal 方法(减少步数)和 reuse 方法(跨步复用 KV)正交,可叠加使用
  • 理论界虽然保守(设计导向而非精确预测),但提供了调参(\(\varepsilon\))的明确指导

亮点与洞察

  • 从"选择哪些计算"到"永久移除哪些计算":这种视角转换是关键创新。活跃集只收缩不扩张,使计算曲线单调下降,比选择性更新方法预测性更强。
  • 理论-实践闭环:KL 阈值 → 终端误差上界的闭式关系为超参选择提供了不靠调参的理论基础,这在系统加速工作中难得。
  • 与 d²Cache 形成互补:d²Cache 是细粒度选择"每步更新哪些 token",SureLock 是永久移除已收敛 token——两者可以组合。

局限性 / 可改进方向

  • Theorem 1 的几何尾收缩假设(A2)较强,实际中后验变化不一定严格满足
  • 永久锁定有不可撤销风险——如果 token 在锁定后因其他位置变化而"需要"改变,无法恢复
  • 仅在 LLaDA-8B 上验证,其他 MDLM(如 Dream、MDLM-original)未测试
  • 锁定阈值 \(\varepsilon\) 仍需手动设定,理论界中的 \(C_{\text{tail}}\) 常数不易精确估计

相关工作与启发

  • vs dLLM-Cache: dLLM-Cache 在每步选择性更新部分 token(非永久),SureLock 永久锁定,活跃集单调收缩,长期节省更多
  • vs Fast-dLLM: Fast-dLLM 按块半自回归解码,SureLock 在 token 级操作,更细粒度且正交可组合
  • vs AR KV Cache: AR 的 KV cache 天然增长,SureLock 的 KV cache 在双向注意力中模拟类似"不变量缓存"的效果

评分

  • 新颖性: ⭐⭐⭐⭐ 永久锁定收敛 token 的思路简洁有效,理论分析加分
  • 实验充分度: ⭐⭐⭐ 仅一个模型、任务覆盖有限
  • 写作质量: ⭐⭐⭐⭐⭐ 动机清晰、算法表述精确、理论推导完整
  • 价值: ⭐⭐⭐⭐ 为 MDLM 推理加速提供了新的正交维度