Set Block Decoding is a Language Model Inference Accelerator

Itai Gat, Heli Ben-Hamu, Marton Havasi, Daniel Haziza, Jeremy Reizenstein +4 more
9/4/2025
cs.LG

No confident code implementation found for this paper.

Abstract

Autoregressive next token prediction language models offer powerful capabilities but face significant challenges in practical deployment due to the high computational and memory costs of inference, particularly during the decoding stage. We introduce Set Block Decoding (SBD), a simple and flexible paradigm that accelerates generation by integrating standard next token prediction (NTP) and masked token prediction (MATP) within a single architecture. SBD allows the model to sample multiple, not necessarily consecutive, future tokens in parallel, a key distinction from previous acceleration methods. This flexibility allows the use of advanced solvers from the discrete diffusion literature, offering significant speedups without sacrificing accuracy. SBD requires no architectural changes or extra training hyperparameters, maintains compatibility with exact KV-caching, and can be implemented by fine-tuning existing next token prediction models. By fine-tuning Llama-3.1 8B and Qwen-3 8B, we demonstrate that SBD enables a 3-5x reduction in the number of forward passes required for generation while achieving same performance as equivalent NTP training.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Cite this paper

@article{gat2025block,
  title  = {Set Block Decoding is a Language Model Inference Accelerator},
  author = {Itai Gat and Heli Ben-Hamu and Marton Havasi and Daniel Haziza and Jeremy Reizenstein and Gabriel Synnaeve and David Lopez-Paz and Brian Karrer and Yaron Lipman},
  year   = {2025},
  eprint = {2509.04185},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.04185v1}
}

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/2509.04185.svg)](https://codeofpaper.com/paper/2509.04185)

Discussion