Co jsme naměřili při zapnutí MTP
Ověření proběhlo na serveru se dvěma kartami NVIDIA GeForce RTX 5060 Ti 16 GB a RTX 3050 6 GB — tedy na běžné, a hlavně nevyvážené spotřebitelské sestavě, nikoli na pracovní stanici. Model Qwen3.8-27B jsme spustili v kvantizaci Q4_K_M přes llama.cpp, abychom porovnali běžné generování s režimem multi-token predikce.
Základní rychlost generování byla 15,9 tokenu za sekundu. Po zapnutí multi-token predikce (zkráceně MTP) se číslo zvedlo podle toho, jak hluboko jsme modelu dovolili tipovat dopředu:
- bez MTP: 15,9 tokenu za sekundu
- MTP s hloubkou 2: 26,8 tokenu za sekundu (+69 %)
- MTP s hloubkou 3: 25,4 tokenu za sekundu (+60 %)
- MTP s hloubkou 4: 26,1 tokenu za sekundu (+64 %)
Nejlepší výsledek dala hloubka 2, a to konzistentně. U programovacích úloh se rychlost dostala ještě výš — na 29,4 tokenu za sekundu u Pythonu a 26,8 u skriptu v bashi. U souvislé prózy byl nárůst skromnější (20,9 tokenu za sekundu), protože právě tam tipovací hlava častěji chybuje.
Jak MTP v llama.cpp funguje
Běžný jazykový model generuje text po jednom tokenu — každé další slovo vypočítá jedním průchodem sítí. To je pomalé, protože grafická karta při každém kroku přečte celé váhy modelu z paměti. Qwen3.8 k tomu přidal multi-token prediction, tedy menší „tipovací hlavu", která dokáže navrhnout víc tokenů najednou.
Technika se nazývá spekulativní dekódování: malá hlava rychle navrhne dva tokeny, hlavní model je pak ověří jediným průchodem. Pokud tipy sedí, ušetří se celý drahý výpočet. Když se hlava splete, nic se neztratí — model prostě pokračuje klasicky. Proto je zrychlení „zdarma": nevzniká žádná ztráta kvality, jen se lépe využívá hardware.
Jediný parametr, který MTP aktivuje
Klíčové zjištění je, že tipovací hlava je už součástí staženého modelu. Kvantizéry ji nevyhodily — tensory blk.*.nextn.* leží v GGUF souboru a llama.cpp je načítá. Bez přepínače je ale ignoruje. Stačí přidat jeden parametr při startu serveru:
--spec-type draft-mtp --spec-draft-n-max 2 --parallel 1
To je celé. Žádná konverze, žádný vlastní build, žádný nový soubor. Schopnost tam byla od začátku, jen ji nikdo nezapnul. Podporu pro tento režim přidal llama.cpp letos v létě v pull requestu #22673.
Proč nastavení zůstává snadno přehlédnutelné
Multi-token predikce není nový vynález, ale do velkého otevřeného modelu se dostala nenápadně. U Qwen3.8 nebyla v popředí oznámení — firma zdůrazňovala multimodální vstup a dlouhý kontext. Přitom právě tipovací hlava je důvod, proč model na spotřebním hardwaru najednou dává smysl.
Komunita kolem repozitáře qwen38-mtp během dvou dnů sesbírala výsledky z desítek sestav. Podle jejich měření zrychluje parametr RTX 3090 o 33 procent, RTX 5090 o 39 procent a u slabších, paměťově omezených karet ještě výrazněji. Nejhůře na tom je přesně ten typ karty, na kterém model běží pomalu — tam je přínos největší.
Kde se výhoda MTP ztrácí
Je férové dodat, kde se zázrak konat nebude. Spekulativní dekódování je optimalizace pro jeden uživatelský proud. Jakmile server obsluhuje víc paralelních požadavků, grafická karta má už tak dost práce a tipovací hlava nemá kde brát volný výpočetní čas. Při čtyřech souběžných streamech se výhoda prakticky ztrácí.
Druhé omezení je vidět v našich vlastních číslech: u souvislé prózy je nárůst menší než u kódu, protože předvídat další větu je těžší než předvídat další řádek funkce. A naše sestava s pomalejší RTX 3050 jako druhou kartou zůstává limitovaná její šířkou pásma — absolutní rychlost je u nás nižší než u vyvážených dvoukaret, relativní zisk je ale stejný.
Co nastavení mění při lokálním běhu
Praktický dopad je jednoduchý: 27miliardový model, který byl ještě před pár dny na hranici použitelnosti, se dostává do pásma, kde se s ním dá skutečně pracovat. Rozdíl mezi 16 a 27 tokeny za sekundu je v praxi rozdíl mezi čekáním u každé odpovědi a plynulým čtením.
Pro vývojáře, kteří chtějí model používat k programování, je doporučení jasné: hloubku 2 pro běžnou práci, hloubku 3, pokud se relace skládá výhradně z kódu. A pokud karta nestačí na plné načtení modelu, vyplatí se nejdřív vyřešit rozdělení vrstev mezi karty — na dvoukartách to samo o sobě umí přidat desítky procent.
Musím si kvůli aktivaci MTP stáhnout nový nebo upravený model?
Ne. Tipovací hlava je už součástí běžného GGUF souboru od Unsloth. Stačí přidat parametr --spec-type draft-mtp --spec-draft-n-max 2 při spuštění llama.cpp serveru. Žádná konverze ani nový soubor není potřeba.
Funguje MTP i na jiných modelech než Qwen3.8?
Ano, ale jen u modelů, které mají natrénovanou multi-token predikci. Qwen3.8 ji má, u starších modelů bez této hlavy parametr nic neudělá. Spekulativní dekódování jako techniku podporuje llama.cpp i s externím návrhovým modelem, ale pak už to není „zdarma" — je potřeba druhý model.
Sníží se po zapnutí MTP kvalita odpovědí?
Ne. Spekulativní dekódování je čistě o rychlosti — návrhy tipovací hlavy hlavní model vždy ověří. Výsledný text je identický s tím, co by model vygeneroval klasicky. Ztráta kvality nenastává.