Velikost a kvantizace

Co znamená 7B, kolik to žere, co je Q4.

Co se naučíš: Spočítáš si, kolik paměti model zabere, a pochopíš, co ti kvantizace vezme a co dá.

6 min čtení + cvičeníNavazuje na:🏋️ Jak model vzniká

U modelu narazíš na označení jako 7B, 70B nebo Q4_K_M. Není to marketing: říká ti to, kolik model umí, kolik sežere paměti a jestli ti poběží na tvém počítači. Tahle kapitola tě naučí ta čísla číst a hlavně odhadnout, jestli se ti model vejde do GPU dřív, než ho stáhneš.


Pár pojmů na úvod

  • Parametr = jedno číslo (váha) uvnitř modelu. Model se skládá z miliard takových čísel.
  • B = billion, tedy miliarda. 7B = sedm miliard parametrů.
  • Přesnost (precision) = kolik bitů zabírá jeden parametr. FP16 = 16 bitů (2 bajty), 8bit = 1 bajt, 4bit = půl bajtu.
  • Kvantizace = zmenšení přesnosti parametrů, aby se model vešel do menší paměti.
  • VRAM = paměť grafické karty. Tam se model musí vejít, aby běžel rychle.

Kolik model zabere paměti

Pravidlo, které si zapamatuj:

velikost v GB ≈ počet miliard parametrů × bajty na parametr

7B ve FP16 (2 B)  = 14 GB   → nevejde se do 8GB karty
7B v 8bit (1 B)   =  7 GB   → těsně, s rezervou ne
7B ve 4bit (0,5 B)= 3,5 GB  → v pohodě, zbyde i na kontext
70B ve 4bit       = 35 GB   → potřebuješ profi kartu nebo dvě

K tomu si připočti režii na kontext: čím delší konverzaci držíš, tím víc paměti navíc (tzv. KV cache). U dlouhých kontextů to jsou další jednotky gigabajtů.

💡 Praktický odhad pro domácí GPU: do 8 GB VRAM rozumně poběží 7–8B model ve 4bitech, do 24 GB i 30B ve 4bitech. Větší modely už dávají větší smysl přes API.


Co dělá kvantizace

Kvantizace zaokrouhlí parametry na hrubší hodnoty. Je to jako uložit fotku v horší kvalitě: soubor je menší, obrázek pořád poznáš, ale detaily se ztratí.

PřesnostVelikost 7BKvalita
FP1614 GBoriginál
8bit7 GBprakticky nerozeznatelné
4bit3,5 GBmírně horší, pro většinu úloh v pohodě, nejčastější volba
3bit a níž~2,5 GBznatelné zhoršení, chyby v uvažování

Označení jako Q4_K_M znamená 4bitovou kvantizaci konkrétní metodou (K) a velikostí (M = medium). Nemusíš rozumět detailům, drž se doporučené varianty u daného modelu.

⚠️ Kvantizace snižuje kvalitu, ne rychlost čtení zadání. Model se nezhloupne úplně, ale začne chybovat u delších úvah a přesných formátů. Když ti model najednou přestal držet JSON, podívej se, jestli nejedeš na příliš agresivní kvantizaci.


Větší není vždycky lepší

Velký model bývá chytřejší, ale zaplatíš to penězi a čekáním. V praxi se osvědčuje mít po ruce dva až tři a vybírat podle úlohy:

ÚlohaCo zvolit
Klasifikace, extrakce, jednoduché přepisymalý model, je 10× levnější a rychlejší
Běžná konverzace, shrnutí, kódstřední
Složité uvažování, návrh architektury, náročný kódvelký

Tomuhle rozdělování se říká model routing a je to nejrychlejší způsob, jak srazit účet. Podrobněji v ceně a latenci.


🔢 Co se při kvantizaci děje uvnitř (měřítka, outliers, GPTQ/AWQ) rozebírá numerika a přesnost.

Další čísla, na která narazíš

  • Kontextové okno (např. 128k), kolik tokenů model najednou pojme. Nesouvisí přímo s počtem parametrů. Vlastní kapitola.
  • MoE (mixture of experts): model má sice třeba 400 miliard parametrů, ale při každém tokenu jich použije jen část. Chová se pak jako menší model rychlostí a jako větší kvalitou.
  • Distilace: malý model natrénovaný napodobovat velký. Bývá překvapivě dobrý na úzkou úlohu.

Cvičení

  1. Model 32 B chceš provozovat na kartě s 24 GB. Spočítej velikost vah v FP16, INT8 a Q4 a rozhodni, co je reálné.
  2. Proč dvě kvantizace na stejný počet bitů nemusí dát stejnou kvalitu?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
  1. FP16 64 GB, INT8 32 GB, Q4 16 GB, takže reálné je jen Q4, a to ještě těsně.32 × 2 = 64, 32 × 1 = 32, 32 × 0,5 = 16. Po odečtení vah zbývá kolem 7 GB na KV cache a režii, což stačí na krátký až střední kontext. Pokud potřebuješ dlouhý kontext, jsi buď na menším modelu, nebo na dvou kartách. Viz čtení specifikace modelu.
  2. Protože počet bitů říká jen to, kolik úrovní máš, ne jak jsou rozmístěné. Rozdíl dělá velikost skupiny, na kterou se počítá měřítko, způsob zacházení s outliery a to, jestli se některé vrstvy nechají v plné přesnosti. Dva formáty se stejným označením se proto můžou v kvalitě lišit výrazně. Ověřeno na kódu v numerice.

Shrnutí

  • 7B = sedm miliard parametrů; velikost v GB ≈ parametry × bajty na parametr.
  • Kvantizace na 4 bity je běžný kompromis: čtvrtinová paměť, mírně horší kvalita.
  • Do paměti se musí vejít model i kontext.
  • Vybírej model podle úlohy; malý model na jednoduchou práci ušetří většinu nákladů.
Vejde se model 13B ve FP16 do grafické karty s 12 GB VRAM?

Ne. 13 miliard parametrů po 2 bajtech je zhruba 26 GB, plus paměť na kontext. Do 12 GB by se vešla až 4bitová kvantizace (~6,5 GB), která nechá rezervu i na delší konverzaci.

Model po přechodu na agresivnější kvantizaci přestal dodržovat JSON formát. Proč?

Kvantizace zhoršuje přesnost vah, což se nejdřív projeví u úloh vyžadujících pečlivost, dlouhé úvahy a striktní formáty. Řešením je vrátit se na 4bit (nebo 8bit) variantu, případně formát vynutit strojově a nechat model opravit chybu.

Máš aplikaci, která hlavně třídí příchozí tikety do deseti kategorií. Vyplatí se největší dostupný model?

Ne. Klasifikace je jednoduchá úloha, kterou zvládne malý model za zlomek ceny a s nižší latencí. Velký model si nech na úlohy, kde jeho schopnost uvažovat opravdu potřebuješ.