TIPS: A Tiny Inference-time Policy for Scaling in Diffusion Language Models
Organizations: ServiceNow AI Research · Mila - Quebec AI Institute · HEC Montréal
Abstract
Masked diffusion language models expose an inference-time choice: which positions become visible after each denoising pass. Many existing decoding methods use hand-designed rules or require visibility to grow monotonically. We present a iny nference-time olicy for caling (), an approximately K-parameter controller that learns both unmasking and remasking while keeping the underlying language model frozen. TIPS uses visibility-aware confidence features and a shallow transformer to select which tokens should be visible, while a fixed schedule controls the expected visible fraction. We train the controller through supervised warmup followed by reinforcement learning from terminal correctness rewards. On GSM8K and MATH-500 with LLaDA-8B-Instruct, the full-canvas and two-block TIPS variants achieve and micro-averaged accuracy at a budget of decoder evaluations, exceeding the strongest baseline in our main comparison by and percentage points, respectively. Both variants are trained at a budget of evaluations and remain competitive at higher budgets without retraining. These results demonstrate that learning when to reveal and reconsider tokens can improve the accuracy-compute trade-off without updating the decoder backbone.
Figures & tables
| Method | Blocks | 4 | 8 | 16 | 32 | 64 | 128 | 256 | AUC |
|---|---|---|---|---|---|---|---|---|---|
| Fast-dLLM | 17.48 | 17.48 | 14.73 | 37.93 | 65.59 | 67.01 | 67.01 | 40.83 | |
| WINO | 18.14 | 21.06 | 34.80 | 46.34 | 49.26 | 49.37 | 49.37 | 39.10 | |
| UNCODE | 12.26 | 14.35 | 21.50 | 29.74 | 53.66 | 63.66 | 67.73 | 37.15 | |
| Jazbec et al. (2026) | 5.63 | 7.42 | 9.18 | 12.39 | 47.72 | 64.80 | 64.63 | 29.44 | |
| TIPS full | 16.46 [-1.5pt] 1.79 | 29.12 [-1.5pt] 1.68 | 48.05 [-1.5pt] 0.73 | 58.46 [-1.5pt] 0.10 | 63.09 [-1.5pt] 0.50 | 65.32 [-1.5pt] 0.55 | 66.28 [-1.5pt] 0.71 | 50.90 | |
| TIPS block | 12.53 [-1.5pt] 0.45 | 20.95 [-1.5pt] 0.99 | 42.12 [-1.5pt] 2.04 | 57.97 [-1.5pt] 1.23 | 64.49 [-1.5pt] 0.80 | 67.12 [-1.5pt] 0.28 | 68.18 [-1.5pt] 0.36 | 48.83 |
Appendix figures & tables57 assets
Supplementary material from the paper’s appendix.
Appendix
| Method / configuration | Blocks | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
|---|---|---|---|---|---|---|---|---|
| Single-canvas configurations: 256 response tokens | ||||||||
| Random / uniform | 11.45 | 16.91 | 25.16 | 33.06 | 38.34 | 41.82 | 42.57 | |
| High confidence (fitted) | 16.22 | 16.82 | 23.42 | 34.52 | 39.36 | 32.71 | 28.26 | |
| High confidence (linear) | 5.06 | 12.26 | 30.84 | 37.82 | 33.32 | 27.32 | 29.19 | |
| Probability margin | 9.84 | 17.59 | 31.61 | 39.53 | 35.51 | 27.54 | 30.40 | |
| Predictive entropy | 4.45 | 7.81 | 20.51 | 32.49 | 25.73 | 19.79 | 28.59 | |
| Configuration | |||
|---|---|---|---|
| Warmup RLVR | 43.16 | 56.15 | 58.20 |
| Supervised warmup only | 28.61 | 38.28 | 43.75 |
| RLVR only | 42.68 | 47.66 | 50.39 |
| Remasking disabled (frozen) | 36.13 | 44.53 | 45.21 |
| Monotone policy (retrained) | 42.38 | 47.75 | 51.27 |
| Feature width | ||||
|---|---|---|---|---|
| 40.12 0.93 | 48.44 1.03 | 51.38 1.00 | 56.01 0.96 | |
| 43.68 1.27 | 50.59 0.48 | 54.30 0.64 | 57.68 0.48 | |
| 38.90 0.35 | 45.94 0.60 | 49.97 0.53 | 55.35 1.08 | |
| 40.13 0.42 | 47.12 1.12 | 49.97 0.76 | 54.03 1.10 |
| Occupancy control | Masks before finalization | Masked (%) | Accuracy (%) |
|---|---|---|---|
| None | |||
| Soft schedule loss | |||
| Fixed power-law calibration |
| Frozen-policy setting | |||
|---|---|---|---|
| Fitted: | 43.16 | 56.15 | 58.20 |
| 30.86 | 47.95 | 54.49 | |
| (linear) | 39.55 | 50.49 | 55.66 |
| 45.70 | 53.22 | 57.91 | |
| Calibration disabled | 26.66 | 25.20 | 25.59 |
| Policy | Parameters | Policy time (ms) | |||
|---|---|---|---|---|---|
| Two-layer DiT | 628,739 | 43.16 | 56.15 | 58.20 | 8.06 |
| One-layer DiT | 331,395 | 45.12 | 53.03 | 55.86 | 6.88 |
| Per-token MLP | 634,835 | 38.18 | 48.24 | 54.88 | 6.22 |
| Training configuration | |||
|---|---|---|---|
| 43.16 | 56.15 | 58.20 | |
| 39.16 | 49.32 | 53.22 |
| Method | Layers | Parameters | ||||||
|---|---|---|---|---|---|---|---|---|
| 1 | 331,395 | 17.38 | 25.98 | 45.12 | 53.03 | 55.86 | 59.47 | |
| 2 | 628,739 | 18.26 | 28.42 | 43.16 | 56.15 | 58.20 | 59.67 | |
| 1 | 331,395 | 12.70 | 20.90 | 40.43 | 52.64 | 58.79 | 61.33 | |
| 2 | 628,739 | 15.04 | 23.54 | 41.60 | 53.03 | 59.18 | 61.33 | |
| Jazbec et al. (2026) | 1 | 331,265 | 7.32 | 14.16 | 32.32 | 43.85 | 43.75 | 43.95 |
| Jazbec et al. (2026) | 2 | 628,609 | 7.23 | 11.62 | 20.70 | 40.33 | 43.65 | 44.82 |
| Method | Cap | Cap | Cap | Cap |
|---|---|---|---|---|
| TIPS (either geometry or depth) | 16.00 | 32.00 | 64.00 | 128.00 |
| Jazbec et al., one layer | 16.00 | 29.52 | 35.42 | 35.92 |
| Jazbec et al., two layers | 16.00 | 31.95 | 50.30 | 51.38 |
| Block | Phase | Native | Random reveal | Random remask | Random both |
|---|---|---|---|---|---|
| 1 | 0.25 | 44.42 | 41.29 | 43.65 | 40.52 |
| 1 | 0.50 | 44.42 | 43.32 | 42.33 | 42.33 |
| 1 | 0.75 | 44.42 | 44.91 | 44.58 | 43.87 |
| 2 | 0.25 | 44.42 | 41.89 | 43.05 | 41.34 |
| 2 | 0.50 | 44.42 | 40.79 | 43.76 | 40.79 |
| 2 | 0.75 | 44.42 | 42.99 | 44.53 | 43.21 |
| Policy / active block | Accepted references | Eligible | Too few tokens |
|---|---|---|---|
| 1047/1819 | 1047 | 0 | |
| , block 1 | 1095/1819 | 1095 | 0 |
| , block 2 | 1095/1819 | 948 | 147 |
| Policy / active block | Correct / eligible | Answer (%) | Restored (%) | (pp) | |
|---|---|---|---|---|---|
| 0 | 1038/1047 | 99.14 | — | +0.00 | |
| 1 | 1030/1047 | 98.38 | 42.50 | -0.76 | |
| 2 | 1022/1047 | 97.61 | 42.50 | -1.53 | |
| 4 | 1007/1047 | 96.18 | 43.79 | -2.96 | |
| 8 | 979/1047 | 93.51 | 46.41 | -5.64 | |
| , block 1 | 0 | 1076/1095 | 98.26 | — | +0.00 |
| Policy / active block | Restored | Learned reveal | Finalization | Transient only | |
|---|---|---|---|---|---|
| 1 | 445 | 434 | 11 | 0 | |
| 2 | 890 | 857 | 33 | 0 | |
| 4 | 1834 | 1767 | 67 | 0 | |
| 8 | 3887 | 3747 | 140 | 4 | |
| , block 1 | 1 | 838 | 736 | 102 | 0 |
| , block 1 | 2 | 1651 | 1442 | 209 | 2 |
| Policy / active block | Corrupt (%) | Clean (%) | |||
|---|---|---|---|---|---|
| 1 | 0.15 | 0.06 | +0.08 | +0.08 | |
| 2 | 0.19 | 0.06 | +0.13 | +0.13 | |
| 4 | 0.30 | 0.06 | +0.24 | +0.24 | |
| 8 | 0.54 | 0.07 | +0.47 | +0.49 | |
| , block 1 | 1 | 0.30 | 0.14 | +0.16 | +0.16 |
| , block 1 | 2 | 0.37 | 0.14 | +0.23 | +0.23 |
| Policy | Remasks | Visible (%) | All positions (%) | Steps (%) | Trajectories (%) | |
|---|---|---|---|---|---|---|
| 16 | 503,803 | 18.04 | 7.21 | 93.29 | 100.00 | |
| 32 | 1,119,399 | 17.97 | 7.75 | 96.57 | 100.00 | |
| 64 | 2,457,136 | 18.71 | 8.38 | 97.97 | 100.00 | |
| 16 | 324,263 | 30.50 | 9.95 | 85.31 | 100.00 | |
| 32 | 929,911 | 34.23 | 13.31 | 92.91 | 100.00 | |
| 64 | 2,315,040 | 38.11 | 16.04 | 96.02 | 100.00 |
| Policy | Changed | Changed (%) | Same (%) | Delay | Finalized | Special (%) | |
|---|---|---|---|---|---|---|---|
| 16 | 42,714 | 8.48 | 91.52 | 2.245 | 29,553 | 45.36 | |
| 32 | 72,426 | 6.47 | 93.53 | 2.699 | 16,413 | 36.39 | |
| 64 | 118,743 | 4.83 | 95.17 | 3.126 | 8,332 | 31.96 | |
| 16 | 22,988 | 7.09 | 92.91 | 1.198 | 48,771 | 25.16 | |
| 32 | 31,264 | 3.36 | 96.64 | 1.294 | 31,638 | 18.69 | |
| 64 | 42,633 | 1.84 | 98.16 | 1.412 | 17,001 | 14.76 |
| Policy | ||||||
|---|---|---|---|---|---|---|
| 16 | 46.23 | 24.02 | 16.99 | 17.26 | 17.70 | |
| 32 | 57.56 | 31.45 | 20.56 | 19.79 | 19.74 | |
| 64 | 63.39 | 40.85 | 31.34 | 25.73 | 23.91 | |
| 16 | 44.42 | 17.98 | 20.45 | 20.62 | 15.94 | |
| 32 | 60.20 | 24.85 | 22.76 | 26.06 | 20.67 | |
| 64 | 64.54 | 38.70 | 38.15 | 40.19 | 34.91 |
| Policy | Wrong correct | Correct wrong | (pp) | ||
|---|---|---|---|---|---|
| 16 | 0.25 | 267 | 152 | +6.32 | |
| 16 | 0.50 | 91 | 104 | -0.71 | |
| 16 | 0.75 | 42 | 50 | -0.44 | |
| 32 | 0.25 | 394 | 181 | +11.71 | |
| 32 | 0.50 | 137 | 122 | +0.82 | |
| 32 | 0.75 | 50 | 49 | +0.05 |
| Accuracy (%) | Answer transitions | |||||
|---|---|---|---|---|---|---|
| Dataset | Non-adjusted Fast-dLLM | (pp) | W C | C W | ||
| GSM8K | 1,319 | 79.30 | 79.61 | +0.30 | 4 | 0 |
| MATH-500 | 500 | 34.60 | 34.80 | +0.20 | 1 | 0 |
| Micro-average | 1,819 | 67.01 | 67.29 | +0.27 | 5 | 0 |
| Dataset | Method | Accuracy (%) | Mean decoder calls | ||||
|---|---|---|---|---|---|---|---|
| GSM8K | 41.77 | 55.72 | 63.84 | 16.00 | 32.00 | 64.00 | |
| GSM8K | Fast-dLLM | 25.32 | 30.78 | 34.57 | 15.48 | 32.75 | 66.33 |
| MATH-500 | 17.80 | 22.40 | 22.20 | 16.00 | 32.00 | 64.00 | |
| MATH-500 | Fast-dLLM | 16.40 | 18.60 | 17.80 | 17.50 | 30.70 | 58.21 |
| Micro-average | 35.18 | 46.56 | 52.39 | 16.00 | 32.00 | 64.00 | |
| Method | Geometry | HumanEval (164) | MBPP (500) | ||||
|---|---|---|---|---|---|---|---|
| UNCODE / PC-Sampler | 4.27 | 6.10 | 16.46 | 0.00 | 2.80 | 15.20 | |
| WINO | 15.24 | 21.95 | 24.39 | 16.20 | 26.80 | 32.40 | |
| WINO | 12.20 | 23.78 | 30.49 | 1.80 | 11.40 | 29.80 | |
| Non-adjusted Fast-dLLM | 15.24 | 21.95 | 23.78 | 16.80 | 23.40 | 26.20 | |
| Non-adjusted Fast-dLLM | 14.63 | 32.93 | 40.24 | 1.20 | 13.40 | 38.20 | |
| Method | Geometry | HumanEval (164) | MBPP (500) | ||||
|---|---|---|---|---|---|---|---|
| UNCODE / PC-Sampler | 4.27 | 6.10 | 16.46 | 0.00 | 2.80 | 15.20 | |
| WINO | 15.24 | 21.95 | 24.39 | 16.20 | 26.80 | 32.40 | |
| WINO | 12.20 | 23.78 | 30.49 | 1.80 | 11.40 | 29.80 | |
| Non-adjusted Fast-dLLM | 15.24 | 21.95 | 23.78 | 16.80 | 23.40 | 26.20 | |
| Non-adjusted Fast-dLLM | 14.63 | 32.93 | 40.24 | 1.20 | 13.40 | 38.20 | |
| Method | Geometry | HumanEval (164) | MBPP (500) | ||||
|---|---|---|---|---|---|---|---|
| UNCODE / PC-Sampler | 16.00 | 32.00 | 64.00 | 16.00 | 32.00 | 64.00 | |
| WINO | 15.84 | 25.26 | 31.24 | 15.94 | 25.20 | 33.71 | |
| WINO | 16.00 | 24.84 | 31.19 | 16.00 | 28.73 | 41.09 | |
| Non-adjusted Fast-dLLM | 13.21 | 18.83 | 21.01 | 14.95 | 23.45 | 28.65 | |
| Non-adjusted Fast-dLLM | 15.93 | 28.51 | 37.82 | 16.00 | 31.76 | 53.07 | |
| Target geometry | Dataset | |||
|---|---|---|---|---|
| GSM8K | 57.39 | 71.72 | 74.75 | |
| MATH-500 | 19.60 | 25.80 | 30.80 | |
| Micro-average | 47.00 | 59.10 | 62.67 | |
| GSM8K | 44.73 | 66.41 | 75.74 | |
| MATH-500 | 15.80 | 25.80 | 29.00 | |
| Micro-average | 36.78 | 55.25 | 62.89 |
| Proposal temperature | |||
|---|---|---|---|
| 0.0 | 47.00 | 59.10 | 62.67 |
| 0.1 | 48.32 | 58.11 | 63.33 |
| 0.5 | 46.89 | 56.02 | 62.62 |
| 1.0 | 37.77 | 51.35 | 60.75 |
| Domain | Policy | First 50 updates | Last 50 updates |
|---|---|---|---|
| Math | 38.19 | 50.73 | |
| Math | 37.55 | 50.41 | |
| Coding | 16.28 | 37.55 | |
| Coding | 13.66 | 27.41 |
| Setting | ||
|---|---|---|
| Response geometry | ||
| DiT layers / hidden width | ||
| Attention heads / head width | ||
| Feed-forward width | 512 | 512 |
| Confidence channels | 2 | 2 |
| Time-embedding width | 128 | 128 |
| Stage | Updates | State presentations | Initialization |
|---|---|---|---|
| Initial supervised warmup | 3,230 | 396,056 | Fresh policy |
| Refreshed supervised warmup | 4,074 | 495,070 | Initial warmup endpoint |
| Full-canvas RLVR | 935 | — | Refreshed warmup endpoint |
| Two-block RLVR | 935 | — | Same warmup endpoint |
| Setting | Supervised warmup | RLVR |
|---|---|---|
| Optimizer | AdamW | AdamW |
| Peak learning rate | ||
| Adam moments | ||
| Adam numerical constant | ||
| Weight decay | 0 | 0.1; 0 for bias/norm |
| Learning-rate warmup | 100 updates | 100 updates |
| Method | Configurations |
|---|---|
| Random / uniform | |
| High confidence | , fitted schedule; , linear schedule |
| Probability margin | |
| Predictive entropy | |
| Fast-dLLM | , mean-adjusted as described in section 4.1 |
| Non-adjusted Fast-dLLM | ; |
| Population | GSM8K | MATH / MATH-500 | Total |
|---|---|---|---|
| Gradient-training input | 6,280 | 6,496 | 12,776 |
| Validation and schedule fitting | 512 | 512 | 1,024 |
| Final mathematical-reasoning test | 1,319 | 500 | 1,819 |
Diffusion Language Model Decoding
Diffusion language model decoding generates text through iterative parallel refinement, balancing fewer denoising steps with accuracy, coherence, and control.
See all 235 papers