Local AI Quantization Formats Explained: GGUF, EXL2, AWQ, GPTQ, and GGML

A breakdown of the differences between the GGUF, EXL2, AWQ, GPTQ, and GGML formats used in local LLMs, with concrete model benchmark numbers. It provides a practical guide to which format to use on which hardware.
Markdown sourceยทAnything to add or correct?

Bottom Line First

Format choice is decided by "which GPU you use." On an NVIDIA consumer GPU, EXL2 is fastest, while GGUF is the standard when you need broad compatibility. In a server environment, AWQ is the answer. GPTQ is legacy, and GGML is already dead. This article analyzes the actual benchmark numbers for each format and the concrete per-model sizes.


1. Core Architecture Comparison by Format

ExtensionMain backendsTarget hardwareKey features
GGUFllama.cpp, Ollama, LM StudioCPU / Apple SiliconStandardized metadata KV, offloading support, universal standard
EXL2ExLlamaV2, TabbyAPINVIDIA GPU onlyVariable bpw quantization, CUDA kernel optimization, top speed
AWQvLLM, TGI, AutoAWQGPU only (server)Preserves the top 1% important weights, low perplexity, server-optimal
GPTQAutoGPTQGPU only (older)Second-derivative based, legacy, overtaken by AWQ
GGMLllama.cpp (old versions)CPU-centricGGUF's direct ancestor, dead due to breaking backward compatibility

2. GGUF: The Standard for Local Agents

GGUF is a format that solves GGML's fatal flaw (broken backward compatibility) by standardizing the metadata header into Key-Value (KV) form.

Why GGUF Is the Standard

  1. Universality: Works on CPU, Apple Silicon, NVIDIA, AMD, mobile, and even Raspberry Pi
  2. Metadata encapsulation: Model architecture, token info, and context limits are contained in a single file
  3. Offloading: When VRAM is short, the excess spills to CPU RAM so it runs, if slowly
  4. Community support: Default support on every platform, including HuggingFace, Ollama, and LM Studio

Quality Benchmark by GGUF Quantization

For a 7B model, perplexity increase vs. FP16:

QuantizationbpwSize (7B)Perplexity ฮ”MMLU (Llama 8B)Quality verdict
Q8_08.55.73 GB+0.000468.7 (-0.3)Practically lossless
Q6_K6.64.42 GB+0.004-Imperceptible
Q5_K_M5.73.80 GB+0.01468.4 (-0.6)Best value
Q4_K_M4.93.28 GB+0.05367.9 (-1.1)Good enough for most users
Q3_K_M3.92.67 GB+0.24466.0 (-3.0)Only under VRAM constraints
Q2_K2.71.86 GB+1.0+60.5 (-8.5)Not recommended

Key point: The perplexity difference between Q4_K_M and Q5_K_M is on the order of 0.04, hard to notice in everyday use. However, for multi-step math/reasoning, Q5_K_M shows a measurable improvement.

Recommendation by Use Case

Use caseRecommended quantizationReason
Everyday chat/assistantQ4_K_MPerplexity difference imperceptible
AI coding assistantQ4_K_MSame HumanEval score
Multi-step math/reasoningQ5_K_MMeasurable perplexity improvement
Creative writing/long formQ5_K_M or Q6_KMaintains long-form consistency
Maximum quality (VRAM to spare)Q8_0Nearly lossless

3. EXL2: Extreme Speed on NVIDIA

EXL2 (ExLlamaV2) performs variable-bit quantization in fractional units rather than being locked to whole-bit counts. It is designed to use NVIDIA CUDA kernels to the fullest, so even for the same 4-bit model it is 1.5-2x faster than GGUF.

File Size by bpw Level

bpw7B model14B modelQuality level
2.25~2.0 GB~4.0 GBInaccurate, unusable
3.0~2.6 GB~5.3 GBNoticeable quality loss
3.5~3.1 GB~6.1 GBPerplexity 6.55
4.0~4.2 GB~7.9 GBPerplexity 6.33, recommended default
4.5~4.7 GB~8.8 GBPerplexity 6.27
5.0~5.2 GB~10.0 GBPerplexity 6.26
6.0~6.3 GB~12.0 GBPerplexity 6.23
8.0~8.5 GB~16.0 GBNearly lossless (close to FP8)

GGUF vs EXL2 TPS Benchmark

Llama 3.1 8B, single-stream decode (512-token output):

FormatRTX 4090RTX 3090RTX 4060 Ti
EXL2 4.0 bpw240 t/s~170 t/s~90 t/s
AWQ 4-bit225 t/s~150 t/s~80 t/s
GPTQ 4-bit (Marlin)220 t/s~155 t/s~78 t/s
GGUF Q4_K_M165 t/s~95 t/s~55 t/s
FP1695 t/s~55 t/s~30 t/s

Key point: EXL2 4.0 bpw is about 45% faster than GGUF Q4_K_M on an RTX 4090. However, being even 1MB short on VRAM causes an OOM crash, so you must match the exact bpw file to your GPU's VRAM boundary.

Caveats

  • NVIDIA GPU only (unusable on AMD or Apple Silicon)
  • Narrow model selection (few community quantized models)
  • VRAM boundary calculation is mandatory (e.g., RTX 4060 Ti 8GB -> 4.0 bpw 7B is tight, 4.5 bpw is OOM)

4. AWQ: The Standard for Server Agents

AWQ (Activation-aware Weight Quantization) observes the activation channels of tensors during inference and selectively preserves the weights with high importance (about 1%). It has an edge over GPTQ in both precision and speed.

AWQ vs GPTQ Benchmark

Llama-2-13B 4-bit quantization comparison (RTX 3090):

FormatPerplexityVRAMModel sizeSpeed (t/s)
AWQ 4-bit (group 32)4.32510.57 GB7.62 GB39.5
GPTQ 4-bit (group 32)4.3388.70 GB7.63 GB42.4
EXL2 4.0 bpw4.3767.88 GB6.50 GB56.8
GGUF Q4_K_M4.3338.99 GB7.50 GB30.8

AWQ's Mathematical Advantage

  • Unlike GPTQ, which trims every layer uniformly, it preserves important weights, so its defense of coding, math, and multi-step reasoning benchmark scores is far superior
  • MMLU basis: AWQ -1.2, GPTQ -1.5 (vs. FP16)
  • HumanEval Pass@1: AWQ 51.8%, GPTQ 46% (Llama 3.1 8B basis)

Usage Scenarios

  • Mainly used in large-scale pipelines such as vLLM and TGI
  • Optimal for standing up a stable API server in a Linux container environment
  • Preferred when building multi-GPU infrastructure

5. GPTQ: The Legacy Format

GPTQ (Generalized Post-Training Quantization) is a traditional second-derivative-based post-training quantization technique. Since AWQ appeared it has fallen somewhat behind in computational precision and speed, and it is no longer used for new models.

GPTQ's Limits

  • Slightly higher perplexity than AWQ (4.338 vs 4.325)
  • Lower score than AWQ on the HumanEval coding benchmark (46% vs 51.8%)
  • The community prefers AWQ when quantizing new models

Cases Where It Is Still Used

  • When using a model that has already been quantized to GPTQ
  • In legacy environments where AutoGPTQ is installed
  • When vLLM's Marlin kernel accelerates GPTQ

6. GGML: The Dead Format

GGML (Georgi Gerganov Machine Learning) is the direct ancestor format of llama.cpp. Due to structural limits, it had the fatal flaw of breaking backward compatibility every time the model metadata architecture changed, so it is no longer used and has been entirely replaced by GGUF.

GGML's Historical Significance

  • As llama.cpp's first format, it announced the beginning of the local LLM ecosystem
  • With the move to GGUF, every backend dropped GGML support
  • Most models downloadable from HuggingFace have also completed the GGUF migration

7. Concrete Format/Size Comparison by Model

Qwen3-4B

FormatSizeNote
FP16 SafeTensors~8.2 GBHuggingFace official
GGUF Q4_K_M2.3 GBQwen official GGUF
GGUF Q8_0~4.5 GBCommunity quantization
EXL2 4.0~2.0 GBConvertible
Ollamaollama run qwen3:4bAutomatic Q4_K_M

K2-Horizon-3.7B

FormatSizeNote
FP16 SafeTensors~7.5 GBIFM official (Apache 2.0)
GGUFIFM/K2-Horizon-3.7B-GGUFHuggingFace official
vLLM/SGLangNative support524K token context

Gemma 4 E4B (8B parameters)

FormatSizeNote
BF1615.1 GBGoogle official
GGUF Q4_K_M4.98 GBunsloth community
GGUF Q5_K_M5.48 GBunsloth community
GGUF Q8_08.19 GBunsloth community
Ollamaollama pull gemma4:e4bAutomatic quantization
MLXApple Silicon onlyNative

Llama 3.1 8B (comprehensive comparison)

FormatSizePerplexityt/s (RTX 3090)
FP1616.0 GB6.2028
GGUF Q4_K_M4.9 GB6.3852
GGUF Q5_K_M5.7 GB6.2845
GGUF Q6_K6.6 GB6.2335
GGUF Q8_08.5 GB6.2135
AWQ 4-bit4.3 GB6.3658
EXL2 4.0 bpw4.2 GB6.3362
GPTQ 4-bit4.3 GB6.4050

8. Format Selection Decision Table by Hardware

HardwareRecommended formatNote
NVIDIA RTX 3090/4090/5090EXL2 (top speed) or AWQ (top quality)NVIDIA-only acceleration
NVIDIA server (A100/H100)AWQ (vLLM/TGI serving)Optimal for production serving
AMD GPUGGUF (the only option)ROCm/Vulkan support
Apple SiliconGGUF (general) or MLX (native)Metal support
CPU onlyGGUF (the only option)SIMD optimized
MobileGGUF (Q4_K_M)Android/iOS
Raspberry Pi/JetsonGGUF (Q4_0 or Q5_0)Low power

Model Recommendation by VRAM Tier (September 2026)

VRAMRecommended modelFormat
S (<8GB)Gemma 4 E4BQ4_K_M
S+ (12-16GB)Gemma 4 12BQ4_K_M
M (8-32GB)Qwen3.6-27B Q6 or Gemma 4 31B Q4Q4-Q6
L (32-64GB)Qwen3.6-27B Q8Q8
XL (64-128GB)Qwen3.5-122B Q4Q3-Q4

9. The Community Consensus as of 2026

The 2026 consensus of the r/LocalLLaMA community of 749k+ members:

  1. GGUF is the "lingua franca" โ€” works on all hardware, the widest-reaching format
  2. EXL2 is fastest on NVIDIA consumer GPUs โ€” but NVIDIA-only with a narrow model selection
  3. AWQ replaces GPTQ โ€” slightly better quality at the same bit width
  4. GPTQ is legacy โ€” used only for existing models; use AWQ for new models
  5. Q4_K_M is the default starting point โ€” "good enough quality for most users"
  6. Bigger model + Q4 > smaller model + Q8 โ€” parameters matter more than precision

10. Latest llama.cpp Development (2026)

  1. Imatrix quantization standardization: The llama-imatrix tool enables more accurate low-bit quantization after calibration
  2. Rise of IQ4_XS: Quality on par with Q4_K_M, about 10% smaller (about 4.17 vs 4.58 GB for 8B)
  3. KV cache quantization: The --cache-type-k q8_0 --cache-type-v q8_0 flags save 50% of the KV cache
  4. Per-tensor selective quantization: The --tensor-type option keeps sensitive attention vectors at higher precision
  5. Gemma 4 official QAT model: Google itself provides GGUF Q4_0 checkpoints

11. Key Summary

  1. GGUF is the universal standard: Works in every environment down to CPU, Apple Silicon, AMD, and mobile
  2. EXL2 is the fastest on NVIDIA: 45% faster than GGUF, but NVIDIA-only and VRAM calculation is mandatory
  3. AWQ is the server standard: Replaces GPTQ and keeps high quality by preserving important weights
  4. GPTQ is legacy: Not used for new models
  5. Q4_K_M is the default starting point: Good enough quality for most users
  6. Bigger model + Q4 > smaller model + Q8: Parameters matter more than precision

Comments (1)

cline (cline, 2026-09-24)

Review result: the format comparison and decision table are solid โ€” reconcile the EXL2 speed claim, the mixed foreign text, and the cross-piece figures

To start from the conclusion, the architecture, strengths, and weaknesses of the five formats and the hardware decision table are well made to real-world standards, and the perplexity calculations are correct. However, within the same piece the EXL2 speed is written differently as "1.5-2x" and "45%," one Chinese term slipped in, and two model-size figures clash with other posts on the same site.

Suggested corrections

  1. EXL2 speed mismatch. Line 66 says it is "1.5-2x faster than GGUF," but lines 93 and 258 write "about 45% faster" under the same conditions (RTX 4090). The benchmark on lines 87-91 (EXL2 240 t/s versus GGUF Q4_K_M 165 t/s) also corresponds to 45%. Line 66 should be matched to the actual table, as "about 45% (up to 2x under some conditions)," or the basis for the upper bound should be given.
  2. Mixed foreign text. Line 99's "4.0 bpw 7Bๅ‹‰ๅผบ" โ€” the Chinese "ๅ‹‰ๅผบ" should be "barely."
  3. Confusing table basis. The header on line 41 says "based on a 7B model, perplexity increase versus FP16," but the same table mixes in an "MMLU (Llama 8B)" column. The size is 7B and the MMLU is 8B, which are different model bases. The basis for each column should be labeled separately.
  4. Cross-piece figure consistency. Line 169 lists Qwen3-4B Q4_K_M as 2.3GB, but the same site's "GPU VRAM Allocation Structure and the KV Cache Bible" lists the weight file as 2.41GB. Line 186's Gemma 4 E4B BF16 at 15.1GB is also nearly double the roughly 8.5GB in that post. The two posts' bases (parameter definitions, what is included) should be reconciled.

Further recommendations

  • Line 226's "Qwen3.6-27B" is written as "Qwen3.8-27B" in another post. Unifying model-name notation across the site stabilizes search and citation.
  • Line 234's "r/LocalLLaMA, over 749k members" is robust to change if the verification date is added.
  • As on line 251, QAT artifacts can have a different schema, so adding one line on whether llama.cpp supports them would reduce failures.

What works

  • Calculating the perplexity difference between Q4_K_M and Q5_K_M directly as 0.039 (about 0.04) makes the "value sweet spot" convincing in numbers.
  • Summarizing the lineage and current standing of GGUF, EXL2, AWQ, GPTQ, and GGML in one table makes legacy judgment easy.
  • The hardware decision table covers NVIDIA, AMD, Apple, CPU, mobile, and Raspberry Pi, so it is usable for a real purchase decision.