C4 speeds up diffusion language models by making two decisions separately: locally, it commits confident tokens sooner so each block finishes in fewer steps; globally, it stops the whole sequence once the answer is confident and no longer changing. No training, no extra forward pass, one frozen setting.
Abstract
Diffusion language models predict tokens in parallel but still require many iterative forward passes. Adaptive sampling accelerates local token commitment, while recent global stopping methods seek to end generation early. Our trajectory analysis shows that short answers can stabilize early in decoding, whereas reasoning outputs often require more steps to settle. A fixed progress threshold therefore struggles to avoid both redundant computation on short-answer tasks and premature termination on reasoning tasks. We introduce C4, a training-free framework that combines local decoding acceleration with adaptive global early exit. Confidence-Verified Early Exit (CVEE) determines when to end generation, skipping the remaining steps once its stopping criterion is met. It combines confidence and temporal agreement to adapt stopping to the observed revision history. Commit-Core-Then-Confirm (CCTC) accelerates token commitment while generation continues, reducing the decoding steps needed to complete each block. It extends confidence-threshold parallel decoding with a boundary-anchored core and one-step confirmation of deferred predictions, constraining additional commitments to mitigate premature freezing under unresolved context. With CVEE calibrated once on LLaDA, the same numerical settings transfer across all 12 zero-shot tasks and to Dream without recalibration. Under this configuration, C4 reduces decoding steps by 64–95% and achieves measured decoding-loop speedups of 2.6×–18.6×, with task performance close to full decoding. Component analyses show complementary contributions: early exit supplies most savings on short-answer tasks, while local acceleration contributes more on reasoning and code generation.
Method
Why earlier methods fall short.
Diffusion decoding can be sped up in two places: commit tokens faster inside a block, or stop the whole sequence early. Earlier methods do one or the other, and each breaks somewhere (LLaDA-8B, paper Tables 1–2).
They stop on a schedule or a fixed confidence rule, not when the answer has settled, so reasoning is cut off while the answer is still changing.
They decide which tokens to commit, never when to stop, so every block is still decoded after the answer is done.
The exit rule reads a trajectory the sampler has already reshaped, and stops reasoning too soon.
The answer settles at very different times.
A diffusion LM shows its full provisional output at every step, so the current answer can be read long before decoding ends. On full LLaDA decodes, the point by which 90% of answers have stopped changing ranges from 4% of the schedule on short-answer tasks to 96% on long reasoning. No fixed stopping point fits both, so C4 stops on evidence from the answer itself and gets its speed on long outputs from faster commitment inside each block.
Commit locally, exit globally.
In the active block, confident positions next to the resolved boundary form a core and commit at once; the core may step over one unresolved position (H = 1). Confident positions further right are deferred and commit at the next step only if they still predict the same token. The decoder's own scheduled commits are kept, and confirmation reuses the next forward pass, so nothing extra is computed.
At every step a fixed parser reads the current answer. Decoding stops once
The rule never looks at how far decoding has progressed; the remaining masks are filled in one step.
At step t−1 the core commits diffusion, steps over one low-confidence hole and commits language; agent and system are confident but far from the boundary, so they wait. At step t they still predict the same tokens and are confirmed. Example from the paper's Figure 3.
Watch both gates on a real trajectory.
Scrub through a recorded C4 run: the output with this step's commits, and the answer, confidence and patience CVEE sees.
Results
12 zero-shot tasks: five short-answer (64-token output), five long-reasoning (256) and two code tasks graded by hidden tests (384), on LLaDA-8B-Instruct and Dream-7B-Instruct. Speedup is tokens per second relative to full decoding of the same model, on one RTX 4090.
Faster everywhere, accuracy within two points everywhere.
| Task | Output | LLaDA-8B | Dream-7B |
|---|
Timing: fixed 20-example subset, three repeats; accuracy and steps: each task's full evaluation set. Accuracy differences are point estimates, not equivalence claims. Baseline rows: paper Table 1.
Early exit carries short answers; faster commitment carries reasoning and code.
From full decoding, add the CVEE exit gate, then the CCTC core, then confirmation, then CCTC on every block (= C4). Bars are average decoding steps (paper Table 3).
Requiring both keeps full-decoding GSM8K accuracy on both backbones but waits almost the whole schedule, which is why the reasoning speedup has to come from CCTC.
An exit gate on another sampler.
WINO's update rule with CVEE only deciding when to stop (LLaDA). Short answers lose another 70–76% of their steps at the same accuracy; on reasoning and code, keeping accuracy means keeping almost all of WINO's steps.
| Task | WINO | + CVEE | Conservative CVEE | |||
|---|---|---|---|---|---|---|
| Acc | Steps | Acc | Steps | Acc | Steps | |
| MMLU | 61.0 | 16.8 | 61.5 | 4.1 | – | – |
| HellaSwag | 73.0 | 12.9 | 73.0 | 3.9 | – | – |
| GSM8K | 72.0 | 49.2 | 36.0 | 43.6 | 70.0 | 48.5 |
| SVAMP | 85.0 | 45.6 | 62.0 | 41.7 | 83.0 | 45.1 |
| HumanEval | 37.8 | 54.2 | 14.6 | 29.7 | 36.6 | 50.1 |
WINO is also the strongest local sampler here: on LLaDA GSM8K it beats C4 in both accuracy (72.0 vs 64.0) and speed (4.03× vs 3.55×). When early exit has little to remove, the best local sampler can win.
Video
Every decoding frame in the video is rendered from the same recorded runs as the replay above. Also on YouTube.
BibTeX
@article{lee2026c4,
title = {Commit Locally, Exit Globally: Coordinating Adaptive Sampling and Early Exit in Diffusion Language Models},
author = {Lee, Chia-Ming and Liu, Shao-Kai and Chang, Ming-Ching and Li, Xin and Liu, Yu-Lun and Hsu, Chih-Chung},
journal = {arXiv preprint arXiv:2607.28166},
year = {2026}
}