Block Diffusion: Interpolating Between Autoregressive and Diffusion Language Models

Marianne Arriola, Aaron Gokaslan, Justin T. Chiu, Zhihan Yang, Zhixuan Qi +3 more
3/12/2025
cs.LGcs.AI

No official code found. Best implementation: kuleshov-group/bd3lms (1,018 stars, Apache-2.0, last commit 2025-07-10).

Abstract

Diffusion language models offer unique benefits over autoregressive models due to their potential for parallelized generation and controllability, yet they lag in likelihood modeling and are limited to fixed-length generation. In this work, we introduce a class of block diffusion language models that interpolate between discrete denoising diffusion and autoregressive models. Block diffusion overcomes key limitations of both approaches by supporting flexible-length generation and improving inference efficiency with KV caching and parallel token sampling. We propose a recipe for building effective block diffusion models that includes an efficient training algorithm, estimators of gradient variance, and data-driven noise schedules to minimize the variance. Block diffusion sets a new state-of-the-art performance among diffusion models on language modeling benchmarks and enables generation of arbitrary-length sequences. We provide the code, along with the model weights and blog post on the project page: https://m-arriola.com/bd3lms

View on arXivView PDF

Code Implementations(1)

Apache-2.0

[ICLR 2025 Oral] Block Diffusion: Interpolating Between Autoregressive and Diffusion Language Models

1,01876Shell, PythonFeb 27, 20251 years agoApache-2.0

Similar Papers

Cite this paper

@article{arriola2025block,
  title  = {Block Diffusion: Interpolating Between Autoregressive and Diffusion Language Models},
  author = {Marianne Arriola and Aaron Gokaslan and Justin T. Chiu and Zhihan Yang and Zhixuan Qi and Jiaqi Han and Subham Sekhar Sahoo and Volodymyr Kuleshov},
  year   = {2025},
  eprint = {2503.09573},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2503.09573v3},
  journal = {ICLR 2025 2025}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2503.09573.svg)](https://codeofpaper.com/paper/2503.09573)

Discussion