Notes · Method note 01
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.
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.\(\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.
x_{t+2} for the price of one small block, and the main model verifies the proposal in the next forward pass. DeepSeek-V3: the second token is accepted 85–90% of the time across domains, giving about 1.8× tokens per second. No separate drafter to train, serve, or keep in sync.| Model | Form | Loss weight | Inference use | Post-training note |
|---|---|---|---|---|
| Gloeckle et al. 2024 (Meta) | n independent heads off \(h_{t}\), no chaining; \(n = 4\) best for code | equal to main | self-speculative decoding, up to 3× faster | gains appear only at scale \((\ge 7\text{B})\); helps bytes and code most |
| DeepSeek-V3 | 1 sequential MTP module (1 layer, shared head, shared embedding) | 0.3 → 0.1 after 10T tokens | 2nd-token acceptance 85–90%, \(\approx 1.8\times\) TPS | kept through post-training; the form everyone copied |
| Nemotron 3 Super | 2 MTP layers with shared parameters | 0.3 aux loss during SFT | native speculative decoding | final MTP healing stage: heads retrained on RLVR prompts with the backbone frozen, because RL moved the trunk and acceptance collapsed |
| Kimi K3 | pretrained MTP layer | — | fine-tuned into an EAGLE-3-style draft: target frozen, 7-step unroll, features from 1st / 4th / last blocks | trained on the acceptance-rate loss \(-\log \Sigma \min (p, q)\) directly instead of a KL surrogate; QAT-matched to serving precision |
| DeepSeek V4 | MTP retained from V3 | — | speculative decoding; also used inside RL rollouts | rollout engine relies on it; FP4 QAT applied so sampling matches deployment |
| Gemma 4 | autoregressive MTP drafter fed the main model's activations and KV cache | — | speculative decoding on-device | shipped as a separate drafter checkpoint |
| GLM-5 | MTP in the model | — | used in the RL rollout engine (slime) to cut tail latency for small-batch decoding | an 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.
x_{t+2} without knowing x_{t+1}, so their drafts are less coherent; the sequential module conditions on it, which is why the DeepSeek form is the one used for drafting.