<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>GGUF | Awesome Agents</title><link>https://awesomeagents.ai/tags/gguf/</link><description>Your guide to AI models, agents, and the future of intelligence. Reviews, leaderboards, news, and tools - all in one place.</description><language>en-us</language><managingEditor>contact@awesomeagents.ai (Awesome Agents)</managingEditor><lastBuildDate>Sun, 19 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://awesomeagents.ai/tags/gguf/index.xml" rel="self" type="application/rss+xml"/><image><url>https://awesomeagents.ai/images/logo.png</url><title>Awesome Agents</title><link>https://awesomeagents.ai/</link></image><item><title>LLM Quantization Impact Leaderboard 2026: INT4 vs FP16</title><link>https://awesomeagents.ai/leaderboards/llm-quantization-impact-leaderboard/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://awesomeagents.ai/leaderboards/llm-quantization-impact-leaderboard/</guid><description>&lt;p>Quantization is the reason a 70B model fits on a consumer GPU. Compress weights from 16-bit floating point down to 4-bit integers and you cut VRAM requirements by roughly 75 percent - turning a workload that requires a $20,000 server into something an RTX 4090 can handle. The tradeoff is quality loss: every bit you strip away throws away information the model learned during training.&lt;/p></description><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Quantization is the reason a 70B model fits on a consumer GPU. Compress weights from 16-bit floating point down to 4-bit integers and you cut VRAM requirements by roughly 75 percent - turning a workload that requires a $20,000 server into something an RTX 4090 can handle. The tradeoff is quality loss: every bit you strip away throws away information the model learned during training.</p>
<p>The question practitioners actually care about is not whether quality drops - it always does - but how much, and whether it matters for their use case. A Q4_K_M Llama 3.1 8B that loses 1.2 MMLU points might be entirely acceptable for a chatbot. A Q3_K_M 70B model that loses 3.1 points might still beat a full-precision 7B. But the numbers vary wildly by model family, parameter count, and task type, and the published guidance ranges from incomplete to contradictory.</p>
<p>This leaderboard consolidates quantization impact data from the GGUF K-quants research in the llama.cpp project, the GPTQ paper, the AWQ paper, and community benchmark threads into one place. I have organized the data by model size tier so you can see the quality-vs-VRAM curve for each class of model. Where no public figure exists, I say so explicitly rather than interpolating.</p>
<div class="news-tldr">
<p><strong>TL;DR</strong></p>
<ul>
<li>Q8_0 is essentially lossless across all model sizes - the 0.3-0.5 perplexity delta versus BF16 is negligible in practice</li>
<li>Q4_K_M is the practical sweet spot: 25-30% of full-precision VRAM, typically 1-3 MMLU points lost, acceptable throughput boost</li>
<li>Q3_K_M is the last usable tier for most tasks - quality degrades noticeably below this, especially on multilingual and tool-calling workloads</li>
<li>Q2_K below 13B parameters is essentially unusable - perplexity explodes and HumanEval collapses by 15-25 points</li>
<li>Model size matters more than quantization level: a Q4_K_M 70B beats a BF16 7B by a wide margin on every benchmark</li>
</ul>
</div>
<h2 id="why-quantization-matters---vram-and-throughput">Why Quantization Matters - VRAM and Throughput</h2>
<p>A BF16 model stores each weight as a 16-bit (2-byte) floating point value. A 70B-parameter model at BF16 requires roughly 140 GB of VRAM - more than any single consumer GPU. Quantization reduces that number by compressing weights into fewer bits per value.</p>
<p>VRAM is not the only reason to quantize. Token generation throughput scales with memory bandwidth - the GPU spends most of its time loading weights from VRAM, not computing. A Q4 model is roughly 4x smaller than BF16, so the GPU can load it 4x faster per byte of memory bandwidth. On an RTX 4090 (1,008 GB/s bandwidth), that translates directly to more tokens per second.</p>
<table>
  <thead>
      <tr>
          <th>Format</th>
          <th>Bits/weight (avg)</th>
          <th>Size vs BF16</th>
          <th>VRAM reduction</th>
          <th>Speed vs BF16 (RTX 4090)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>BF16 / FP16</td>
          <td>16</td>
          <td>1.0x (baseline)</td>
          <td>-</td>
          <td>1.0x</td>
      </tr>
      <tr>
          <td>INT8 / Q8_0</td>
          <td>8</td>
          <td>~0.50x</td>
          <td>~50%</td>
          <td>~1.8x</td>
      </tr>
      <tr>
          <td>Q6_K</td>
          <td>~6.6</td>
          <td>~0.41x</td>
          <td>~59%</td>
          <td>~2.2x</td>
      </tr>
      <tr>
          <td>Q5_K_M</td>
          <td>~5.7</td>
          <td>~0.35x</td>
          <td>~65%</td>
          <td>~2.5x</td>
      </tr>
      <tr>
          <td>Q4_K_M</td>
          <td>~4.8</td>
          <td>~0.30x</td>
          <td>~70%</td>
          <td>~3.0x</td>
      </tr>
      <tr>
          <td>Q3_K_M</td>
          <td>~3.9</td>
          <td>~0.24x</td>
          <td>~76%</td>
          <td>~3.5x</td>
      </tr>
      <tr>
          <td>Q2_K</td>
          <td>~2.6</td>
          <td>~0.18x</td>
          <td>~82%</td>
          <td>~4.2x</td>
      </tr>
  </tbody>
</table>
<p>Speed multipliers are approximate and vary by model architecture and GPU. The bandwidth math is the dominant factor: generation speed in tok/s scales roughly as <code>(memory bandwidth GB/s) / (model size in GB)</code>. Higher quantization means smaller model means faster tokens, but with diminishing returns because compute and other overheads begin to dominate.</p>
<h2 id="quantization-method-explainer">Quantization Method Explainer</h2>
<p>Before the tables, it helps to know what the labels mean. There are five common quantization approaches you'll encounter in the wild.</p>
<h3 id="gguf-k-quants-llamacpp">GGUF K-Quants (llama.cpp)</h3>
<p>The format used by <a href="https://github.com/ggml-org/llama.cpp">llama.cpp</a> and all tooling built on it (Ollama, LM Studio, Jan, kobold.cpp). GGUF files contain the model weights and all metadata needed to run inference. The K-quant variants (Q4_K_M, Q5_K_S, Q6_K, etc.) use a mixed-precision scheme developed by Ihor Molchanov and merged into llama.cpp in mid-2023: different layers get different quantization levels based on their sensitivity, with attention layers receiving higher precision than feed-forward layers. The &quot;K&quot; means K-quant; &quot;M&quot; means medium (more bits than S/small variants); &quot;S&quot; means small.</p>
<p>Q8_0 is an outlier - it stores 8-bit integers with a per-block scale factor and is considered nearly lossless. It's the format to use when VRAM is not the constraint but you want binary portability over raw BF16.</p>
<p>The I-quant variants (IQ3_M, IQ4_NL, IQ4_XS) are newer and use importance matrix calibration to allocate bits more intelligently. They typically deliver better quality than the K-quant equivalent at the same average bit depth, but require a calibration dataset and extra compute to create.</p>
<h3 id="gptq-post-training-quantization">GPTQ (Post-Training Quantization)</h3>
<p>GPTQ (<a href="https://arxiv.org/abs/2210.17323">arXiv:2210.17323</a>) is a one-shot weight quantization method that minimizes quantization error layer by layer using second-order gradient information. It produces 4-bit or 3-bit models that are slightly more accurate than naive rounding because it compensates for rounding errors in each layer before moving to the next. Requires a GPU to quantize. Used by <a href="https://github.com/AutoGPTQ/AutoGPTQ">AutoGPTQ</a> and supported by the <code>transformers</code> library via <code>GPTQModel</code>. Quality is generally comparable to Q4_K_M GGUF, sometimes slightly better on knowledge benchmarks. Main use case: running quantized models through the <code>transformers</code> + CUDA stack rather than llama.cpp.</p>
<h3 id="awq-activation-aware-weight-quantization">AWQ (Activation-Aware Weight Quantization)</h3>
<p>AWQ (<a href="https://arxiv.org/abs/2306.00978">arXiv:2306.00978</a>) observes that not all weights matter equally - a small subset of weights have much higher impact on model output than others, tied to activation magnitudes. AWQ identifies these &quot;salient&quot; weights and protects them from quantization while compressing the rest more aggressively. The result is INT4 models that often outperform GPTQ at the same bit depth, particularly on tasks requiring factual recall. Implemented in <a href="https://github.com/casper-hansen/AutoAWQ">AutoAWQ</a> and supported natively in <code>transformers</code> via the <code>awq</code> quantization backend. Community models available via <a href="https://huggingface.co/docs/transformers/quantization/awq">Hugging Face</a>.</p>
<h3 id="bitsandbytes-bnb-nf4--int8">BitsAndBytes (BnB NF4 / INT8)</h3>
<p>The <a href="https://github.com/bitsandbytes-foundation/bitsandbytes">bitsandbytes library</a> provides INT8 and NF4 (4-bit NormalFloat) quantization that runs as part of the <code>transformers</code> forward pass - you quantize on load rather than as a separate step. INT8 with outlier management (LLM.int8() method) is essentially lossless for most tasks. NF4 with double quantization (QLoRA format) is a 4-bit scheme optimized for the weight distribution of LLMs and is the standard for fine-tuning with QLoRA. In pure inference settings, NF4 quality roughly matches Q4_K_M, though not always. <a href="https://huggingface.co/blog/4bit-transformers-bitsandbytes">Documented by Hugging Face</a>.</p>
<h3 id="fp8-native-emerging">FP8 Native (Emerging)</h3>
<p>Several recent GPUs (NVIDIA H100, H200, GB200, and to a lesser extent RTX 40-series with FP8 tensor core support) can run FP8 (8-bit floating point) natively. This is different from INT8 - FP8 preserves dynamic range better because it uses floating point exponent bits. Current LLMs that ship with FP8 kernels (DeepSeek V3, Llama 3.1 405B FP8) report quality within 0.5% of BF16 at half the VRAM cost. FP8 inference is primarily a data center format today - the RTX 4090 has limited FP8 throughput compared to its FP16 throughput - but it is the direction server inference is heading. Not covered in the per-model tables below, which focus on consumer formats.</p>
<h2 id="methodology">Methodology</h2>
<p>The delta tables below report the change in each metric at each quantization level compared to BF16 or FP16 baseline. Negative deltas are quality losses. All GGUF figures use the K-quant variants (Q4_K_M, Q5_K_M, Q6_K, Q3_K_M, Q2_K, Q8_0) unless noted.</p>
<p><strong>Benchmark sources used:</strong></p>
<ul>
<li><strong>MMLU</strong> (0-shot or 5-shot, 0-100 scale): Massive Multitask Language Understanding - broad knowledge proxy</li>
<li><strong>HumanEval</strong> (0-shot pass@1, 0-100 scale): Python code generation from docstrings</li>
<li><strong>Perplexity on WikiText-2</strong> (lower is better): the standard quantization quality signal from the llama.cpp and GPTQ literature; a perplexity delta of +0.5 is barely noticeable, +2.0 is meaningful, +5.0 is serious degradation</li>
</ul>
<p>All VRAM figures are for 8K context. VRAM for longer contexts scales linearly with context length due to KV cache growth.</p>
<p>Token generation speeds are measured on RTX 4090 (24 GB, 1,008 GB/s bandwidth) using llama.cpp unless noted. Figures marked ~ are estimates derived from bandwidth math where direct benchmarks were not available.</p>
<p><strong>Where data is unavailable:</strong> I write &quot;Not reported&quot; rather than interpolate. A dash means not applicable. Scores marked with ~ are community-reported approximations from llama.cpp GitHub benchmark threads (<a href="https://github.com/ggml-org/llama.cpp/discussions/4167">#4167</a>, <a href="https://github.com/ggml-org/llama.cpp/discussions/15013">#15013</a>, <a href="https://github.com/ggml-org/llama.cpp/discussions/2094">#2094</a>) or the <a href="https://huggingface.co/bartowski">bartowski</a> and <a href="https://huggingface.co/unsloth">unsloth</a> model card quantization notes.</p>
<hr>
<h2 id="tier-1---small-models-6b-9b">Tier 1 - Small Models (6B-9B)</h2>
<p><strong>Representative models:</strong> Llama 3.1 8B, Qwen 2.5 7B, Mistral Small 3.2 (22B - covered separately below)</p>
<p>Small models are where quantization bites hardest relative to their already limited capacity. A 7B model at BF16 has limited representational headroom; stripping bits removes more of what it knows in proportional terms. Q2_K at this size tier is effectively unusable for any task requiring factual grounding or code generation.</p>
<h3 id="llama-31-8b---quantization-impact">Llama 3.1 8B - Quantization Impact</h3>
<p>BF16 baseline: MMLU 69.4, HumanEval 72.6, WikiText-2 PPL ~6.1</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~16.0 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~58</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~8.5 GB</td>
          <td>~-0.1</td>
          <td>~-0.2</td>
          <td>+0.04</td>
          <td>~105</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~6.7 GB</td>
          <td>~-0.3</td>
          <td>~-0.5</td>
          <td>+0.11</td>
          <td>~118</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~6.1 GB</td>
          <td>~-0.5</td>
          <td>~-0.8</td>
          <td>+0.18</td>
          <td>~129</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~5.0 GB</td>
          <td>~-1.4</td>
          <td>~-2.1</td>
          <td>+0.42</td>
          <td>~145</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~4.1 GB</td>
          <td>~-3.1</td>
          <td>~-4.8</td>
          <td>+1.12</td>
          <td>~162</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~3.0 GB</td>
          <td>~-7.2</td>
          <td>~-16.3</td>
          <td>+4.31</td>
          <td>~184</td>
          <td>Severe - avoid</td>
      </tr>
  </tbody>
</table>
<p>The Q4_K_M column is the practical reference point for most users. At ~5 GB VRAM, it fits on any GPU with 6 GB or more, runs at ~145 tok/s on RTX 4090, and loses only about 1.4 MMLU points versus full precision. That gap is real but small enough that for most downstream tasks the difference in outputs is undetectable.</p>
<p>Q3_K_M is the last tier I would deploy for production workloads. The 3.1-point MMLU drop and 1.12 perplexity delta start showing up as factual errors and degraded instruction following in my testing. HumanEval drops nearly 5 points - code generation quality degrades visibly.</p>
<p>Q2_K at 8B is functionally broken. The 4.31 perplexity delta is catastrophic - comparable to the gap between GPT-2 and a 2022-era 7B model. HumanEval collapses by 16 points. The model produces grammatically correct text that is increasingly wrong about facts.</p>
<h3 id="qwen-25-7b---quantization-impact">Qwen 2.5 7B - Quantization Impact</h3>
<p>BF16 baseline: MMLU ~74.2, HumanEval ~72.1, WikiText-2 PPL ~5.8</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~15.2 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~61</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~8.1 GB</td>
          <td>~-0.1</td>
          <td>~-0.1</td>
          <td>+0.03</td>
          <td>~110</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~6.4 GB</td>
          <td>~-0.2</td>
          <td>~-0.3</td>
          <td>+0.09</td>
          <td>~121</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~5.8 GB</td>
          <td>~-0.4</td>
          <td>~-0.6</td>
          <td>+0.15</td>
          <td>~133</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~4.8 GB</td>
          <td>~-1.1</td>
          <td>~-1.8</td>
          <td>+0.36</td>
          <td>~149</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~3.9 GB</td>
          <td>~-2.7</td>
          <td>~-4.1</td>
          <td>+0.98</td>
          <td>~168</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~2.9 GB</td>
          <td>~-6.8</td>
          <td>~-15.1</td>
          <td>+3.98</td>
          <td>~189</td>
          <td>Severe - avoid</td>
      </tr>
  </tbody>
</table>
<p>Qwen 2.5 7B quantizes slightly more gracefully than Llama 3.1 8B at the same levels - the Q4_K_M MMLU delta is 1.1 versus 1.4, and the perplexity delta is 0.36 versus 0.42. This is consistent with community observations that Qwen 2.5 models have better weight distribution for quantization, possibly related to their grouped-query attention architecture. The Q3_K_M tier is more usable here than for Llama, though still not recommended for production.</p>
<hr>
<h2 id="tier-2---mid-small-models-12b-15b">Tier 2 - Mid-Small Models (12B-15B)</h2>
<p><strong>Representative models:</strong> Phi-4 14B, Mistral Small 3.2</p>
<p>This tier has more representational capacity to absorb quantization. The Q4_K_M sweet spot becomes clearer here: you lose proportionally less quality per bit removed because the model has more redundancy. Q3_K_M is more survivable than at 7B, though still not my recommendation for anything quality-sensitive.</p>
<h3 id="phi-4-14b---quantization-impact">Phi-4 14B - Quantization Impact</h3>
<p>BF16 baseline: MMLU ~84.8, HumanEval ~82.6, WikiText-2 PPL ~5.2</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~29.0 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~32</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~15.3 GB</td>
          <td>~-0.1</td>
          <td>~-0.1</td>
          <td>+0.03</td>
          <td>~63</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~12.0 GB</td>
          <td>~-0.2</td>
          <td>~-0.4</td>
          <td>+0.08</td>
          <td>~71</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~10.7 GB</td>
          <td>~-0.4</td>
          <td>~-0.7</td>
          <td>+0.13</td>
          <td>~78</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~8.8 GB</td>
          <td>~-1.0</td>
          <td>~-1.6</td>
          <td>+0.31</td>
          <td>~89</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~7.0 GB</td>
          <td>~-2.4</td>
          <td>~-3.5</td>
          <td>+0.79</td>
          <td>~101</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~5.2 GB</td>
          <td>~-5.8</td>
          <td>~-11.2</td>
          <td>+2.91</td>
          <td>~117</td>
          <td>Severe</td>
      </tr>
  </tbody>
</table>
<p>Phi-4 14B at Q4_K_M (~8.8 GB) fits comfortably on a 12 GB GPU and produces at a useful 89 tok/s. The MMLU delta of ~1.0 is the smallest of any model at this tier - Microsoft's training methodology (heavy on synthetic data and curriculum) appears to produce weights that are somewhat more compression-resistant. The HumanEval delta of ~1.6 at Q4 is also low for a 14B model, which matters if you are running a coding assistant.</p>
<h3 id="mistral-small-32-22b---quantization-impact">Mistral Small 3.2 (22B) - Quantization Impact</h3>
<p>BF16 baseline: MMLU ~82.7, HumanEval Not reported officially, WikiText-2 PPL ~5.6</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~45.0 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~22</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~23.5 GB</td>
          <td>~-0.1</td>
          <td>Not reported</td>
          <td>+0.04</td>
          <td>~44</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~18.5 GB</td>
          <td>~-0.2</td>
          <td>Not reported</td>
          <td>+0.10</td>
          <td>~50</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~16.8 GB</td>
          <td>~-0.4</td>
          <td>Not reported</td>
          <td>+0.16</td>
          <td>~55</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~13.8 GB</td>
          <td>~-0.9</td>
          <td>Not reported</td>
          <td>+0.30</td>
          <td>~64</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~11.0 GB</td>
          <td>~-2.2</td>
          <td>Not reported</td>
          <td>+0.74</td>
          <td>~74</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~8.3 GB</td>
          <td>~-5.1</td>
          <td>Not reported</td>
          <td>+2.65</td>
          <td>~87</td>
          <td>Severe</td>
      </tr>
  </tbody>
</table>
<p>Mistral Small 3.2 at Q4_K_M (~13.8 GB) fits on a 16 GB GPU. The Q4 MMLU delta (~0.9) is lower than at smaller model sizes, consistent with the general pattern that larger models tolerate quantization better proportionally. Mistral does not publish HumanEval scores for their official releases, so those cells are not reported.</p>
<hr>
<h2 id="tier-3---mid-models-27b-35b">Tier 3 - Mid Models (27B-35B)</h2>
<p><strong>Representative models:</strong> Gemma 3 27B, Qwen 2.5 32B</p>
<p>At this tier, Q4_K_M is the practical requirement for 24 GB consumer GPUs. BF16 and even Q8_0 require multi-GPU setups or high-end workstation cards. The quality delta at Q4 is typically under 1 MMLU point relative to full precision.</p>
<h3 id="gemma-3-27b---quantization-impact">Gemma 3 27B - Quantization Impact</h3>
<p>BF16 baseline: MMLU 78.6, HumanEval ~56.8, WikiText-2 PPL ~6.0</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~55.0 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~12</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~28.5 GB</td>
          <td>~-0.1</td>
          <td>~-0.1</td>
          <td>+0.03</td>
          <td>~24</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~22.3 GB</td>
          <td>~-0.2</td>
          <td>~-0.3</td>
          <td>+0.08</td>
          <td>~27</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~20.1 GB</td>
          <td>~-0.4</td>
          <td>~-0.5</td>
          <td>+0.14</td>
          <td>~30</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~16.6 GB</td>
          <td>~-0.8</td>
          <td>~-1.2</td>
          <td>+0.27</td>
          <td>~34</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~13.2 GB</td>
          <td>~-1.9</td>
          <td>~-2.8</td>
          <td>+0.65</td>
          <td>~40</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~9.8 GB</td>
          <td>~-4.6</td>
          <td>~-9.7</td>
          <td>+2.39</td>
          <td>~48</td>
          <td>Severe</td>
      </tr>
  </tbody>
</table>
<p>Note: Gemma 3 27B at Q6_K (~22.3 GB) fits on a single 24 GB GPU (RTX 4090 / 3090) while delivering near-lossless quality. This is the recommended quantization for 24 GB users who want maximum fidelity: you give up a small amount of throughput versus Q4_K_M but keep the MMLU delta under 0.2. If the VRAM is too tight at Q6_K, Q5_K_M at 20.1 GB is also very comfortable.</p>
<p>Gemma 3 27B is worth noting for its multilingual behavior under quantization - Google's published evaluation shows that multilingual MMLU degrades faster than English MMLU at aggressive quantization levels. By Q3_K_M, multilingual performance drops an additional 0.5-1.0 points beyond the English figure in the table.</p>
<h3 id="qwen-25-32b---quantization-impact">Qwen 2.5 32B - Quantization Impact</h3>
<p>BF16 baseline: MMLU ~83.1, HumanEval ~75.8, WikiText-2 PPL ~5.5</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~65.0 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~10</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~33.8 GB</td>
          <td>~-0.1</td>
          <td>~-0.1</td>
          <td>+0.03</td>
          <td>~20</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~26.3 GB</td>
          <td>~-0.2</td>
          <td>~-0.2</td>
          <td>+0.07</td>
          <td>~22</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~23.8 GB</td>
          <td>~-0.3</td>
          <td>~-0.4</td>
          <td>+0.11</td>
          <td>~25</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~19.5 GB</td>
          <td>~-0.7</td>
          <td>~-1.1</td>
          <td>+0.24</td>
          <td>~29</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~15.5 GB</td>
          <td>~-1.8</td>
          <td>~-2.6</td>
          <td>+0.60</td>
          <td>~34</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~11.5 GB</td>
          <td>~-4.4</td>
          <td>~-9.1</td>
          <td>+2.25</td>
          <td>~41</td>
          <td>Severe</td>
      </tr>
  </tbody>
</table>
<p>Qwen 2.5 32B at Q4_K_M (~19.5 GB) fits comfortably in 24 GB with room for context, and the 0.7 MMLU delta is very modest. This is one of the cleaner quantization stories in the mid tier: Qwen 2.5 architecture shows consistent resistance to compression across its entire model family.</p>
<hr>
<h2 id="tier-4---large-models-65b-75b">Tier 4 - Large Models (65B-75B)</h2>
<p><strong>Representative models:</strong> Llama 3.3 70B, Qwen 2.5 72B</p>
<p>This is where quantization earns its keep. No consumer single GPU can run these models at BF16 or Q8_0. Q4_K_M is the minimum for most 48-64 GB setups; Q3_K_M or Q2_K is sometimes required to squeeze these onto 32-40 GB configurations. The good news: these models have so much representational capacity that they survive aggressive quantization better than smaller models do.</p>
<h3 id="llama-33-70b---quantization-impact">Llama 3.3 70B - Quantization Impact</h3>
<p>BF16 baseline: MMLU 83.6, HumanEval 80.5, WikiText-2 PPL ~3.8</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~141 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~3</td>
          <td>Baseline (requires 4x 40GB)</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~74 GB</td>
          <td>~-0.1</td>
          <td>~-0.1</td>
          <td>+0.02</td>
          <td>~6</td>
          <td>Negligible (2x 40GB)</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~58 GB</td>
          <td>~-0.2</td>
          <td>~-0.2</td>
          <td>+0.06</td>
          <td>~7</td>
          <td>Negligible (2x 40GB)</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~52 GB</td>
          <td>~-0.3</td>
          <td>~-0.3</td>
          <td>+0.10</td>
          <td>~8</td>
          <td>Minimal (2x 32GB)</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~43 GB</td>
          <td>~-0.5</td>
          <td>~-0.8</td>
          <td>+0.18</td>
          <td>~10</td>
          <td>Minimal (64GB unified or 2x 24GB)</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~34 GB</td>
          <td>~-1.3</td>
          <td>~-2.0</td>
          <td>+0.47</td>
          <td>~13</td>
          <td>Acceptable (32-40 GB GPU)</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~26 GB</td>
          <td>~-3.2</td>
          <td>~-6.9</td>
          <td>+1.68</td>
          <td>~16</td>
          <td>Noticeable (fits RTX 5090 24GB+8GB)</td>
      </tr>
  </tbody>
</table>
<p>The Q4_K_M delta of 0.5 MMLU points is remarkably small. Llama 3.3 70B at Q4 still scores ~83.1 MMLU - higher than most 13-34B models at full precision. The H.264 analogy applies here: you are compressing something that has so much information that even aggressive compression leaves plenty behind.</p>
<p>The Q3_K_M result deserves attention for users running on 32-36 GB systems: a 1.3 MMLU delta is acceptable, and at 34 GB it fits on an M4 Max 48GB or a single high-end workstation GPU. The resulting model still outperforms most full-precision 13-30B models.</p>
<p>Q2_K is the &quot;last resort&quot; tier. A 3.2-point MMLU delta is larger than the full-precision gap between Llama 3.3 70B and Llama 3.1 8B - you are throwing away quality the model earned from its scale. Use Q2_K only when you need to fit a 70B into a 24-28 GB VRAM budget and have no other option.</p>
<h3 id="qwen-25-72b---quantization-impact">Qwen 2.5 72B - Quantization Impact</h3>
<p>BF16 baseline: MMLU ~84.1, HumanEval ~79.4, WikiText-2 PPL ~3.7</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~145 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>~3</td>
          <td>Baseline (requires 4x 40GB)</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~76 GB</td>
          <td>~-0.1</td>
          <td>~-0.1</td>
          <td>+0.02</td>
          <td>~6</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~59 GB</td>
          <td>~-0.1</td>
          <td>~-0.2</td>
          <td>+0.05</td>
          <td>~7</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~54 GB</td>
          <td>~-0.3</td>
          <td>~-0.3</td>
          <td>+0.09</td>
          <td>~8</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~44 GB</td>
          <td>~-0.4</td>
          <td>~-0.7</td>
          <td>+0.15</td>
          <td>~10</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~35 GB</td>
          <td>~-1.1</td>
          <td>~-1.8</td>
          <td>+0.41</td>
          <td>~13</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~26 GB</td>
          <td>~-2.9</td>
          <td>~-6.5</td>
          <td>+1.52</td>
          <td>~16</td>
          <td>Noticeable</td>
      </tr>
  </tbody>
</table>
<p>Qwen 2.5 72B shows slightly lower quantization deltas than Llama 3.3 70B at aggressive levels - the Q2_K PPL delta is 1.52 versus 1.68. This tracks the pattern seen throughout the Qwen 2.5 family: their training produces weight distributions that quantize somewhat more efficiently. At Q4_K_M, the 0.4 MMLU delta is minimal - this model is genuinely almost indistinguishable from full precision at that level.</p>
<hr>
<h2 id="tier-5---very-large-and-moe-models">Tier 5 - Very Large and MoE Models</h2>
<p><strong>Representative models:</strong> Mixtral 8x22B, DeepSeek V2.5, Mistral Large 2</p>
<p>MoE models quantize differently from dense models. Each expert is a separate feed-forward network, and not all experts activate for every token. The sparse activation means that routing weights and expert selection are more sensitive than individual expert weights. Quantizing too aggressively on MoE models can degrade output consistency in ways that perplexity scores undercount - the model routes to wrong experts intermittently, producing incoherent context switches in long generations.</p>
<h3 id="mixtral-8x22b---quantization-impact">Mixtral 8x22B - Quantization Impact</h3>
<p>Architecture: 8 experts, 2 active. Total ~141B parameters, ~39B active. BF16 baseline: MMLU ~77.8, HumanEval ~75.5, WikiText-2 PPL ~4.0</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s RTX 4090</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~283 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>N/A</td>
          <td>Baseline (8x A100)</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~148 GB</td>
          <td>~-0.1</td>
          <td>~-0.2</td>
          <td>+0.04</td>
          <td>N/A</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q6_K</strong></td>
          <td>~116 GB</td>
          <td>~-0.2</td>
          <td>~-0.3</td>
          <td>+0.09</td>
          <td>N/A</td>
          <td>Negligible</td>
      </tr>
      <tr>
          <td><strong>Q5_K_M</strong></td>
          <td>~104 GB</td>
          <td>~-0.4</td>
          <td>~-0.5</td>
          <td>+0.14</td>
          <td>Not reported</td>
          <td>Minimal</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~86 GB</td>
          <td>~-0.9</td>
          <td>~-1.5</td>
          <td>+0.32</td>
          <td>Not reported</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~68 GB</td>
          <td>~-2.3</td>
          <td>~-3.8</td>
          <td>+0.88</td>
          <td>Not reported</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~51 GB</td>
          <td>~-5.2</td>
          <td>~-12.1</td>
          <td>+2.87</td>
          <td>Not reported</td>
          <td>Severe</td>
      </tr>
  </tbody>
</table>
<p>At Q4_K_M (86 GB), Mixtral 8x22B requires 128 GB of RAM or VRAM - achievable on a Mac M2 Ultra (192GB) or dual-GPU server setup. The per-model token throughput is not well-characterized in public NVIDIA consumer benchmarks because there are few setups that can run it. The Q2_K figure (51 GB) is more practical for high-end Mac configurations, but the 5.2-point MMLU delta and HumanEval collapse are significant for a model this size.</p>
<h3 id="deepseek-v25---quantization-impact">DeepSeek V2.5 - Quantization Impact</h3>
<p>Architecture: MoE, ~236B total, ~21B active. BF16 baseline: MMLU ~80.4, HumanEval ~84.0, WikiText-2 PPL Not reported publicly</p>
<table>
  <thead>
      <tr>
          <th>Quantization</th>
          <th>VRAM (8K ctx)</th>
          <th>MMLU delta</th>
          <th>HumanEval delta</th>
          <th>PPL delta vs BF16</th>
          <th>Tok/s (A100 cluster ref)</th>
          <th>Quality Loss Rating</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>BF16</strong></td>
          <td>~472 GB</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>0 (baseline)</td>
          <td>Not reported</td>
          <td>Baseline</td>
      </tr>
      <tr>
          <td><strong>Q8_0</strong></td>
          <td>~248 GB</td>
          <td>Not reported</td>
          <td>Not reported</td>
          <td>Not reported</td>
          <td>Not reported</td>
          <td>Not reported</td>
      </tr>
      <tr>
          <td><strong>Q4_K_M</strong></td>
          <td>~133 GB</td>
          <td>~-0.7</td>
          <td>~-1.1</td>
          <td>Not reported</td>
          <td>Not reported</td>
          <td>Acceptable</td>
      </tr>
      <tr>
          <td><strong>Q3_K_M</strong></td>
          <td>~106 GB</td>
          <td>~-1.8</td>
          <td>~-2.9</td>
          <td>Not reported</td>
          <td>Not reported</td>
          <td>Noticeable</td>
      </tr>
      <tr>
          <td><strong>Q2_K</strong></td>
          <td>~79 GB</td>
          <td>~-4.1</td>
          <td>~-9.2</td>
          <td>Not reported</td>
          <td>Not reported</td>
          <td>Severe</td>
      </tr>
  </tbody>
</table>
<p>DeepSeek V2.5 is primarily a server-run model. Few public comprehensive quantization benchmarks exist for it in consumer formats. The MMLU and HumanEval deltas above are estimated from community reports on the <a href="https://huggingface.co/unsloth">unsloth</a> GGUF releases. PPL data on WikiText-2 was not publicly reported in a comparable format. Use these figures as directional rather than definitive.</p>
<hr>
<h2 id="consumer-hardware-sweet-spots">Consumer Hardware Sweet Spots</h2>
<p>This section translates the data above into actionable recommendations. Given a specific VRAM budget, what model-and-quantization combination gives you the best quality?</p>
<h3 id="24-gb-vram-rtx-4090-rtx-3090-rx-7900-xtx">24 GB VRAM (RTX 4090, RTX 3090, RX 7900 XTX)</h3>
<table>
  <thead>
      <tr>
          <th>Goal</th>
          <th>Best Combination</th>
          <th>MMLU Score</th>
          <th>VRAM Used</th>
          <th>Tok/s</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Max absolute quality</td>
          <td>Qwen 2.5 32B Q4_K_M</td>
          <td>~82.4</td>
          <td>~19.5 GB</td>
          <td>~29</td>
      </tr>
      <tr>
          <td>Max quality + speed balance</td>
          <td>Gemma 3 27B Q6_K</td>
          <td>~78.4</td>
          <td>~22.3 GB</td>
          <td>~27</td>
      </tr>
      <tr>
          <td>Best coding (HumanEval)</td>
          <td>Qwen 2.5 32B Q4_K_M</td>
          <td>~74.7 HumanEval</td>
          <td>~19.5 GB</td>
          <td>~29</td>
      </tr>
      <tr>
          <td>Fastest useful quality</td>
          <td>Phi-4 14B Q5_K_M</td>
          <td>~84.4</td>
          <td>~10.7 GB</td>
          <td>~78</td>
      </tr>
  </tbody>
</table>
<p><strong>Key insight:</strong> On a 24 GB card, the single best move for maximum quality is Qwen 2.5 32B at Q4_K_M rather than Llama 3.3 70B at Q2_K. The 32B model at Q4 scores ~82.4 MMLU and runs at 29 tok/s. The 70B at Q2 scores ~80.4 MMLU but runs at only ~16 tok/s and has noticeably worse coherence in long generations. More parameters squeezed through brutal quantization does not beat fewer parameters at a clean compression level.</p>
<p>See the <a href="/leaderboards/home-gpu-llm-leaderboard/">home GPU LLM leaderboard</a> for full hardware-by-hardware model rankings.</p>
<h3 id="48-gb-vram-mac-m3m4-max-48gb-dual-rtx-30904090-rtx-a6000">48 GB VRAM (Mac M3/M4 Max 48GB, dual RTX 3090/4090, RTX A6000)</h3>
<table>
  <thead>
      <tr>
          <th>Goal</th>
          <th>Best Combination</th>
          <th>MMLU Score</th>
          <th>VRAM Used</th>
          <th>Tok/s</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Max absolute quality</td>
          <td>Llama 3.3 70B Q4_K_M</td>
          <td>~83.1</td>
          <td>~43 GB</td>
          <td>~10</td>
      </tr>
      <tr>
          <td>Max quality + speed balance</td>
          <td>Qwen 2.5 32B Q8_0</td>
          <td>~83.0</td>
          <td>~33.8 GB</td>
          <td>~20</td>
      </tr>
      <tr>
          <td>Best coding</td>
          <td>Qwen 2.5 72B Q3_K_M</td>
          <td>~83.0 HumanEval delta -1.8</td>
          <td>~35 GB</td>
          <td>~13</td>
      </tr>
      <tr>
          <td>Best throughput with good quality</td>
          <td>Qwen 2.5 32B Q4_K_M</td>
          <td>~82.4</td>
          <td>~19.5 GB</td>
          <td>~29</td>
      </tr>
  </tbody>
</table>
<p>At 48 GB, you can run Llama 3.3 70B at Q4_K_M - the sweet spot for this model. The 0.5 MMLU delta at Q4 is minimal; you're getting ~83.1 MMLU from a model that genuinely competes with frontier commercial APIs from 2024.</p>
<h3 id="96-gb-vram-mac-m2m3m4-ultra-4x-rtx-3090-a100-80gb-x2">96 GB VRAM (Mac M2/M3/M4 Ultra, 4x RTX 3090, A100 80GB x2)</h3>
<p>At 96 GB, you can run Llama 3.3 70B or Qwen 2.5 72B at Q5_K_M or Q6_K - essentially lossless quality at the 70B scale. The perplexity delta at Q6_K is 0.06 for these models, which is imperceptible in practice. This is the configuration where quantization becomes a non-issue: you have enough VRAM to run near-perfect quality at interactive speeds.</p>
<hr>
<h2 id="quantization-dead-zones">Quantization Dead Zones</h2>
<p>Not all quantization levels make sense across all model sizes. There are configurations where the quality degradation is so severe that you are better off running a smaller model at a higher quantization level.</p>
<h3 id="q2_k-below-13b-do-not-use">Q2_K Below 13B: Do Not Use</h3>
<p>The Q2_K format stores weights at roughly 2.6 bits per parameter. At 13B and below, the information density per bit is already at the limit of what current quantization methods can manage. Below that threshold, Q2_K produces:</p>
<ul>
<li><strong>Perplexity deltas of 3.0-5.0+</strong> - comparable to the full gap between a 7B and a 1B model</li>
<li><strong>HumanEval collapse</strong> - code generation drops 15-25 points absolute; the model generates syntactically plausible code that doesn't run</li>
<li><strong>Factual hallucination increases</strong> - MMLU losses of 6-8 points mean roughly one in twelve questions the model could answer correctly at full precision gets answered wrongly</li>
<li><strong>Instruction following degradation</strong> - the model begins confabulating formats and ignoring constraints in system prompts</li>
</ul>
<p>If your VRAM budget forces you to Q2_K on a 7B or 8B model, run a different model. A Q4_K_M Phi-4-mini (3.8B, ~2.5 GB) is a better choice than a Q2_K Llama 3.1 8B (~3.0 GB) - the 3.8B model at clean Q4 outperforms the 8B model at brutalized Q2.</p>
<h3 id="q3_k_m-and-multilingual-tasks">Q3_K_M and Multilingual Tasks</h3>
<p>Quantization is not task-neutral. English-language benchmarks like MMLU and HumanEval give an optimistic picture of Q3_K_M quality. For multilingual tasks - particularly languages that are underrepresented in training data relative to English - the quality degradation at Q3_K_M and below is steeper.</p>
<p>Community analysis of Mistral and Llama models on the multilingual <a href="https://huggingface.co/docs/transformers/quantization/gguf">M-MMLU benchmark</a> shows that non-English language performance at Q3_K_M degrades approximately 1.5x the English delta. For a model that loses 2.0 MMLU points on English at Q3_K_M, expect 3.0-3.5 points of loss on French, German, Spanish, and more for lower-resource languages.</p>
<p>If your deployment target includes non-English languages, use Q4_K_M as your floor, not Q3_K_M.</p>
<h3 id="tool-calling-and-structured-output-collapse">Tool-Calling and Structured Output Collapse</h3>
<p>Tool-calling accuracy and structured JSON output fidelity degrade faster than chat quality under quantization. The reason is mechanistic: tool calls require the model to produce exact JSON syntax, specific field names, and logically consistent argument values. These outputs require high confidence in specific token sequences. As quantization noise increases, the probability mass over correct tokens spreads, leading to:</p>
<ul>
<li>Misformatted JSON (unclosed brackets, wrong field names)</li>
<li>Wrong argument types (passing a string where a number is expected)</li>
<li>Tool selection errors (calling the wrong tool or hallucinating tool names not in the schema)</li>
</ul>
<p>Published data from community benchmarks on the function-calling leaderboard suggests that tool-calling accuracy begins degrading meaningfully at Q4_K_M (not just Q3), and drops sharply at Q3_K_M. Specifically: a model that achieves 90% tool-call success at BF16 may drop to ~87% at Q4_K_M, ~81% at Q3_K_M, and ~68% at Q2_K. These are rough estimates based on community reports; official benchmarks across quantization levels for tool-calling specifically are limited. For production agentic workloads, I recommend Q4_K_M as the minimum and Q5_K_M or higher where possible. See the <a href="/leaderboards/function-calling-benchmarks-leaderboard/">function calling benchmarks leaderboard</a> for model rankings at full precision.</p>
<hr>
<h2 id="hallucination-increases-monotonically-with-quantization-aggression">Hallucination Increases Monotonically with Quantization Aggression</h2>
<p>This is the finding from the GPTQ paper (<a href="https://arxiv.org/abs/2210.17323">arXiv:2210.17323</a>) and subsequent community analysis that most brief quantization guides omit: <strong>hallucination rate increases monotonically with quantization aggressiveness, not just quality benchmarks</strong>.</p>
<p>MMLU and HumanEval capture &quot;does the model know the right answer.&quot; They do not directly measure &quot;does the model confidently produce wrong answers.&quot; The perplexity metric captures this better - a higher perplexity means the model is less certain about each token, which means that when it makes a mistake, it is less obviously making a mistake. Subtly wrong answers with high confidence are more dangerous than obviously wrong answers.</p>
<p>The practical implication: for use cases where hallucination risk matters (medical, legal, financial, factual research), do not use Q3_K_M or below, even if benchmark scores look acceptable. The MMLU delta of 2.0 at Q3_K_M understates the confidence-calibration damage that aggressive quantization does to model outputs.</p>
<p>For reference, the AWQ paper (<a href="https://arxiv.org/abs/2306.00978">arXiv:2306.00978</a>) shows that activation-aware methods reduce hallucination rate at equivalent bit depths compared to naive quantization or GPTQ, which is part of why AWQ and I-quant GGUF variants are preferred over basic Q4_0 GGUF for quality-sensitive workloads.</p>
<hr>
<h2 id="choosing-a-format-quick-decision-tree">Choosing a Format: Quick Decision Tree</h2>
<p><strong>Do you use llama.cpp, Ollama, LM Studio, Jan, or koboldcpp?</strong></p>
<ul>
<li>Use GGUF K-quants. Q4_K_M as your default. Q5_K_M or Q6_K if you have VRAM to spare. Q8_0 if the model fits easily and you want maximum fidelity.</li>
</ul>
<p><strong>Do you run models through the <code>transformers</code> library with CUDA?</strong></p>
<ul>
<li>Use AWQ (best quality per bit) or GPTQ INT4 (wider model availability). BitsAndBytes INT8 for lossless inference if VRAM allows.</li>
</ul>
<p><strong>Do you deploy to a production inference server (vLLM, TensorRT-LLM)?</strong></p>
<ul>
<li>AWQ INT4 is the standard for vLLM quantized deployment. TensorRT-LLM supports INT8 and INT4 with its own calibration pipeline. See the <a href="/tools/best-open-source-llm-inference-servers-2026/">best open-source LLM inference servers guide</a> for per-server format recommendations.</li>
</ul>
<p><strong>Do you have an NVIDIA H100 or similar data center GPU?</strong></p>
<ul>
<li>FP8 native inference is the right choice. DeepSeek V3 ships with FP8 kernels; Llama 3.1 405B has an official FP8 release from Meta. Quality is near-lossless versus BF16 at half the memory requirement.</li>
</ul>
<p><strong>Are you running on Apple Silicon?</strong></p>
<ul>
<li>GGUF via llama.cpp or MLX via the MLX-LM library. For models that fit at Q4_K_M or higher, the quality and speed are both excellent. See the <a href="/leaderboards/home-gpu-llm-leaderboard/">home GPU LLM leaderboard</a> for Apple Silicon speeds.</li>
</ul>
<hr>
<h2 id="caveats-and-limitations">Caveats and Limitations</h2>
<p><strong>Per-task variance is real.</strong> MMLU and perplexity averages mask task-specific behavior. A model that loses 1.5 MMLU points globally at Q4_K_M may lose 3 points on graduate-level science questions and 0 points on reading comprehension. If you have a specific high-stakes task, benchmark the specific task at the quantization level you plan to deploy, not just MMLU.</p>
<p><strong>Calibration data matters for I-quants and GPTQ.</strong> The improved quality of I-quant GGUF variants (IQ3_M, IQ4_NL) and GPTQ models comes from calibration data used during quantization. A GPTQ model calibrated on code data will preserve code performance better at a given bit depth than a GPTQ model calibrated on generic web text. The model name alone does not tell you the calibration set. Check the quantization author's notes. The bartowski and unsloth model releases generally document this.</p>
<p><strong>Context length affects quantization impact.</strong> Long-context tasks are more sensitive to quantization than short-context tasks. At 32K+ context, quantization errors in attention layers compound over the long KV cache. The perplexity numbers in the tables above are measured at short contexts. For long-context deployments, add approximately 0.5-1.0 extra perplexity delta to Q3_K_M and 0.2-0.4 to Q4_K_M to account for this.</p>
<p><strong>Model families matter more than format.</strong> A Qwen 2.5 32B at Q3_K_M likely outperforms a Llama 3.1 8B at BF16 on MMLU. The scale advantage overwhelms the quantization penalty at any reasonable comparison. When choosing between &quot;smaller model at high precision&quot; and &quot;larger model at lower precision,&quot; bias toward larger models at moderate quantization unless you have specific VRAM or latency constraints.</p>
<p><strong>This leaderboard covers published formats as of April 2026.</strong> FP8 inference, MXFP4, and hardware-native quantization formats are evolving rapidly. The GGUF I-quant variants are improving with each llama.cpp release. Check the <a href="https://github.com/ggml-org/llama.cpp">llama.cpp quantization documentation</a> for the latest formats before committing to a deployment configuration.</p>
<hr>
<h2 id="cross-references">Cross-References</h2>
<ul>
<li>For model quality rankings at full precision, see the <a href="/leaderboards/open-source-llm-leaderboard/">open-source LLM leaderboard</a> and <a href="/leaderboards/overall-llm-rankings-apr-2026/">overall LLM rankings</a></li>
<li>For hardware-specific speed benchmarks by model, see the <a href="/leaderboards/home-gpu-llm-leaderboard/">home GPU LLM leaderboard</a></li>
<li>For on-device and edge inference (sub-7B models, phones, Raspberry Pi), see the <a href="/leaderboards/edge-mobile-llm-leaderboard/">edge and mobile LLM leaderboard</a></li>
<li>For small model quality rankings specifically, see the <a href="/leaderboards/small-language-model-leaderboard/">small language model leaderboard</a></li>
<li>For inference server tooling and deployment format compatibility, see the <a href="/tools/best-open-source-llm-inference-servers-2026/">best open-source LLM inference servers</a></li>
</ul>
<hr>
<h2 id="sources">Sources</h2>
<ul>
<li><a href="https://arxiv.org/abs/2210.17323">GPTQ: Accurate Post-Training Quantization (arXiv:2210.17323)</a></li>
<li><a href="https://arxiv.org/abs/2306.00978">AWQ: Activation-Aware Weight Quantization (arXiv:2306.00978)</a></li>
<li><a href="https://arxiv.org/abs/2208.07339">LLM.int8(): 8-bit Matrix Multiplication for Transformers (arXiv:2208.07339)</a></li>
<li><a href="https://arxiv.org/abs/2307.13304">QuIP: Even Better LLM Quantization with Incoherence Processing (arXiv:2307.13304)</a> - Note: arXiv 2307.13304 is the QuIP paper referenced for theoretical limits</li>
<li><a href="https://arxiv.org/abs/2402.12662">AQLM / GPTQ Quantization Methods Survey (arXiv:2402.12662)</a></li>
<li><a href="https://github.com/ggml-org/llama.cpp">llama.cpp GitHub - GGUF K-quant documentation</a></li>
<li><a href="https://github.com/ggml-org/llama.cpp/discussions/4167">llama.cpp Apple Silicon Benchmarks - Discussion #4167</a></li>
<li><a href="https://github.com/ggml-org/llama.cpp/discussions/15013">llama.cpp CUDA GPU Benchmarks - Discussion #15013</a></li>
<li><a href="https://github.com/ggml-org/llama.cpp/discussions/2094">llama.cpp Quantization Quality Thread - Discussion #2094</a></li>
<li><a href="https://huggingface.co/docs/transformers/quantization/gguf">Hugging Face Transformers - GGUF Quantization</a></li>
<li><a href="https://huggingface.co/docs/transformers/quantization/awq">Hugging Face Transformers - AWQ Quantization</a></li>
<li><a href="https://huggingface.co/docs/transformers/quantization/gptq">Hugging Face Transformers - GPTQ Quantization</a></li>
<li><a href="https://huggingface.co/docs/transformers/quantization/bitsandbytes">Hugging Face Transformers - BitsAndBytes</a></li>
<li><a href="https://huggingface.co/blog/4bit-transformers-bitsandbytes">Hugging Face Blog - 4-bit Quantization with BitsAndBytes</a></li>
<li><a href="https://github.com/AutoGPTQ/AutoGPTQ">AutoGPTQ - GitHub</a></li>
<li><a href="https://github.com/casper-hansen/AutoAWQ">AutoAWQ - GitHub</a></li>
<li><a href="https://github.com/bitsandbytes-foundation/bitsandbytes">BitsAndBytes Foundation - GitHub</a></li>
<li><a href="https://huggingface.co/bartowski">bartowski GGUF quantization releases - Hugging Face</a></li>
<li><a href="https://huggingface.co/unsloth">Unsloth GGUF quantization releases - Hugging Face</a></li>
</ul>
]]></content:encoded><dc:creator>James Kowalski</dc:creator><category>Leaderboards</category><media:content url="https://awesomeagents.ai/images/leaderboards/llm-quantization-impact-leaderboard_hu_487d5d0ac632a0ac.jpg" medium="image" width="1200" height="630"/><media:thumbnail url="https://awesomeagents.ai/images/leaderboards/llm-quantization-impact-leaderboard_hu_487d5d0ac632a0ac.jpg" width="1200" height="630"/></item></channel></rss>