Multi-token prediction (MTP) integrerades i llama.cpp den 16 maj via PR #22673 av am17an. Funktionen levereras i beta — bakom flaggan --mtp på llama-cli och llama-server, av som standard.
Ett community-benchmark publicerat inom första dygnet efter mergen rapporterade: Qwen 3.6-27B avkodar med 65 tok/s på ett enskilt RTX 5090, mot 38 tok/s utan MTP — en speedup på 1,71× vid Q4_K_M utan märkbar kvalitetsregression i sida-vid-sida-jämförelser av prompts. Det är den enda datapunkten vi har än så länge; bredare täckning av build × modell kommer ta ett par refresh-cykler.
Vad MTP faktiskt är
Modellen tränas med extra output-huvuden som förutsäger nästa 2, 3 eller 4 tokens samtidigt från samma delade backbone-dolda tillstånd. Huvudhuvudet körs sedan igen för att verifiera kandidatsekvensen. Om de spekulativa tokenen matchar får du dem i praktiken gratis. Om inte faller man tillbaka på token-för-token-avkodning för det steget.
Detta komprimerar vad speculative decoding traditionellt gör — att köra en liten draft-modell vid sidan av en stor target-modell — till en enda modell med inbyggda prediktionshuvuden. Overhead är ungefär ett ytterligare transformer-lager per extra prediktionsposition, inte ett helt andra nätverk. Minneskostnaden är låg; throughput-kostnaden vid misslyckade verifikationer är den huvudsakliga nackdelen, men på modeller tränade för MTP är träffsäkerheten tillräckligt hög för att den genomsnittliga avkodningen ska bli märkbart snabbare.
Vad detta kräver av modellen
MTP kräver prediktionshuvuden som bakats in i träningen — runtimen kan inte syntetisera dem i efterhand. Det citerade benchmarket använde Qwen 3.6-27B vid Q4_K_M; flaggan --mtp är en no-op för alla modeller vars checkpoint saknar de extra huvudens vikter, så att lämna flaggan på som standard skadar inget.
DeepSeek-V3:s artikel populariserade MTP som ett hjälpobjektiv under träning. Vilka open-weights-modeller släppta efter DeepSeek-V3:s artikel som bär huvudena i sina publika checkpoints — och hur många positioner framåt — kommer vi katalogisera per modell vid nästa data-refresh, med direkt citat till varje model card snarare än arkitekturella rykten.
Förbehåll
- Beta betyder beta. PR #22673 själv flaggar detta; räkna med vassa kanter och håll koll på den länkade llama.cpp-issue-trackern innan du litar på det i produktion.
- Speedups skalar med vad som flaskhalsar avkodningen. På compute-rika, bandbredds-matade riggar har det spekulativa passet utrymme; på bandbreddsbegränsade riggar krymper vinsten. 1,71× på en 5090 är en punkt på den gradienten — anta inte att den är universell.
Hur du aktiverar
Bygg llama.cpp från main efter 16 maj och skicka --mtp till llama-server eller llama-cli. Upstream-stöd i Ollama, LM Studio och Jan släpar typiskt en release-cykel efter llama.cpp main — kolla release notes för varje runtime för den första build som plockar upp det.
Källor
- llama.cpp PR #22673 — MTP-stöd (am17an, sammanslagen 2026-05-16)
- Community-gist: köra Qwen 3.6 med MTP (38 → 65 tok/s på RTX 5090, benchmark)
- Multi-token prediction-tutorial — DataCamp