d$^2$Cache: Accelerating Diffusion-Based LLMs via Dual Adaptive Caching
Yuchu Jiang, Yue Cai, Xiangzhong Luo, Jiale Fu, Jiarui Wang, Chonghan Liu, Xu Yang
TL;DR
This work tackles the inefficiency of diffusion-based LLMs by introducing d$^2$Cache, a training-free, fine-grained approximate KV cache that selectively updates a small subset of token KV states at each decoding step while caching the rest. Leveraging a two-stage strategy—certainty-prior based selection for masked tokens and attention-rollout informed selection for prompt/decoded tokens—d$^2$Cache enables quasi left-to-right decoding and substantial speedups without degrading generation quality. The approach is validated on LLaDA and Dream across multiple benchmarks, delivering 3.2×–4.0× speedups and competitive or improved accuracy relative to strong baselines. Overall, d$^2$Cache offers a practical and effective pathway to accelerate dLLMs, with open-source code available for adoption.
Abstract
Diffusion-based large language models (dLLMs), despite their promising performance, still suffer from inferior inference efficiency. This is because dLLMs rely on bidirectional attention and cannot directly benefit from the standard key-value (KV) cache as autoregressive models (ARMs) do. To tackle this issue, we introduce \textit{Dual aDaptive Cache} (d$^2$Cache), which is a training-free approximate KV cache framework for accelerating dLLM inference. d$^2$Cache features a two-stage fine-grained selection strategy to identify tokens and adaptively update their KV states at each decoding step, while caching the KV states of the remaining tokens for reuse. Furthermore, d$^2$Cache naturally offers a more reliable decoding alternative, which can enable quasi left-to-right generation and mitigate premature overconfidence in tokens at the end of the sequence. Extensive experimental results on two representative dLLMs (\ie, LLaDA and Dream) demonstrate that d$^2$Cache not only achieves substantial inference speedups, but also yields consistent improvements in generation quality. The code is available at https://github.com/Kamichanw/d2Cache.
