Přeskočit na obsah
U sebe doma 4 min čtení

Kalibrační text pro kvantizaci do GGUF se projeví až pod čtyřmi bity na váhu

Vydavatel kvantizovaných kopií modelů, který na Hugging Face vystupuje jako bartowski, zveřejnil 17. srpna novou kalibrační sadu a měření, které za ní stojí. Nad zhruba čtyřmi bity na váhu se podle něj sady mezi sebou nepoznají; pod nimi rozhoduje hlavně to, jestli se při kalibraci dostane na všechny experty modelu.

Grafická karta s odkrytým chladičem, vidět jsou čipy a napájecí kaskáda
Do paměti běžné grafické karty se model vejde teprve po kvantizaci. Foto: Nick Stathas, Wikimedia Commons (CC BY-SA 4.0)

Kdo si stahuje modely ve formátu GGUF, bere váhy zmenšené ze šestnácti bitů na dva až osm. Aby se při tom zahodilo to nejméně podstatné, projede llama.cpp modelem nejdřív hromadu textu a zapíše si, které vnitřní kanály se přitom rozsvěcují nejsilněji. Tomu záznamu se říká matice důležitosti, zkráceně imatrix, a kvantizace pak podle něj ví, kde si nesmí dovolit chybu.

Text, ze kterého ta matice vzniká, si každý vydavatel kvantizovaných kopií skládá po svém. Jeden z nich, který na Hugging Face vystupuje jako bartowski, zveřejnil 17. srpna 2026 novou sadu v6 a k ní i měření, kterým se k ní dopracoval. Sám ho uvozuje tím, že žádný zázračný lék to není: pár vylepšení, pár výher, pár proher.

Co matice důležitosti počítá

Kalibrační text jde modelem po úsecích a u každého tenzoru se sčítají druhé mocniny aktivací, které do něj vstupují. Kanál, který se rozsvítí skoro při každém průchodu, drží podle toho váhy, na kterých záleží; kanál, který mlčí, nejspíš ne. Jistota to není – může to znamenat jen tolik, že mu nikdo nedal text, který by ho zajímal.

Do llama.cpp tenhle nástroj přidal uživatel ikawrakow návrhem změny 4861, sloučeným 12. ledna 2024; tehdy uměl počítat jen na procesoru. Dnes se volá jako llama-imatrix a výsledek se kvantizaci předá přepínačem --imatrix, jak popisuje nápověda toho nástroje.

Nad čtyřmi bity je to jedno

První a nejméně vzrušující zjištění: nad zhruba čtyřmi bity na váhu nedělá výběr kalibračního textu předvídatelný rozdíl. Bartowski to zkoušel i s úplně náhodným textem a u Q4_0, IQ4_XS a výš se skoro nic nestalo.

Vidět je to v jeho tabulce, která u modelu Qwen3.8-27B srovnává starou sadu v5 a novou v6 podle odchylky rozdělení pravděpodobností proti nekvantizovaným vahám (KLD), na stu úsecích korpusu wikitext. Nová sada je u Q6_K_L o 1,5 % lepší, u Q5_K_M o 2,0 % lepší, u Q4_K_L o 1,6 % horší a u Q4_K_S o 3,6 % horší. Znaménko se střídá bez ladu a skladu a to je vlastně celé sdělení té tabulky.

Dole rozhoduje pokrytí expertů

Zajímavé je to až u dvoubitových kvantizací, a hlavně u modelů se směsí expertů. Že tam matice důležitosti není kosmetika, ukazuje krajní případ: model Qwen3.6-35B-A3B kvantizovaný do Q2_K úplně bez ní spadl v testu volání nástrojů BFCL z přibližně 82 % na 54 %, tedy o 28 bodů. Mezi nejlepší a nejhorší kalibrační sadou pak zbývá rozdíl kolem deseti procent; u IQ2_M jsou od sebe rozumné sady jen o jednotky procent a u hustých modelů se rozdíl hledá ještě hůř.

Příčinu bartowski hledal v tom, kolik expertů se při kalibraci vůbec probudí, a u modelu Qwen3-Next-80B-A3B to spočítal. Čistě anglický korpus s voláním nástrojů nechal 18 z 512 expertů bez jediného tokenu, a to i při 3 126 úsecích, což je skoro čtyřnásobek délky staré sady v5. Plné pokrytí přišlo, teprve když se přidala vícejazyčnost a kód. U modelů se směsí expertů je proto podle něj nejdůležitější změnou to, že nová sada obsahuje konverzace vysázené šablonou chatu – někteří experti se totiž zapínají až na značky té šablony.

Jedno číslo se do téhle úvahy nehodí a stojí v příspěvku taky: v testech MMLU-Pro a GSM8K byla u Q2_K úspěšnost prakticky stejná napříč všemi kalibračními sadami včetně té z náhodných slov. Autor to sám označuje za překvapivé.

Z čeho je nová sada

Zdroje jsou venku. Gist ze 14. srpna obsahuje dva soubory: v6_prose.txt o 461 125 bajtech a v6_conversations.json o 1 002 966 bajtech. Poměr prózy ke konverzacím je 2:3 a konverzace pocházejí z datové sady hermes_reasoning_tool_use. Prózu vybíral tak, aby po jednotlivých úsecích rozsvítila co nejvíc různých expertů; sady k porovnání dodal ze své sbírky eaddario/imatrix-calibration.

Délku zkoušel od 400 do 800 úseků a větší sady dopadly hůř; jeho vysvětlení je, že v příliš velkém vzorku se důležité výsledky utopí v běžných. Hotový text vysázený šablonou daného modelu vydává rovnou u kvantizací – v repozitáři bartowski/Qwen3.8-27B-GGUF je to soubor Qwen3.8-27B-calibration-v6.txt o 1 258 850 bajtech a vedle něj samotná matice o 13 642 688 bajtech. Ten repozitář vznikl 14. srpna a do 24. srpna měl 236 948 stažení.

Dvě věci navíc a jedna výhrada

Z měření vypadly dvě odpovědi, které ušetří čas každému, kdo si matici počítá sám. Matice spočítaná z osmibitové kopie místo z bf16 vyšla proti té původní s kosinovou podobností přes 99,99 %, takže na plné váhy není potřeba čekat. A kontext 2048 tokenů místo 512 nepřinesl žádnou změnu; v řadě případů dokonce ubral z pokrytí expertů.

Výhrada je jediná, zato podstatná: všechna ta čísla jsou z běhů jednoho člověka, který k nim dostal výpočetní čas od laboratoře LTT Labs, a nikdo jiný je zatím nezopakoval. Pro čtenáře, který si stahuje hotové soubory, z nich plyne jednoduchý závěr: u Q4 a výš je jedno, čí kvantizaci vezme, a u dvou bitů to jedno není – obzvlášť když má model směs expertů a má v něm volat nástroje. Jak moc se to promítne do běžného používání, tenhle rozbor neříká; u vLLM se dvoubitové váhy v jiném měření položilyllama.cpp mezitím přidal vlastní dvoubitový formát Q2_0.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. U sebe doma

    Unsloth Desktop odsune při přetečení kontextu nejstarší část chatu do archivu

    Unsloth vydal 20. srpna 2026 verzi 0.1.801-beta své desktopové aplikace. Dlouhý chat v ní po přetečení kontextového okna nekončí chybou: okno se vyprázdní, starší kola…

  2. U sebe doma

    Ollama 0.32.15 přestala číst metadata GGUF při každém dotazu

    Server Ollamy otevíral soubor GGUF a četl z něj metadata při každém dotazu na chat i generování; autor změny odhaduje tu režii na 300 ms za volání. Verze 0.32.15 z 19.…

  3. U sebe doma

    llama.cpp přidal k nočním sestavením verze 0.1.x, postup je zatím rozdělaný

    llama.cpp má od 17. srpna vedle nočních značek s písmenem b i značky v0.1.0 až v0.1.2. Nová značka vznikne jen tehdy, když se soubory jeho vnitřní kopie knihovny ggml…

  4. U sebe doma

    llama.cpp vypnul mapování modelu do paměti na části integrovaných grafik

    llama.cpp od 11. srpna 2026 nemapuje soubor s váhami do paměti všude, kde to jde. Nový výchozí režim mapování vypne, jakmile některé ze zapojených zařízení ohlásí, že ho…