Diffusion Language Models: Why Speed Beats Size Now
The Kuleshov Group's guide to building a diffusion language model quietly changes the economics of running AI. Here's what parallel decoding means for a small team paying in USD.
A diffusion language model writes text like an image model paints: it starts from a mostly-masked draft and refines every position at once, rather than one token at a time. The Kuleshov Group has published How to build a diffusion language model, adapted from their ICLR 2026 and MLSS 2026 talks.
I read it as an infrastructure post. The claim that matters isn't better text, it's cheaper text per second of GPU time, and that changes who can afford to ship an AI feature.
🔍 The actual break with how LLMs work today
Every model most of us use in production is autoregressive: predict token, append, repeat. The post names three consequences of that design, and they're all structural rather than fixable with more parameters.
| Property | Autoregressive (GPT-style) | Diffusion |
|---|---|---|
| Generation order | Strictly left to right | All positions in parallel |
| Attention over output | Causal (backward only) | Bidirectional |
| Can it revise a token? | No, once emitted it's final | Yes, via remasking |
| Cost scaling | Steps = sequence length | Steps = a knob you set |
That last row is the one I keep coming back to. In an autoregressive model, a 500-token answer costs 500 sequential forward passes. In a diffusion model, the number of denoising steps is a parameter you choose. Quality and latency stop being fixed by output length.
Key takeaway: Diffusion turns generation cost from a function of how long the answer is into a function of how good you need the answer to be. That is a budget dial, and small teams have never had one.
⚡ Tokens per second is the number that decides your bill
Parameter counts are a vanity metric for anyone self-hosting. Throughput is what you actually pay for. Here's what the post reports, with the caveat that these are the authors' figures and I have not benchmarked any of them:
| Model | Scale | Reported claim |
|---|---|---|
| Mercury 2 (Inception Labs) | Commercial | ~1,200 tokens/second on standard GPUs; 5–10× faster than Claude Haiku or Gemini Flash |
| Nemotron Diffusion (NVIDIA) | Up to 35B, open weights | 2–8× throughput of comparable autoregressive models, retaining up to 99% of quality |
| LLaDA | 8B, open weights | Competitive with LLaMA2-7B and LLaMA3-8B on general, math and code benchmarks |
| Gemma Diffusion (Google) | Open weights | Uniform-state diffusion with an encoder-decoder design |
The Mercury 2 line is the one worth sitting with. The post claims it matches the quality of specialised inference chips like Groq and SambaNova while running on commodity GPUs. If that holds up under independent testing, the moat around fast inference was an architecture choice, not silicon.
For a two-person team in Colombo renting a GPU by the hour, a 5× throughput gain is the difference between an AI feature that pays for itself and one you quietly turn off at the end of the month.
🛠️ The training recipe is less exotic than the name suggests
This is where the post earns its title. The masked diffusion approach (MDLM) is described as, in effect, BERT with a randomised masking rate. You mask a random fraction of tokens, train a bidirectional transformer to reconstruct them, and vary that fraction across training.
The loss function is the part that should make every engineer sit up:
The training objective reduces to standard cross-entropy, averaged across all masking rates.
No new loss to derive. No exotic sampler to debug before you see a learning curve. If you have written a masked-language-model training loop, you have written most of a diffusion language model.
The practical pieces the post lays out:
- Block diffusion — diffuse blocks of tokens (256, for example) conditioned on prior context, which gives you variable-length output and KV caching, the same optimisation autoregressive serving depends on.
- Encoder-decoder split — a heavy encoder processes the clean context once, a lightweight decoder does the iterative denoising. You pay for context understanding a single time.
- Remasking — re-mask a small subset of already-generated tokens so the model can correct itself. This is what makes inference-time scaling possible.
- Uniform-state diffusion (UDLM) — replace tokens with random vocabulary items rather than a mask token, which supports multi-step revision more naturally.
- RL post-training — Diffu-GRPO uses a mean-field approximation for policy gradients, with newer work deriving exact and approximate likelihood estimators.
Points 1 and 2 are what a small team should care about. They're the difference between a research curiosity and something you can put behind an API endpoint.
💰 What changes for a builder on a learning budget
I run tools that call models constantly, and the cost model here is genuinely different. Three things I'd plan around:
- Latency stops scaling with answer length. Long-form generation, the thing that currently makes users stare at a spinner, is where diffusion gains the most.
- Quality becomes a runtime decision. You can serve a cheap 8-step sample to free users and a 64-step sample to paying ones, from the same weights. No second model, no second deployment.
- Fine-tuning a small diffusion LM is plausible on rented hardware. Cross-entropy on a bidirectional transformer is not an exotic training run. A domain-specific model for Sinhala or Tamil text is not obviously out of reach for a university lab.
If you're modelling what any of this costs before you commit, our AI token counter gives you the input side, and the speculative decoding calculator covers the closest thing the autoregressive world has to parallel generation. Both are free and need no signup.
🧪 Where I'd stay sceptical
The post is an advocacy piece by researchers who work on diffusion. A few numbers deserve a second look before you rewrite your stack.
| Claim | The catch |
|---|---|
| "Up to 99% quality retained" (Nemotron) | "Up to" is doing work. A 1% quality drop is not uniform across tasks. |
| Remasking improves MAUVE 0.40 → 0.66 | Autoregressive still scores 0.76 in that comparison. The gap narrowed, it did not close. |
| LLaDA competitive with LLaMA2-7B / LLaMA3-8B | Those are the baselines being matched. Matching a 2023–2024 open model is a real result, not frontier parity. |
The strongest evidence in the post is arguably from biology, not chat: NT-v3, trained on over a trillion DNA tokens, generated regulatory sequences that outperformed native enhancers in wet-lab validation, and ESM3 reached 100B parameters for protein generation. Those are domains where bidirectional context and iterative revision obviously beat left-to-right, and where the win is measured in a lab rather than on a leaderboard.
💡 What this means for you
Don't rewrite anything this week. Do three things instead:
- Track throughput as a first-class metric in whatever you're building. If diffusion serving matures, tokens/second is where the savings land, and you'll want a baseline to compare against.
- Pull LLaDA or Nemotron Diffusion weights and run one inference. They're open. An afternoon of hands-on time now beats reading about it for a year.
- If you're a student picking a research topic, this area is unusually accessible. The objective is cross-entropy, the architecture is a transformer you already understand, and the field is young enough that a careful paper from a Sri Lankan university would land.
The post frames diffusion as potentially being to inference-time scaling what the transformer was to pre-training scaling. That's a large claim and it's unproven. But the underlying shift is real and it's already shipping: the cost of a generated token is becoming something you tune rather than something you're handed.
For those of us earning in rupees and paying for GPUs in dollars, a knob is worth a lot.
Original source
How to build a diffusion language model