Diffusion language models can write several tokens in one forward pass, and they decide during generation how many passes to spend. Two outputs of the same token length can therefore vary a lot in cost. To understand the underlying factors of this cost variation, we analyze two diffusion models across 10 tasks. We find that the number of forward passes per token depends heavily on the task. Text copied or lightly edited from the input is cheap, while open-ended writing is costly. In DiffusionGemma, generating a token for story writing requires more than three times as many forward passes as for grammar correction. Two output properties explain much of this gap: how much of it is new relative to the input, and how rare its words are within the task. The same holds within a single response when thinking is involved. The final answer is cheap when it repeats the model's reasoning trace and costly when it adds something new. In multilingual generation, we find that highly tokenized languages also require more passes per token, adding to the cost they already pay with more tokens. Finally, cost tracks correctness: on the same math problem, wrong answers take more passes per token than correct ones, and weighting candidate answers by decoding speed beats majority voting by up to 4.2 points at no extra cost. Taken together, our results show that diffusion's computational advantage depends on how much of the output is already determined, while its decoding effort offers a practical signal for making inference more efficient and reliable.
Figures & tables
Figure 1: Forward passes per 100 output tokens, for seven tasks and two diffusion models (thinking off). Lower is cheaper. An autoregressive model is always at 100 (dotted line). Error bars are 95% bootstrap intervals. While architectural differences affect absolute throughput, both models follow the same monotonic cost progression from reproducing to open-ended tasks. Per-task numbers are in Table C.1 .
DiffusionGemma
DreamReasoner
task
cost
novelty
surprisal
NI
cost
novelty
surprisal
NI
∙ Grammar fix
3.7
14%
9.1
1.30
22.2
9%
9.1
0.82
∙ Extractive summ.
4.3
2%
9.7
0.19
21.6
13%
9.7
1.25
∙ Code edit
5.0
52%
7.6
3.97
59.9
81%
7.5
6.01
Translation
6.0
95%
9.3
8.90
80.5
92%
9.5
8.68
Clinical note
6.1
77%
8.7
6.69
83.8
89%
7.6
6.77
Table 1: Decoding cost (Eq. 1 ), novelty (Eq. 2 ), surprisal (Eq. 4 ) and new information (NI, Eq. 5 ) per task, for DiffusionGemma and DreamReasoner. Task type: ∙ reproducing, rewriting, ∙ chained, ∙ open-ended. For both models, cost correlates most strongly with NI. Rows are sorted by DiffusionGemma’s cost. All measures are computed on each model’s own outputs, excluding items that hit the token limit. The bottom rows give each measure’s Pearson correlation with cost across the ten tasks, within each model (strongest in bold ), and its two-sided p -value (underlined when below 0.05; uncorrected, and indicative only with ten tasks).
Figure 2: Decoding cost against new information (NI) for DiffusionGemma. Each point is one task (values in Table 1 ); the dashed line shows a least-squares fit. Tasks that produce more new information cost more to decode.
Figure 3: One generation with thinking on: forward passes spent on each block of 256 tokens. DiffusionGemma on AIME 2025 problem 2 (answered correctly). Green blocks are thinking, blue blocks the final answer, and the grey block holds the point where the thinking ends. Thinking blocks take 9.8 passes on average, answer blocks 5.8 .
Figure 4: The answer is cheap when it copies the thinking. Each point is one task. We plot how novel the answer is relative to the model’s own thinking (Eq. 2 ) against how much more an answer token costs than a thinking token. Negative values mean answer tokens are cheaper. Error bars are 95% bootstrap intervals. All runs use DiffusionGemma with thinking on and its default released settings.
Figure 5: Harder problems cost more, and wrong answers cost the most. We run DiffusionGemma with thinking on over 160 problems from 5 math contests, five seeds each, and place each problem by its position in the contest round, which runs from easy to hard. (a) On harder problems the model thinks much longer, while its answer stays about the same length. (b) Tokens also become more expensive toward the hard end, in both the thinking and the answer. (c) Looking at the answer alone, wrong answers cost more per token than correct ones at every level of difficulty. Correct answers stay equally cheap as problems get harder, so the rise in (b) comes mostly from wrong answers. Error bars are 95% bootstrap intervals over problems.
Figure 6: Languages that the tokenizer splits into more pieces also cost more per token. Each point is one target language, translated from the same 200 English FLORES sentences by DiffusionGemma. We show the 20 languages that separate words with spaces, where tokens per word is well defined; color indicates translation quality. Results for all 25 languages are in Fig. D.1 .
Figure 7: Weighting each answer by how fast it was decoded beats the plain majority vote. (255 math problems with 5 runs each, DiffusionGemma, thinking on, shipped settings).
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
DiffusionGemma-26B-A4B-it
DreamReasoner-8B
Weights
google/diffusiongemma-26B-A4B-it
Dream-org/DreamReasoner-8B
Size
25.8B total, about 3.8B used per token (mixture of experts)
8.2B (dense)
Tokens written at a time
256
32
Most steps allowed per 256 / 32 tokens
48
32
How it picks tokens to write
lowest entropy first, up to a total entropy of 0.1
every token with confidence ≥0.9
Appendix
Table A.1: Model settings
task
data
items
n
reproducing
Grammar fix
W&I+LOCNESS v2.1, BEA-2019 dev set ( Bryant et al., 2019 )
whole essays of 80–1,200 words
317
Extractive summ.
GovReport, test set ( Huang et al., 2021 )
300 of the 824 reports with 1,500–12,000 words
300
chained
Code edit
HumanEvalFix, Python ( Muennighoff et al., 2024 )
the full set
164
Code gen.
LiveCodeBench code_generation_lite v5+v6 ( Jain et al., 2025 )
the 300 newest by contest date
300
Appendix
Table B.1: Data for all ten tasks. The first seven appear in Figure 1 ; the three rewriting tasks are added from Section 3.1 on.
items
cost
output tokens
model
task
total
used
hit limit
empty
mean
95% CI
median
mean
median
tokens/pass
DiffusionGemma
Grammar fix
317
317
0
0
3.72
[3.58, 3.86]
3.49
282
237
28.8
Extractive summ.
300
300
0
0
4.34
[4.21, 4.47]
4.18
874
798
24.4
Code edit
164
164
0
0
5.03
[4.76, 5.33]
4.73
405
416
20.3
Math
255
255
0
0
6.18
[5.94, 6.41]
6.00
1,340
1,130
15.0
Code gen.
300
295
5
0
6.21
[5.96, 6.45]
5.75
1,733
675
12.1
Appendix
Table C.1: The numbers behind Figure 1 . Cost is forward passes per 100 output tokens (Eq. 1 ), averaged over the items we used. We leave out items that were still writing when they reached the token limit, and items with fewer than 5 output tokens, where a per-token cost is not meaningful. The last column divides all output tokens by all forward passes over the items used. Within each model, rows are sorted by mean cost.
Figure D.1: Some languages cost more twice: more tokens, and more passes per token. DiffusionGemma translates the same 200 English FLORES sentences into 25 languages. Each point is one language, coloured by script, with tokens per sentence on the x-axis and forward passes per sentence on the y-axis. Dashed lines mark constant cost, so a point on a higher line needs more passes per token. The vertical line shows English for reference (28 tokens per sentence); it is the source language, so it has no cost. All values are in Table D.1 .
language
tokens
passes
cost
fertility
vs. En
chrF++
Spanish
36.4
5.33
15.7
1.71
1.29
54.5
Portuguese
37.3
5.52
15.9
1.82
1.26
69.0
Indonesian
34.7
5.57
17.4
2.03
1.16
68.4
French
40.3
6.06
16.3
1.75
1.41
68.2
Chinese
32.3
6.54
21.9
–
1.12
32.0
Hindi
38.5
7.25
20.2
1.79
1.31
54.0
Appendix
Table D.1: Results for each language, averaged over the same 200 FLORES sentences and sorted by forward passes per sentence. Tokens and passes are per sentence, and cost is forward passes per 100 tokens. Fertility (tokens per word) and length relative to English are measured on the reference translations; fertility is not defined for languages written without spaces.