Beyond Autoregression: Fast LLMs via Self-Distillation Through Time

Justin Deschenaux, Caglar Gulcehre
10/28/2024
cs.LGcs.CL

No official code found. Best implementation: jdeschena/sdtt (51 stars, last commit 2026-02-26).

Abstract

Autoregressive (AR) Large Language Models (LLMs) have demonstrated significant success across numerous tasks. However, the AR modeling paradigm presents certain limitations; for instance, contemporary autoregressive LLMs are trained to generate one token at a time, which can result in noticeable latency. Recent advances have indicated that search and repeated sampling can enhance performance in various applications, such as theorem proving, code generation, and alignment, by utilizing greater computational resources during inference. In this study, we demonstrate that diffusion language models are capable of generating at least 32 tokens simultaneously, while exceeding the performance of AR models in text quality and on the LAMBADA natural language understanding benchmark. This outcome is achieved through a novel distillation method for discrete diffusion models, which reduces the number of inference steps by a factor of 32-64. Practically, at the 1.3B parameters scale, diffusion models, even without caching, can generate tokens at a rate that is up to 8 times faster than AR models employing KV-caching, and we anticipate further improvements with the inclusion of caching. Moreover, we demonstrate the efficacy of our approach for diffusion language models with up to 860M parameters.

View on arXivView PDF

Code Implementations(1)

jdeschena/sdttCommunity100%

[ICLR 2025] SDTT: a simple and effective distillation method for discrete diffusion models

515PythonOct 28, 20247 months ago

Similar Papers

Cite this paper

@article{deschenaux2024beyond,
  title  = {Beyond Autoregression: Fast LLMs via Self-Distillation Through Time},
  author = {Justin Deschenaux and Caglar Gulcehre},
  year   = {2024},
  eprint = {2410.21035},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.21035v2},
  journal = {ICLR 2024 2024}
}

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

Discussion