All news

Multi-token prediction landt in llama.cpp (beta)

PR #22673 integreerde MTP-ondersteuning in llama.cpp op 16 mei 2026. Een community-benchmark op Qwen 3.6-27B rapporteerde een sprong in decode-snelheid van 38 naar 65 tok/s op een enkele RTX 5090 — een speedup van 1,71×.

Multi-token prediction (MTP) werd op 16 mei via PR #22673 door am17an in llama.cpp geïntegreerd. De feature komt in beta — achter het flag --mtp op llama-cli en llama-server, standaard uitgeschakeld.

Een community-benchmark gepost binnen de eerste dag na de merge rapporteerde: Qwen 3.6-27B decodeert op 65 tok/s op een enkele RTX 5090, tegenover 38 tok/s zonder MTP — een speedup van 1,71× op Q4_K_M zonder waarneembare kwaliteitsregressie in side-by-side prompt-vergelijkingen. Dat is voorlopig het enige datapunt; bredere build × model dekking vraagt nog een paar refresh-cycli.

Wat MTP eigenlijk is

Het model wordt getraind met extra output-heads die de volgende 2, 3 of 4 tokens tegelijk voorspellen vanuit dezelfde gedeelde backbone hidden state. De main head loopt vervolgens opnieuw om de kandidaat-sequence te verifiëren. Komen de speculatieve tokens overeen, dan krijg je ze praktisch gratis. Zo niet, dan val je voor die stap terug op token-voor-token decoding.

Dit comprimeert wat speculative decoding traditioneel doet — een klein draft-model naast een groot target-model laten lopen — in één model met ingebouwde prediction-heads. De overhead is grofweg één extra transformer-laag per extra predictie-positie, geen volledig tweede netwerk. De geheugenkost is klein; de throughput-kost bij gefaalde verificaties is het belangrijkste nadeel, maar op modellen die voor MTP getraind zijn ligt de hit-rate hoog genoeg om de gemiddelde decoding merkbaar sneller te maken.

Wat dit van het model vraagt

MTP heeft prediction-heads nodig die in de training ingebakken zijn — de runtime kan ze niet achteraf synthetiseren. De geciteerde benchmark gebruikte Qwen 3.6-27B op Q4_K_M; het --mtp-flag is een no-op voor elk model waarvan het checkpoint de extra head-gewichten niet bevat, dus het flag standaard aan laten staan doet geen kwaad.

Het DeepSeek-V3-paper maakte MTP populair als hulp-objectief tijdens training. Welke open-weights modellen die na het DeepSeek-V3-paper zijn uitgebracht de heads in hun publieke checkpoints meedragen — en hoeveel posities vooruit — catalogiseren we per model bij de volgende data-refresh, met directe citaat van elke model card in plaats van architecturale geruchten.

Voorbehouden

  • Beta betekent beta. PR #22673 zelf wijst erop; verwacht ruwe kanten en houd de gelinkte llama.cpp issue-tracker in de gaten voordat je er in productie op leunt.
  • Speedups schalen met wat decoding bottleneckt. Op compute-rijke, bandwidth-gevoede rigs heeft de speculatieve passage ademruimte; op bandwidth-gelimiteerde rigs krimpt de winst. De 1,71× op een 5090 is één punt op die gradient — neem niet aan dat het universeel is.

Hoe te activeren

Bouw llama.cpp vanaf main na 16 mei en geef --mtp mee aan llama-server of llama-cli. Upstream-ondersteuning in Ollama, LM Studio en Jan loopt doorgaans één release-cyclus achter op llama.cpp main — check de release notes van elke runtime voor de eerste build die het overneemt.

Bronnen