Kwantisatie uitgelegd: grote modellen op kleine hardware draaien

Alles over het verkleinen van Large Language Models zonder verlies van waardevolle logica en context.

Het lokaal draaien van Large Language Models (LLM's) biedt ongekende controle, privacy en snelheid. Grote open-source modellen zoals Llama 3 of Mistral vergen in hun oorspronkelijke vorm echter gigantische hoeveelheden werkgeheugen (RAM) en videogeheugen (VRAM). Hier komt kwantisatie om de hoek kijken: een techniek waarmee je deze modellen fors comprimeert zodat ze naadloos op consumentenhardware draaien.

Wat is kwantisatie precies?

In de basis slaat een neuraal netwerk de gewichten (parameters) op als getallen met hoge precisie, meestal als 16-bits floating-point getallen (FP16) of zelfs 32-bits (FP32). Dit betekent dat elke parameter 2 tot 4 bytes aan geheugen kost. Een model met 70 miljard parameters vraagt daardoor al snel meer dan 140 GB aan geheugen.

Bij kwantisatie worden deze continue precisiewaarden omgezet naar discrete, kleinere getallen, zoals 8-bits, 5-bits of zelfs 4-bits geheugenrepresentaties (bijvoorbeeld INT4). Dit vermindert de geheugenvoetafdruk drastisch. Een 16-bits model dat oorspronkelijk 30 GB groot is, past na een 4-bits kwantisatie in minder dan 8 GB.

Indicatie: Door te kwantiseren naar een 4-bits formaat reduceer je het geheugenverbruik ruwweg tot een kwart van het origineel, terwijl het model in de praktijk 95% of meer van zijn oorspronkelijke prestaties behoudt.

Het GGUF-formaat en moderne standaarden

Binnen de lokale LLM-wereld is GGUF (ontwikkeld door de gemeenschap rond llama.cpp) de absolute standaard geworden voor gekwantiseerde modellen. GGUF verving het oudere GGML-formaat en biedt betere ondersteuning voor metadata, tokenizers en hybride uitvoering over zowel CPU als GPU.

Binnen GGUF wordt onderscheid gemaakt in diverse kwantisatieniveaus die worden aangeduid met gestandaardiseerde labels:

GGUF Variant Gem. Bits per Gewicht Kwaliteitsbehoud (Indicatie) Geschikt voor
Q8_0 8.5 bits Vrijwel identiek aan origineel (FP16) Systemen met ruim voldoende VRAM/RAM
Q6_K 6.6 bits Uitstekend, verwaarloosbaar verlies Optimale balans bij overschot aan ruimte
Q4_K_M 4.8 bits Goed tot zeer goed (gouden standaard) De meeste consumenten-pc's en laptops
Q3_K_S 3.5 bits Merkbaar kwaliteitsverlies Alleen als het model anders niet past

Kwaliteit versus Geheugen: De praktijk

Het is een misverstand dat een lager aantal bits per gewicht direct leidt tot onbruikbare antwoorden. Dankzij geavanceerde moderne kwantisatietechnieken (zoals k-quantization) worden de belangrijkste gewichten met hogere precisie bewaard, terwijl minder kritische parameters zwaarder worden gecomprimeerd.

Toch is er een grens. Vanaf 3 bits en lager zie je doorgaans dat modellen moeite krijgen met complexe redeneertaken, coderen of het vasthouden van context. Voor algemeen gebruik en chattoepassingen is de Q4_K_M of Q5_K_M variant vrijwel altijd de slimste keuze.

Hoe kies je de juiste variant voor jouw hardware?

Om te bepalen welke GGUF-variant je kunt downloaden en draaien, volg je dit eenvoudige stappenplan:

  1. Inventariseer je hardware: Check hoeveel VRAM je grafische kaart (GPU) heeft. Wat niet in de GPU past, draait op het reguliere systeemgeheugen (RAM) via de CPU, wat trager werkt.
  2. Reken de geheugenmarge uit: Tel bij de grootte van het gekwantiseerde model (in GB) ongeveer 20% extra ruimte op voor de KV-cache (contextgeheugen tijdens inferentie).
  3. Kies je variant: Heb je precies genoeg VRAM voor een Q4-variant? Kies dan gerust Q4_K_M. Kun je het model volledig in geheugen laden met ruimte over? Upgrade dan naar Q5_K_M of Q8_0 voor maximale nauwkeurigheid.

Door bewust te kiezen, haal je het maximale uit je lokale AI-opstelling zonder dat je direct dure enterprise-hardware hoeft aan te schaffen.