Notes · Method note 01

Multi-token prediction

A normal language-model head predicts the next token. MTP adds a small extra head that predicts the token after that from the same hidden state. It costs almost nothing in parameters, it makes the training signal denser, and at inference it doubles as a draft model that lives inside the main model — which is why every 2026 frontier open model ships one.

Fig 1 · What is added at training time

x₁x₂x₃x_t shared transformer trunk L layers · unchanged h_t output head x̂_{t+1} L_main = CE h_t (normalized) Emb(x_{t+1}) the true next token,available at training time normalized concat → linear projection MTP block · 1 transformer layer output head ← same weights x̂_{t+2} λ · L_MTP = λ·CE
DeepSeek-V3's sequential form, the one most 2026 models inherit. The grey parts already exist. The teal parts are the addition: the trunk's hidden state at t is concatenated with the embedding of the true next token, projected, passed through one transformer layer, and decoded by the same output head to predict x_{t+2}. Gloeckle et al.'s original form is simpler and more parallel — n independent heads straight off h_t, no chaining — but the sequential version keeps the causal chain intact, which is what makes it a usable drafter later.

The math in three lines

\[L \;=\; L_{\text{main}} \;+\; \lambda\cdot\sum_{k} L^{(k)}_{\text{MTP}}\] // \(k = 1\) for one extra token; DeepSeek-V3 uses \(k = 1\), Gloeckle et al. up to 4 \[h^{(k)}_t \;=\; \operatorname{Block}_k\!\Big(W_k\,\big[\,\operatorname{RMSNorm}\big(h^{(k-1)}_t\big)\,;\ \operatorname{RMSNorm}\big(\operatorname{Emb}(x_{t+k})\big)\,\big]\Big)\] // \(h_{t}^{(0)}\) is the trunk output \[p\big(x_{t+k+1}\mid\cdot\big) \;=\; \operatorname{softmax}\big(W_{\text{out}}\, h^{(k)}_t\big)\] // \(W_{\text{out}}\) is shared with the main head

\(\lambda\) is the only knob. DeepSeek-V3 uses 0.3 for the first 10T tokens and 0.1 after; Nemotron 3 Super uses 0.3 throughout SFT. The MTP block is one layer out of 60–90, so the parameter and FLOP overhead is a few percent.

Why it is kept

Fig 2 · What happens at inference

step 1 · one main forward pass trunk at position t output head → a MTP head → draft b for x_{t+2}, guessed before a is even fed back step 2 · one main forward pass over [a, b] trunk sees a and b together main's prediction after a == b ? yes → accept both · 2 tokens / pass no → drop b, keep main's token · 1 / pass
Verification is exact: the accepted sequence is distributed exactly as the main model would have sampled it, because the main model's own prediction is what decides. Throughput scales with the acceptance rate, which is why that — not the draft's standalone accuracy — is the number reports quote. Chaining more MTP steps drafts more tokens per pass but each additional draft is accepted less often.

Where it appears in the reports

ModelFormLoss weightInference usePost-training note
Gloeckle et al. 2024 (Meta)n independent heads off \(h_{t}\), no chaining; \(n = 4\) best for codeequal to mainself-speculative decoding, up to 3× fastergains appear only at scale \((\ge 7\text{B})\); helps bytes and code most
DeepSeek-V31 sequential MTP module (1 layer, shared head, shared embedding)0.3 → 0.1 after 10T tokens2nd-token acceptance 85–90%, \(\approx 1.8\times\) TPSkept through post-training; the form everyone copied
Nemotron 3 Super2 MTP layers with shared parameters0.3 aux loss during SFTnative speculative decodingfinal MTP healing stage: heads retrained on RLVR prompts with the backbone frozen, because RL moved the trunk and acceptance collapsed
Kimi K3pretrained MTP layer—fine-tuned into an EAGLE-3-style draft: target frozen, 7-step unroll, features from 1st / 4th / last blockstrained on the acceptance-rate loss \(-\log \Sigma \min (p, q)\) directly instead of a KL surrogate; QAT-matched to serving precision
DeepSeek V4MTP retained from V3—speculative decoding; also used inside RL rolloutsrollout engine relies on it; FP4 QAT applied so sampling matches deployment
Gemma 4autoregressive MTP drafter fed the main model's activations and KV cache—speculative decoding on-deviceshipped as a separate drafter checkpoint
GLM-5MTP in the model—used in the RL rollout engine (slime) to cut tail latency for small-batch decodingan infra reason to keep it: RL rollouts are exactly the small-batch regime where drafting pays most

Nemotron, Kimi and DeepSeek V4 stage details are on the LLM report diff.

Pitfalls

Sources

Better & Faster Large Language Models via Multi-token Prediction — Gloeckle et al., 2024 · alphaXiv
DeepSeek-V3 Technical Report, §2.2 (MTP) and §5.4.3 (acceptance rate) · alphaXiv
EAGLE-3 — the separate-drafter design Kimi K3 converts its MTP layer into · alphaXiv
Raschka · LLM Architecture Gallery · MTP — parallel vs sequential forms across DeepSeek-V3, Qwen3-Next, Step 3.5 Flash, Nemotron · explainer
Nemotron 3 Super report §2.1.2, §3.1, §3.2 (MTP healing) · Kimi K3 report §4.1.4 (draft fine-tuning) · DeepSeek-V4 report · Gemma 4 report §2.6