Keď klient ukáže požiadavky na lokálne nasadenie 70B modelu a má k dispozícii jeden server s dvoma GPU, prvá reakcia je zvyčajne rovnaká: "To sa nezmestí." V FP16 je to pravda — takýto model potrebuje 140–168 GB VRAM, čo nie je bežne dostupná konfigurácia. No v 4-bit kvantizácii klesne ten istý model na 35–40 GB, čo sú dve stredne výkonné karty. A strata kvality? Pri správnom formáte je to menej, ako väčšina ľudí čaká.
Kvantizácia je dnes jednou z najdôležitejších praktických zručností pri nasadzovaní LLM na vlastný hardware. Tento článok vysvetlí, čo sa pri kvantizácii deje s váhami modelu, aký je rozdiel medzi formátmi GGUF, AWQ a GPTQ, koľko kvality reálne strácate na jednotlivých úrovniach a ako sa to líši od dištilácie, ktorú ľudia s kvantizáciou často zamieňajú.
Čo kvantizácia robí s váhami
Moderné LLM sú trénované vo formáte BF16 alebo FP16 — každý parameter zaberá 16 bitov. Model s 7 miliardami parametrov tak potrebuje zhruba 14 GB len na samotné váhy (plus KV cache a aktivácie navyše).
Kvantizácia reprezentuje tie isté váhy v nižšej numerickej presnosti. Namiesto 16-bitového float použijete 8-bit alebo 4-bit integer. Vzorec je priamy: VRAM (GB) ≈ (počet parametrov v miliardách × bity) / 8. Pri 4-bit kvantizácii 7B modelu dostanete 5–7 GB — zmestí sa na bežnú pracovnú stanicu.
Cena za túto úsporu je strata informácie. Numerická presnosť klesá, niektoré jemné rozdiely medzi váhami sa "splošnia" na rovnakú reprezentovateľnú hodnotu. Dôsledkom je mierny pokles kvality výstupov — otázkou je, ako veľký.
Dôležité je pochopiť, čo kvantizácia nie je: nie je to dištilácia. Kvantizácia zachováva architektúru a počet parametrov pôvodného modelu, len mení numerický formát váh. Dištilácia naopak prenáša znalosti do menšieho modelu s inou architektúrou — ide o prenos znalostí, nie o kompresiu. Podrobnejšie o distiláciách v článku Distilácia modelu: ako spraviť malý rýchly model z veľkého.
GGUF — formát pre CPU a cross-platform nasadenie
GGUF je binárny formát vyvinutý pre llama.cpp a dnes natívne podporovaný aj v Ollama. Jeho kľúčová vlastnosť: model môže bežať čisto na CPU, alebo na hybridnej kombinácii CPU+GPU, kde časť vrstiev beží na GPU a zvyšok na CPU s využitím RAM.
Pre firemné nasadenie to znamená praktickú výhodu: developer môže spustiť 13B model na pracovnej stanici bez dedikovanej GPU, alebo na serveri s menej VRAM, ako model v FP16 vyžaduje.
Úrovne kvantizácie v GGUF
Označenie vychádza zo schémy Q<bity>_<variant>. Najdôležitejšie úrovne:
- Q8_0 — 8-bit kvantizácia, najmenšia strata kvality (~1–2 % od FP16). Odporúčané ak máte dostatok VRAM a chcete maximum presnosti.
- Q4_K_M — 4-bit, "medium" variant s adaptívnou kvantizáciou pre citlivé vrstvy. Zachováva ~92–95 % kvality FP16. Štandardný sweet spot pre väčšinu use-casov.
- Q4_K_S — 4-bit, "small" variant, o niečo menší ako K_M pri podobnej kvalite.
- Q3_K_M — 3-bit, výrazne menší footprint, badateľná degradácia na komplexnom uvažovaní.
- Q2_K — 2-bit, výrazná degradácia. Použiteľné len pri extrémne obmedzenom hardware a nenáročných úlohách.
Písmeno K v označení znamená "k-quants" — sofistikovanejšia metóda, ktorá aplikuje vyššiu presnosť na vrstvy, ktoré sú na kvantizačné chyby najcitlivejšie (typicky embedding a výstupné vrstvy), a agresívnejšiu kompresiu na menej kritické časti. Výsledok je lepší pomer kvalita/veľkosť oproti jednoduchej uniformnej kvantizácii.
AWQ — kalibrovaná kvantizácia pre GPU stack
AWQ (Activation-aware Weight Quantization) je metóda, ktorá pri kvantizácii berie do úvahy štatistiku aktivácií — teda to, aké vstupné hodnoty model v praxi vidí. Podľa tejto štatistiky identifikuje "dôležité" váhy a zachová im vyššiu presnosť, zvyšok kvantizuje agresívnejšie.
Výsledok: AWQ 4-bit formát zachováva ~93–96 % kvality FP16, mierne lepšie ako GPTQ pri rovnakej veľkosti. Rozdiel je badateľný najmä pri dlhších generáciách textu a kóde, kde koherencia degeneruje rýchlejšie pri nekalibrovanej kvantizácii.
AWQ vyžaduje GPU pri inferencii — nie je určené pre CPU-only prostredia. Natívne ho podporuje vLLM a TGI. Pre produkčné NVIDIA nasadenie je to dnes jeden z preferovaných formátov.
GPTQ — maximálny throughput na NVIDIA GPU
GPTQ (Generative Pre-trained Transformer Quantization) je staršia a etablovaná metóda. Využíva druhé derivácie (Hessian) na minimalizáciu chyby kvantizácie pri danej batchovej kalibrácii. V praxi je GPTQ 4-bit mierne za AWQ čo do zachovania kvality (~90–93 % vs FP16), ale ponúka maximálny throughput pri NVIDIA GPU s využitím fúzovaných kernelov.
Pre scenáre, kde prioritou je čo najvyšší počet tokenov za sekundu (napríklad serving pre viacerých súbežných používateľov), GPTQ v kombinácii s vLLM podáva silné výsledky. Rovnako ako AWQ, vyžaduje GPU — CPU inferencia nie je natívne podporovaná.
Porovnanie formátov — kedy čo použiť
- GGUF — keď potrebujete cross-platform nasadenie, CPU inferencia alebo hybridný CPU+GPU mód, alebo keď nasadzujete cez
Ollamana developer staniciach - AWQ — čisto GPU stack (NVIDIA), produkčné nasadenie cez
vLLMaleboTGI, priorita je koherencia výstupu - GPTQ — čisto GPU stack (NVIDIA), produkčné nasadenie cez
vLLM, priorita je maximálny throughput pri multi-user servingu
Tieto formáty nie sú zameniteľné ani kompatibilné navzájom — model kvantizovaný v GPTQ nemôžete priamo načítať v llama.cpp, a naopak. Pred výberom formátu treba vedieť, aký serving stack a hardware plánujete používať.
Reálna strata kvality — čo čísla hovoria
Otázka, ktorú klienti kladú najčastejšie: "Koľko kvality stratíme?"
Odpoveď závisí od úrovne kvantizácie a od typu úlohy. Merania naprieč rôznymi modelmi (Qwen, DeepSeek, Mistral, Llama) ukazujú konzistentný vzor:
- Q8_0 / 8-bit: rozdiel v perplexite pod 1–2 % oproti FP16. V bežnej konverzácii prakticky nerozoznateľné.
- Q4_K_M / AWQ 4-bit: rozdiel v perplexite typicky pod 5–8 % oproti BF16. Na väčšine úloh — extrakcia informácií, sumarizácia, klasifikácia — nie je rozdiel voľným okom badateľný. Na komplexnom viacstupňovom uvažovaní (matematika, kód, dlhé reťazce krokov) môže byť mierny pokles pozorovateľný.
- Q3 a nižšie: degradácia je badateľná. Model začína produkovať menej koherentné výstupy, zvlášť pri dlhých generáciách alebo pri úlohách, kde záleží na presnosti.
- Q2: výrazná degradácia. Vhodné len pri extrémnych hardwarových obmedzeniach a nekritických úlohách.
Dôležitá nuansa: strata kvality nie je rovnomerne rozložená. Modely s väčším počtom parametrov tolerujú agresívnejšiu kvantizáciu lepšie — 70B model v Q4_K_M si väčšinou zachová viac schopností ako 7B model v rovnakej konfigurácii. Pri malých modeloch (7B a menej) je rozdiel medzi Q8 a Q4 viditeľnejší.
Druhá nuansa: benchmarky merajú priemer. Pre špecifický domainový use-case (napríklad analýza technickej dokumentácie) je rozumné urobiť vlastné porovnanie FP16 vs Q4 na vzorke reálnych vstupov — niekoľko desiatok príkladov zvyčajne postačí na orientačný záver.
VRAM úspora v praxi
Konkrétne čísla pre najčastejšie veľkosti modelov:
- 7–9B model: FP16 ~16–19 GB → Q8_0 ~8–13 GB → Q4_K_M ~5–7 GB
- 13B model: FP16 ~26 GB → Q8_0 ~14 GB → Q4_K_M ~8 GB
- 27–34B model: FP16 ~54–68 GB → Q8_0 ~30–34 GB → Q4_K_M ~17–20 GB
- 70B model: FP16 ~140–168 GB → Q8_0 ~70–75 GB → Q4_K_M ~35–40 GB
Na tieto čísla sa pripočítava KV cache, ktorý rastie s dĺžkou kontextu a počtom súbežných requestov. 70B model pri dlhom kontexte dokáže spotrebovať ďalších 20–40 GB na KV cache pri niekoľkých paralelných konverzáciách. Pri plánovaní infraštruktúry preto nerátajte len s váhami — KV cache je rovnako dôležitá premenná. Viac o tom v článku Aká GPU na inferenciu LLM.
Kvantizácia a serving stack — čo o tom vie vLLM a Ollama
Ollama je vynikajúci nástroj pre developer nasadenie — GGUF model stiahnete jedným príkazom, beží lokálne bez konfigurácie. Pod kapotou je llama.cpp. Kľúčové obmedzenie: Ollama nie je produkčný serving framework. Pri viacerých súbežných používateľoch môžete zaznamenať výrazne nižší throughput oproti vLLM — a to bez ohľadu na kvantizáciu.
vLLM s AWQ alebo GPTQ modelmi je určený pre produkčné prostredia s viacerými súbežnými requestmi. Využíva PagedAttention na efektívnu správu KV cache a continuous batching — výsledný throughput môže byť pri viacerých súbežných používateľoch výrazne vyšší ako u Ollama. Cena je komplexnejší setup a požiadavka na GPU.
Pre firemné nasadenie je typický postup: vývojári a testeri pracujú s GGUF modelmi cez Ollama, produkčný inference server beží na vLLM s AWQ alebo GPTQ. Oba prístupy existujú paralelne — nie je to buď/alebo. Porovnanie týchto serving nástrojov detailnejšie v článku vLLM vs SGLang vs Ollama.
Kvantizácia vs dištilácia — dôležité rozlíšenie
Tieto dva pojmy sa v praxi mätú, ale ide o zásadne odlišné techniky.
Kvantizácia zachováva pôvodnú architektúru modelu — meníte len numerický formát váh. Proces je rýchly, nevyžaduje tréning, existujúce kvantizačné nástroje zvládnu 70B model za niekoľko hodín na bežnom serveri. Stráca sa informácia v numerickej presnosti.
Dištilácia tvorí nový, menší model trénovaním na výstupoch väčšieho (teacher) modelu. Je to plnohodnotný tréningový proces — vyžaduje dáta, výpočtový čas, hyperparameter tuning. Výsledkom je model s menej parametrami a inou architektúrou, ktorý sa "naučil" napodobovať teacher. Stráca sa kapacita — menší model jednoducho nemá toľko parametrov, koľko potrebuje na niektoré komplexné úlohy.
V praxi sú oba prístupy komplementárne: distilovaný model môžete následne kvantizilovať. Napríklad malý model vytvorený dištiláciou z frontier modelu môžete distribuovať ako GGUF Q4 pre edge nasadenie.
Ako pristupovať k výberu kvantizácie v projekte
Niekoľko praktických odporúčaní z nasadení, ktoré sme videli:
- 1.Začnite s Q4_K_M — pre väčšinu firemných use-casov (extrakcia, klasifikácia, Q&A nad dokumentmi) je Q4_K_M dostatočná kvalita a rozumný VRAM footprint
- 2.Overte na vlastných dátach — ak má aplikácia špecifické nároky (napr. presná extrakcia číselných hodnôt z technických reportov), porovnajte FP16 a Q4 na vzorke 50–100 reálnych vstupov pred finálnym rozhodnutím
- 3.Nepodceňujte KV cache — pri plánovaní hardware rátajte s KV cache nad rámec veľkosti váh, zvlášť ak plánujete dlhé kontexty
- 4.Zohľadnite serving stack — ak idete na vLLM, AWQ je dobrá voľba; ak idete na Ollama alebo cross-platform, GGUF; ak prioritizujete throughput na NVIDIA, GPTQ
- 5.Q2 radšej nie — degradácia je výrazná, radšej použiť menší model v Q4 ako väčší model v Q2
Časté otázky
Môžem kvantizilovať akýkoľvek model sám?
Áno, nástroje ako llama.cpp (pre GGUF), AutoAWQ a AutoGPTQ sú open-source a dostupné. Pre bežné veľkosti (7–34B) zvládne kvantizáciu aj bežný server v priebehu hodín. Pre 70B a väčšie modely potrebujete výrazne viac RAM (kvantizácia v FP16 pred konverziou). V praxi je pre väčšinu tímov jednoduchšie siahnuť po predkvantizovaných modeloch z Hugging Face — kvalita je overená a ušetríte čas.
Je rozdiel medzi Q4_K_M a Q4_K_S badateľný?
V bežnej praxi minimálny. Q4_K_S je o niečo menší súbor pri veľmi podobnej kvalite. Q4_K_M je konzervatívnejší výber, ktorý si zachováva o niečo viac presnosti v citlivých vrstvách. Pre väčšinu use-casov odporúčame Q4_K_M ako východiskový bod.
Kvantizácia a GDPR — je tu niečo na zváženie?
Priamo nie — kvantizácia nemení správanie modelu pri spracovaní dát, iba jeho VRAM footprint a rýchlosť. GDPR implikácie sa viažu na to, *kde* model beží a *kto* má prístup k dátam. On-prem nasadenie kvantizilovného modelu vám môže pomôcť s GDPR z hľadiska dátovej lokality (dáta neopúšťajú infraštruktúru), ale compliance vyžaduje oveľa viac — audit logy, access kontroly, dokumentovaný DPA proces. Viac v článku On-prem LLM pre regulované odvetvia.
Môžem kvantizilovný model ďalej fine-tunovať?
Priamy fine-tuning kvantizilovného modelu (napr. GGUF Q4) nie je štandardný postup — väčšina fine-tuningových frameworkov pracuje s FP16 alebo BF16 váhami. QLoRA je výnimka: umožňuje tréning s 4-bit kvantizilovnými bázovými váhami, pričom adaptéry LoRA trénujete vo vyššej presnosti. Podrobnosti v článku LoRA vs QLoRA vs full fine-tuning.
Aký je rozdiel medzi NVFP4 a štandardnou 4-bit kvantizáciou?
NVFP4 je hardwarovo-natívny formát špecifický pre najnovšie NVIDIA GPU s Blackwell architektúrou. Na rozdiel od softvérových 4-bit metód (GPTQ, AWQ, GGUF Q4) je NVFP4 priamo akcelerovaný v tenzorových jadrách čipu. Výsledkom sú vyššie throughputy oproti generickým 4-bit formátom na rovnakom hardware. Ak nemáte Blackwell GPU, tento formát sa vás netýka — štandardné AWQ alebo GPTQ sú správna voľba.
*Výber správneho kvantizačného formátu a serving stacku je rozhodnutie, ktoré výrazne ovplyvní náklady a výkon produkčného nasadenia. V MP Industrial Solutions pomáhame firmám prejsť od prvého experimentu s lokálnym LLM po produkčnú infraštruktúru — vrátane posúdenia hardwaru, výberu modelu a formátu kvantizácie pre konkrétny use-case. Ak zvažujete on-prem LLM nasadenie, radi si sadneme na úvodnú konzultáciu.*
