vLLM 0.26.0 bere tři, pět i sedm bitů na váhu. Dva bity model v měření položily
Nástroje pro běh jazykových modelů zmenšují váhy skoro vždy na osm nebo čtyři bity. Vydání vLLM 0.26.0 z 27. července 2026 přidalo dvě schémata, která ke kratším šířkám přiberou i kvantizovaný vstup. Měření zveřejněné spolu se změnou ukazuje, že pět, šest a sedm bitů vychází prakticky stejně, kdežto při dvou bitech se model prostým zaokrouhlením rozsype.

Jazykový model je v paměti hromada čísel, kterým se říká váhy. Bývá jich miliardy a skoro nikdo je nepoužívá tak, jak vyšly z trénování: šestnáct bitů na jednu váhu se zmenší na osm nebo čtyři. Tomu se říká kvantizace. Šířky mezi tím – tři, pět, šest, sedm bitů – dávají smysl taky, jen s nimi obslužné nástroje dlouho neuměly pracovat.
Vydání 0.26.0 serveru vLLM z 27. července 2026 v tom postoupilo o kus dál. Přibyla v něm dvě schémata, wNa4 a wNa8, která ke krátkým vahám přiberou ještě vstup zmenšený do čtyř, respektive osmi bitů. Popis v kódu mluví o souborech s vahami o dvou až osmi bitech, návrh, který je přinesl, se jmenuje podle šířek dvě až sedm.
Samotné neobvyklé šířky přitom nejsou to nové. Porovnali jsme zdrojový kód obou vydání: seznam podporovaných šířek pro váhy s nezmenšeným vstupem je ve značce v0.26.0 i ve starší v0.25.1 stejný a obsahuje dvojku až osmičku. Nové jsou soubory obou schémat s kvantizovaným vstupem; ve starším vydání nejsou vůbec.
Počítá to knihovna, kterou si musíte doinstalovat
Vlastní násobení matic obstarává Humming, knihovna výpočetních jader od organizace inclusionAI pod licencí Apache 2.0. Tabulka podpory v jejím souboru README uvádí u šestnáctibitových vstupů celočíselné váhy o jednom až osmi bitech a jako nejstarší podporované karty NVIDIA generaci Turing. Jádra se překládají až za běhu a balíček má podle README něco přes 100 kB.
Ve vLLM to není novinka: soubor s tímto výpočetním rozhraním je i ve vydání 0.24.0 z 29. června 2026. Rozhraní si klade podmínky, které stojí přímo v kódu: běží jen na CUDA, odmítne se, když knihovna Humming není nainstalovaná, a neumí přeuspořádání vah podle aktivací. Vstup navíc musí být zmenšený symetricky a dynamicky; statické ani nesymetrické schéma nepřijme.
Zabalení, ve kterém nezůstávají mezery
Váhy kratší než bajt se ukládají po několika do 32bitového slova. Knihovna compressed-tensors, ze které vLLM tyhle soubory čte, to do svého posledního označeného vydání 0.17.1 z 11. června 2026 dělala celočíselným dělením: kolik vah se do slova vejde celých, tolik se jich tam dá, a zbytek slova zůstane prázdný. Od změny sloučené 22. června 2026 se váhy balí hustě, přes hranice slov, a počet slov vychází jako ceil(počet vah × bity / 32).
Kolik to dělá, jsme si přepočítali sami. U jednoho, dvou, čtyř a osmi bitů se nemění nic, protože 32 je jimi dělitelné beze zbytku. U sedmi bitů se do slova vešly čtyři váhy, takže sedmibitový model po starém zabral přesně tolik místa jako osmibitový. Tři bity vycházely na 3,2 bitu, pět bitů na 5,33 a šest na 6,4.
Rozvaha, ze které změna vzešla, je veřejná jako hlášení číslo 719 a má v sobě tabulku ztracených bitů. Mezi šířkami, které místo ztrácejí, její text jmenuje i čtyři bity, přestože ty se podle téže tabulky do slova vejdou beze zbytku. Podstatnější je něco jiného: husté balení leží zatím jen v hlavní větvi. Poslední označené vydání compressed-tensors je o jedenáct dní starší než ta změna.
Kde se model rozpadne
Spolu se změnou vyšlo i měření. Zveřejnil ho její autor v návrhu 2821 v repozitáři llm-compressor a jde o model Meta-Llama-3-8B-Instruct zmenšený nejjednodušší možnou metodou, tedy prostým zaokrouhlením na nejbližší úroveň, bez jakékoli kalibrace. Sleduje se perplexita na slovo, zhruba tedy mezi kolika slovy model při každém dalším slově váhá; čím níž, tím líp.
Sedm bitů dalo 10,3381, šest 10,3401 a pět 10,4260 – mezi sebou se skoro neliší. U tří bitů vyskočila hodnota na 29,0214 a u dvou bitů na 2 071 699. To už není horší model, to je model, který přestal počítat s textem.
Dvě věci z té tabulky stojí za povšimnutí. Nesymetrické schéma, které si ke každé skupině vah pamatuje navíc posun nuly, srazilo tři bity z 29,0214 na 19,3488 a dva bity z milionů na 205 644 – pořád nepoužitelné, ale desetkrát níž. A zmenšení vstupu na osm bitů u pěti až sedmi bitů skoro nic nestojí (pět bitů 10,4563 místo 10,4260), kdežto čtyřbitový vstup u tříbitových vah zvedl výsledek na 2 690,4775.
Co v tabulce naopak není: řádek s nezmenšeným modelem, takže se šířky dají porovnávat jen mezi sebou, a údaj o tom, na jakém textu se měřilo. Starší běhy jsou v témže návrhu označené jako staré a u tříbitových vah dávaly kolem 3 604 místo 29 – na nízkých šířkách je tedy výsledek citlivý i na podrobnosti provedení. Měřil to člověk, který změnu napsal, a veřejně to zatím nikdo nezopakoval.
Dva bity samy o sobě ortel nejsou
Že se model při zaokrouhlení na dva bity rozsype, neznamená, že dvě bitové úrovně na model nestačí. Laboratoř IST Austria vydala na Hugging Face dvoubitovou verzi modelu Qwen3.6-35B-A3B připravenou metodou GSQ, popsanou v práci z 20. dubna 2026. Karta modelu uvádí přibližně 2,13 bitu na váhu a počítá to nahlas: dva bity plus šestnáctibitové měřítko sdílené vždy 128 vahami. Soubory na disku vydají po sečtení výpisu 13,47 GiB, protože zmenšené jsou jen sítě expertů; pozornost, embeddingy i výstupní vrstva zůstaly nezmenšené.
Na vlastních testech laboratoře ztratil model proti předloze 6,66 bodu v AIME 2025 (93,33 na 86,67), 7,07 bodu v GPQA Diamond a 2,58 bodu v GSM8K; v MATH-500 skončil o 0,6 bodu výš než předloha. Jsou to čísla toho, kdo model vydal, měřená na jiném modelu i jinými úlohami než tabulka výš, a nikdo je nepřeměřil. Podle nás z nich přesto plyne to hlavní: o osudu modelu nerozhoduje počet bitů sám, ale co se s vahami udělá cestou.
Ten model mimochodem používá vlastní rozvržení knihovny Humming, ne formát compressed-tensors. Ke stejným výpočetním jádrům tak vedou dvě různé cesty a jen jedna z nich se teď ve vLLM otevřela i pro zmenšený vstup.
Zdroje: poznámky k vydání a zdrojový kód značek v0.24.0, v0.25.1 a v0.26.0 v repozitáři vllm-project/vllm, návrh 732 a hlášení 719 v compressed-tensors, návrh 2821 v llm-compressor, README knihovny Humming a karta modelu na Hugging Face. Přepočty bitů na váhu a součet velikosti souborů jsou naše.