Expert • Les 16
Quantisatie: modellen comprimeren voor efficiënte inferentie
Quantisatie is de techniek waarbij modelgewichten worden opgeslagen in een lagere numerieke precisie. Een FP32-gewicht gebruikt 32 bits; een INT8-gewicht slechts 8 bits. Dit resulteert in 4x kleinere modellen en significant snellere inferentie, met beperkt kwaliteitsverlies als het goed wordt uitgevoerd.
Post-Training Quantization (PTQ)
PTQ wordt toegepast na training zonder modelgewichten opnieuw te trainen. GPTQ en AWQ zijn populaire PTQ-methoden voor LLMs. GPTQ gebruikt tweede-orde gradienten om per laag de optimale quantisatieparameters te vinden. AWQ (Activation-aware Weight Quantization) identificeert de belangrijkste gewichten op basis van activatiestatistieken en beschermt die met hogere precisie.
Quantization-Aware Training (QAT)
QAT simuleert quantisatie-effecten tijdens training, zodat het model leert robuust te zijn voor lagere precisie. De trainingsgradiënten worden berekend op FP32 maar de forward-pass gebruikt gesimuleerde lage-precisie gewichten (straight-through estimator). QAT geeft betere kwaliteit dan PTQ maar vereist hertraining.
GGUF en llama.cpp
GGUF is het standaard serialisatieformaat voor gequantiseerde LLMs in het llama.cpp-ecosysteem. Het ondersteunt mixed quantisatie: gevoelige lagen (eerste en laatste) blijven in hogere precisie; middelste lagen worden sterker gequantiseerd. Populaire quantisatieniveaus zijn Q4_K_M (goede balans kwaliteit/grootte), Q5_K_M en Q8_0 (hoge kwaliteit, minder compressie).
KV-cache quantisatie
Naast gewichtenquantisatie kan ook de KV-cache worden gequantiseerd. Bij lange contexten is de KV-cache een significant geheugensverbruiker. INT8-KV-cache quantisatie reduceert dit met 50% met minimaal kwaliteitsverlies. FP8-training (Transformer Engine van NVIDIA) past FP8-precisie toe tijdens training voor snelheidswinst.