GGUF vs AWQ vs GPTQ vs FP8 vs NF4: keuzes voor LLM-quantization
Automatische vertaling
Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.
Kies LLM-quantization op basis van de runtime, hardware en taak die je moet uitvoeren. GGUF verpakt modeltensors en metadata. AWQ en GPTQ verlagen de precisie van weights na de training. FP8 gebruikt achtbits drijvendekommagetallen. NF4 slaat weights in vier bits op en wordt vaak gebruikt bij het trainen van QLoRA-adapters. Deze namen beschrijven verschillende onderdelen van het laden en uitvoeren van een model.
Kies eerst de runtime en hardware. Kies daarna een representatie die de vastgezette runtime voor de exacte architectuur ondersteunt. Meet met benchmarks de taakkwaliteit, het geheugengebruik, de tijd tot het eerste token, de throughput en het aantal gelijktijdige aanvragen voordat je de kleinere modelbestanden accepteert.
Controleer de compatibiliteit voordat je bestandsgrootte of bitbreedte vergelijkt.
Beslistabel
| Doel | Uitgangspunt | Controleren vóór gebruik |
|---|---|---|
| Lokale inference op CPU, Metal of draagbare llama.cpp | GGUF met een gedocumenteerde quantization | Ondersteuning voor de architectuur, chatsjabloon, contextgedrag, quantization-instellingen en bronrevisie. |
| GPU-inference met gekalibreerde weight quantization | AWQ of GPTQ | De serving-engine, GPU, bitbreedte, groepsgrootte, kernels en modelarchitectuur. |
| Serving op een ondersteunde GPU voor datacenters | FP8 | Hardwaremogelijkheden, runtime-implementatie, calibration-modus en kwaliteit van het volledige proces. |
| Parameter-efficiënte training met bevroren vierbits weights | NF4 via bitsandbytes | Rekenprecisie, geheugen voor training en of deployment een adapter of samengevoegde weights gebruikt. |
| Eenvoudig Transformers-prototype | bitsandbytes 8-bit of 4-bit | Backendondersteuning en of het prototypepad overeenkomt met de productieserver. |
GGUF specificeert niet één quantization
Een .gguf-extensie geeft aan hoe tensors en metadata worden verpakt, niet wat de precisie van elke tensor is. Namen zoals Q4_K_M identificeren llama.cpp-quantizationrecepten, en die recepten kunnen tensorgroepen verschillend behandelen. Leg het oorspronkelijke checkpoint, de converterversie, het quantization-commando en de bestandshashes vast. Calibration gebruikt representatieve invoer om quantization-parameters te kiezen. Als de conversie die invoer gebruikte, leg dan ook de dataset vast.
AWQ en GPTQ hebben een passende manier van serving nodig
AWQ- en GPTQ-modelbestanden gebruiken doorgaans Safetensors en instellingen die de quantization-methode beschrijven. Een model kan zonder problemen downloaden en toch terugvallen op een trage kernel of mislukken op een niet-ondersteunde architectuur. Controleer de actuele ondersteuningsmatrix voor Transformers, vLLM of de daadwerkelijke serverversie voordat je de modelbestanden selecteert.
FP8 en NF4 lossen verschillende problemen op
FP8 is aantrekkelijk wanneer de versneller en serving-stack het efficiënt implementeren. NF4 wordt voornamelijk gebruikt om bevroren model weights op te slaan tijdens het trainen van kleine adapters via QLoRA-achtige workflows. In bitsandbytes bepaalt het compute dtype de precisie die voor berekeningen wordt gebruikt; die kan verschillen van de opgeslagen vierbits weights. Optionele nested quantization comprimeert ook de constanten die worden gebruikt om die weights te representeren. Geen van beide labels garandeert dezelfde kwaliteit, snelheid of hetzelfde geheugengebruik op verschillende models en hardware.
Evaluatiechecklist
Opslag in vier bits betekent niet dat het hele proces vier bits per parameter gebruikt. Quantization-metadata, tensors met hogere precisie, tijdelijke buffers en de attention-cache hebben meer geheugen nodig. Test de promptlengte en de gelijktijdige aanvragen die je wilt afhandelen.
- vergelijk hetzelfde oorspronkelijke checkpoint en dezelfde promptset
- neem aanvragen met lange context en gelijktijdige aanvragen op
- meet de correctheid van schema’s en tool calls naast perplexity
- leg het maximale geheugengebruik op het apparaat en de host vast
- verifieer de tijd tot het eerste token en de uitvoer-throughput
- inspecteer zeldzame of kostbare deelverzamelingen van de kwaliteitsevaluatie
- bewaar licentie, bronrevisie, converter, recept en hash bij de modelbestanden
Verdiepende lectuur
- LLM-engineeringgids: quantization plaatst deze keuzes naast geheugengebruik, serving-kernels en GPU-selectie.
- Gids voor modelquantization behandelt algoritmen, calibration, kernels en trade-offs bij deployment.
- LLM-varianten met open weights maakt onderscheid tussen de rol van de checkpoint, architectuur, container, quantization, runtime en hardware.
- Lokale LLMs op macOS past deze keuzes toe op Apple Silicon.