Innhold Vis
llama.cpp har fått MTP-støtte i beta – Multi-Token Prediction, teknologien som lar en AI-modell gjette flere tokens samtidig i stedet for én om gangen. Det betyr konkret at lokal inferens nå kan bli 2-3 ganger raskere, uten at du trenger ny maskinvare.
MTP er ikke nytt konsept – jeg har skrevet om det tidligere i pillarartikkelen om speculative decoding og MTP. Men det har vært et problem at selve inferensrammeverket folk faktisk bruker lokalt – llama.cpp – ikke støttet det. Det endrer seg nå.
Bidraget kom fra Aman (GitHub-bruker am17an), med hjelp fra en rekke andre bidragsytere som har dyttet på ulike relaterte issues over tid. Foreløpig støtter implementasjonen Qwen3.5-arkitekturen, men andre modeller er på vei.
Hva er MTP i llama.cpp, og hvorfor er det viktig?
Standard inferens i llama.cpp genererer én token om gangen. For hvert token må hele modellen gjennom en forward pass – det er tidkrevende, og det er her MTP gjør en forskjell. Med MTP kan modellen forutsi 2-4 tokens per pass og verifisere dem i én operasjon. Akseptrater på 72-83% er rapportert i tidlige tester.
I praksis: en Qwen 3.6 27B-modell som normalt genererer rundt 7 tokens per sekund, kom opp i 15-21 tokens per sekund med MTP aktivert og 3 draft-tokens. Testet med veggklokke gikk samme oppgave fra 201 sekunder ned til 83,8 sekunder. Det er nesten 2,4 ganger raskere.
llama.cpp er verktøyet svært mange bruker for lokal AI – det er gratis, open source, og kjører på nesten alt fra en gammel Mac til en maskin med RTX 4090. At MTP nå integreres direkte her betyr at gevinsten er tilgjengelig uten å bytte til mer komplekse rammeverk.
Hvordan skiller MTP seg fra vanlig speculative decoding?
Vanlig speculative decoding bruker en separat liten «draft model» som gjetter neste tokens, mens den store modellen verifiserer. Det fungerer, men krever to separate modeller og litt ekstra koordinering.
MTP er annerledes fordi det er bakt inn i modellens arkitektur under trening. Modellen har egne «MTP-hoder» – ekstra lag som er trent til å gjette flere tokens fremover. Dermed trenger du ikke en ekstern draft-modell. Alt skjer inni én og samme GGUF-fil.
Jeg gikk grundig gjennom teknologien bak dette i artikkelen om MTP og speculative decoding, og Google-casen med Gemma 4 er interessant her: de fjernet MTP fra de offentlig tilgjengelige modellvektene, angivelig på grunn av integrasjonsproblemer med llama.cpp. Litt ironisk at llama.cpp nå faktisk løser akkurat det problemet.

Hvilke modeller støttes i dag?
Per nå er Qwen3.5-arkitekturen støttet. Bidraget ble testet med Qwen 3.6 27B, som har ferdige GGUF-filer tilgjengelig på Hugging Face. Det er de samme modellene som DeepSeek V3 og Qwen brukte for å demonstrere MTP mens Googles Gemma 4 lot det ligge.
Andre modeller med MTP-hoder vil trolig følge etter hvert. Implementasjonen er designet generelt nok til å håndtere ulike MTP-arkitekturer, så når modellvektene finnes i GGUF-format og MTP-hodene er inkludert, er terskelen lav for å legge til støtte.
Hva skjer med tensor-parallel support i llama.cpp?
MTP er ikke den eneste store nyheten i llama.cpp for øyeblikket. Tensor-parallel-støtte – altså evnen til å dele en modell over flere GPU-er – er også i ferd med å modnes. Disse to tingene til sammen betyr at ytelsesgapet mellom llama.cpp og vLLM, som lenge har vært tydelig spesielt på token-genereringshastigheter, ser ut til å lukke seg raskt.
vLLM er det foretrukne rammeverket for produksjonsmiljøer med høy gjennomstrømning – men det krever Linux, er langt mer komplisert å sette opp, og er ikke akkurat beregnet på enkeltbrukere med én GPU. llama.cpp er det motsatte: enkelt, bredt kompatibelt, og kjører på alt. At ytelsesforskjellen nå krymper er en reell seier for lokal AI. Du kan lese mer om bakgrunnen i artikkelen om spekulativ dekoding i praksis.
Er llama.cpp MTP klar til bruk?
Betastatus betyr at det er klart for testing, men ikke nødvendigvis produksjonsklar for alle oppsett. Pull requesten (#22673) er fortsatt markert som draft på GitHub, og det gjenstår diskusjoner om minnehåndtering og refaktorering. Aman er den primære bidragsyteren, men merker at man er avhengig av noen relaterte PRs for full funksjonalitet.
Roadmapen ser lovende ut. Bidraget er nær nok til å bli merget «snart» ifølge de som følger prosjektet tett. Og det er sjeldent man kan si om et open source-prosjekt at én contributor plutselig halverer inference-tider for titusenvis av brukere.
Bruker du Qwen3.5-modeller lokalt? Da er dette verdt å prøve nå. For alle andre: hold øye med llama.cpp-releasene de neste ukene.