A training-free parallel decoder that separates token proposing from position committing — combining candidate-conditioned temporal logit contrast (TILG) with discrete proposal persistence (History Gate) while preserving the base proposal at every write.
In non-revising diffusion language models (DLLMs), revealing a masked position permanently conditions all subsequent denoising steps. A scalar confidence threshold \(c_{t,i} = p_t(i, \hat{x}_{t,i})\) treats a newly switched candidate identically to a candidate whose support has steadily accumulated across steps.
Before committing position \(i\) at step \(t\), we keep it masked for one additional forward pass while the surrounding context updates, and record whether its top-1 identity flips:
TACG computes its gate entirely from logits already produced by the current forward pass (\(O(BLV)\) overhead, zero extra model evaluations). Every committed position writes the contemporaneous base proposal \(\hat{x}_i = \arg\max_v p_t(i,v)\).
TACG maintains an exponential moving average of logits across denoising steps and reads \(\bar{z}_{t-1}\) before incorporating \(z_t\):
TILG amplifies historical-to-current log-odds innovation \(z_t - \bar{z}_{t-1}\) and extracts positive probability gain at \(\hat{x}_i\):
Positions require consecutive agreement \(h_i \ge m_j\) (or saturation \(c_i \ge \tau_{\mathrm{esc}}\)), promoting at most \(k_t \le K_{\max}\) extras above \(\tau_{\mathrm{floor}}\):
To isolate which positions enter the context from how many tokens are committed, our matched per-event commit-count replay forces a confidence-ranked selector to commit the exact same number of tokens at every sample, block, and step as TACG. Explore real step-by-step traces recorded from LLaDA-8B below.
Scrub across the 19 decoding steps of has_close_elements (256 tokens generated in 19 forward calls, 13.5 tokens/step average) to inspect the exact gate state of every committed token:
We audit TACG with three controlled interventions to verify that improvements stem from history-guided position selection rather than altered token writing or step-budget differences.
We decouple which positions are selected from which token identity is written (base \(\arg\max_v p_t\) vs. guided \(\arg\max_v q_t\)) across all four complete benchmarks:
| Mechanism Arm | HumanEval | MBPP | GSM8K | MATH500 | Mean ACC ↑ | Mean NFE ↓ |
|---|---|---|---|---|---|---|
| Confidence Control | 37.20 | 47.08 | 77.10 | 30.60 | 48.00 | 76.59 |
| Selection Only (TACG Rule) | 39.02 | 50.19 | 76.04 | 32.60 | 49.47 (+1.47) | 67.87 (−11.39%) |
| Guided Writing Only | 37.80 | 49.03 | 75.36 | 31.80 | 48.50 (+0.50) | 76.36 (−0.30%) |
| Selection + Guided Writing | 40.24 | 49.81 | 75.51 | 32.60 | 49.54 (+1.55) | 67.53 (−11.83%) |
Placing temporal evidence in the position selector accounts for +1.47 accuracy points and −11.39% NFE, whereas modifying written tokens alone barely alters NFE (−0.30%).
Across 141,707 commit events, we replay the exact committed-token count at every sample, block, and step using current top-confidence ranking versus TACG's history-guided selector:
| Selector Policy | HumanEval | MBPP | GSM8K | MATH500 | Mean ACC ↑ | Mean NFE ↓ |
|---|---|---|---|---|---|---|
| History-Guided (TACG) | 39.02 | 50.19 | 76.27 | 32.20 | 49.42 (+8.27) | 62.79 |
| Confidence-Ranked Replay | 34.76 | 38.52 | 67.55 | 23.80 | 41.16 | 62.79 |
| Position-Permuted History | 34.15 | 36.19 | 65.73 | 23.40 | 39.87 | 62.79 |
With identical per-sample NFE (44.02 on HumanEval, 69.39 on MBPP, 58.33 on GSM8K, 79.43 on MATH500), history-guided position choice outperforms confidence ranking on every benchmark.
On 500 paired MATH500 prompts (Dream-7B), we compare the observed EMA reference against three counterfactual references while holding confidence and History Gate streaks fixed:
We evaluate complete task splits on LLaDA-8B (len 256), Dream-7B (len 256), and LLaDA2-Mini (block-diffusion at len 1024 and 2048), alongside synchronized H200 latency and batch-scaling profiles.
| Method (LLaDA-8B, len 256) | HumanEval (n=164) | MBPP (n=257) | GSM8K (n=1,319) | MATH500 (n=500) | Four-Task Mean | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| ACC ↑ | NFE ↓ | ACC ↑ | NFE ↓ | ACC ↑ | NFE ↓ | ACC ↑ | NFE ↓ | ACC ↑ | NFE ↓ | |
| Native Confidence | 37.20 | 52.28 | 47.08 | 83.34 | 77.10 | 74.26 | 30.60 | 96.48 | 48.00 | 76.59 |
| AHD (Anchor History-Stable) | 39.63 | 51.89 | 45.91 | 85.46 | 75.28 | 73.97 | 30.40 | 95.28 | 47.81 | 76.65 |
| DSB (Dynamic Sliding Block) | 39.02 | 50.46 | 48.64 | 81.49 | 76.35 | 72.98 | 33.40 | 95.68 | 49.35 | 75.15 |
| KLASS (Fixed Distribution-KL) | 39.63 | 92.13 | 48.25 | 134.82 | 77.63 | 134.45 | 30.60 | 152.42 | 49.03 | 128.45 |
| TACG (Ours, Task-Specific) | 42.07 | 45.71 | 50.97 | 74.42 | 77.03 | 67.12 | 34.00 | 84.04 | 51.02 (+3.02) | 67.82 (−11.45%) |
In addition to the interactive simulators above, we provide standalone looping GIF animations under docs/assets/animations/ ready to embed in GitHub READMEs, slides, or social threads.
tacg_mechanism.gif —
Visualizes how two candidates with identical confidence (\(c_4 = 0.86\)) diverge in TACG: Position A (switched identity, \(h_A = 1\)) is held by the History Gate, while Position B (persistent streak \(h_B = 4\), rising TILG support \(b_B = +0.29\)) is promoted and writes its base proposal.
tacg_vs_confidence_replay.gif —
Real 43-step LLaDA-8B decoding trajectory on GSM8K (#6) under matched per-event commit counts. TACG preserves coherent multi-step reasoning (\(\boxed{260}\) ✓), whereas confidence-ranked selection suffers premature context corruption (\(800\) ✗) at the exact same NFE.
All evaluation scripts, task configs, and audited result manifests for LLaDA-8B, Dream-7B, and LLaDA2-Mini are available in our public repository.
@article{wang2026tacg,
title = {TACG: Trajectory-Aware Commit Gating for Diffusion Language Model Decoding},
author = {Chengcheng Wang and Tingzhang Luo and Wenhao Li and Jianyuan Guo and Chang Xu},
journal = {arXiv preprint arXiv:2607.03236},
year = {2026},
url = {https://arxiv.org/abs/2607.03236}
}