LLM·

TIPS 600K-parameter controller — Learned unmask-and-remask decoding — What does it mean?

The news. On October 15, 2026, researchers from ServiceNow AI Research, Mila and HEC Montréal posted TIPS, a controller of about 600K parameters that steers a frozen masked diffusion language model. On GSM8K and MATH-500 (two math word-problem benchmarks) with LLaDA-8B-Instruct it reaches 58.46% accuracy at a budget of 32 decoder calls, 12.1 points above the strongest baseline in the paper's main comparison. Read the paper →

Picture solving a crossword with a pencil and an eraser, where a referee lets you check the whole grid only 32 times. Every blank square is a masked position. At each check the model proposes a letter for every blank square, and you decide which proposals to pencil in. Pencil in too few and the checks run out with squares still blank. Pencil in too many and a wrong letter sits in the grid, where it shapes every later proposal, because each check reads the whole grid, filled squares included.

Many diffusion samplers play this with a fixed rule, such as "pencil in the squares whose confidence is above a threshold", and many of them only ever add squares. TIPS hands the pencil and the eraser to a small learned player. After each check it scores every square and decides, square by square, whether that square is visible in the next grid: a blank square can be revealed or left blank, and a filled square can stay or be erased back to blank. The erase action is remasking. Compare autoregressive generation, where causal masking means a token, once emitted, is never reconsidered.

The controller sees two numbers per position. The first is the log-odds of the token currently in that slot (the log of its probability divided by one minus its probability): the decoder's greedy proposal if the slot is masked, the already visible token if it is not. The second is the log-ratio between that token's probability and the best competing token's, which is negative exactly when the decoder now prefers a different token. These features, a mask flag and the normalized decoding time go into a two-layer transformer that outputs one visibility logit per position. Anchoring the features to the visible token matters: in 73,930 of 3,407,617 recorded visible-position events (2.17%), the decoder's top-1 token differed from the token already in the slot, so a plain top-1 confidence would describe the wrong token.

TIPS separates order from pace. The network says which squares it prefers; a fixed power-law schedule, κ(τ) = τ^exp(γ), says how many squares should be visible at each pass, and one shared shift added to every logit makes the expected visible fraction match the schedule. Because the same shift is added to every square, it never changes the ranking the network learned. Training updates only the controller, in two stages: supervised warmup against reference responses, then 935 reinforcement-learning updates (GRPO) from a terminal correctness reward on the GSM8K and MATH training sets, with no gradient through the decoder.

Run the pace arithmetic on the paper's setup: a 256-token response and 32 decoder calls, with the fitted exponent γ ≈ 0.145 for the full-canvas variant. Then exp(γ) ≈ 1.156, and after the 16th call the schedule targets (16/32)^1.156 ≈ 0.45 of the canvas, about 115 visible tokens against 128 for a linear schedule (illustrative arithmetic from the paper's formula). The curve is slightly back-loaded: early passes reveal few tokens, late passes reveal many.

Now the failure the schedule prevents. In the paper's RLVR-only comparison (single-layer policies, 32 calls, three training seeds), a policy with no pace control still had 57.11% of positions masked, about 146 tokens, after the last learned step, so the final call had to fill them all at once, and accuracy was 45.90%. With the fixed schedule only 6.89%, about 18 tokens, remained masked, and accuracy rose to 50.83%.

Method (source: the paper)Accuracy at 32 decoder callsSetup
TIPS, full canvas58.46%one 256-token canvas
TIPS, two blocks57.97%two blocks decoded in turn
WINO46.34%strongest baseline in the main comparison
Fast-dLLM37.93%8 blocks of 32 tokens
UNCODE29.74%one 256-token canvas
Jazbec et al. (2026)12.39%learned unmasking policy, expert-steering variant

Does the eraser matter? The authors ran two controls on 1,024 validation problems with one seed. Turning remasking off at inference for the trained policy cost 7.03 to 12.99 points across budgets of 16, 32 and 64 calls. Retraining a reveal-only policy from scratch recovers part of the loss, but it still sits 0.78, 8.40 and 6.93 points below the reversible policy at those budgets. The ability to take a revealed token back accounts for a large part of the gain. The authors suggest the benefit is not only replacing a wrong token: hiding a harmful token also removes it from the context every other position reads.

Configuration (validation set, source: the paper)16 calls32 calls64 calls
Warmup then RLVR (full TIPS)43.16%56.15%58.20%
Supervised warmup only28.61%38.28%43.75%
RLVR only42.68%47.66%50.39%
Remasking disabled at inference36.13%44.53%45.21%
Reveal-only policy, retrained42.38%47.75%51.27%

Three limits keep the result in proportion. First, the paper's budget counts decoder calls, not wall-clock time; the controller adds its own small computation on top of the 8B decoder. Second, the gain is largest at small budgets: at 256 calls the block variant reaches 68.18%, against 67.73% for UNCODE and 67.01% for Fast-dLLM, margins of 0.45 and 1.17 points. Third, the main evaluation is math (GSM8K and MATH-500) on LLaDA-8B-Instruct, though the authors also report transfer experiments, including running the same policy on Dream-7B-Instruct without retraining.

Goes deeper in: LLM Internals → Text Generation → One Token at a Time

Related explainers

Continue in trackLLM Internals — Text Generation: how autoregressive decoding works

Frequently Asked Questions

Check what you knowMap your AI & GPU knowledge across every track — free, role-based