The short answer:
Quantization reduces the precision of a model’s weights so the same model uses less memory and often runs faster. For most local Qwen work the practical starting point is a Q4-level quantization (commonly Q4_K_M). Move up to Q5 or Q6 when you have VRAM headroom and care about the last bit of quality on coding or structured tasks. Use Q8 when you want near-reference quality and the hardware can afford it. Lower than Q4 is usually a last resort.
Who This Is For
This guide is for developers who have already run a Qwen model with Ollama (or another GGUF-based tool) and now want to understand the numbers attached to the model files—Q4_K_M, Q5_K_M, Q6_K, Q8_0, and similar labels. You do not need a deep background in numerical formats. You only need to know how the choice affects memory, speed, and output quality on your machine.
What Quantization Actually Does
A full-precision language model stores its weights in 16-bit or 32-bit floating-point numbers. That is accurate but expensive in memory. Quantization maps those values to a smaller set of representable numbers (for example 4-bit or 8-bit integers) with scaling factors so the model can still compute useful outputs.
The result is a smaller file and a smaller memory footprint at inference time. The architecture, tokenizer, and context handling stay the same. You are running the same model with lower-precision weights, not a different model.
In the GGUF ecosystem (the format used by llama.cpp, Ollama, and many other local tools) the common labels look like this:
Q4_K_M — roughly 4–5 bits per weight, “medium” K-quant variant
Q5_K_M — roughly 5–6 bits per weight
Q6_K — roughly 6–7 bits per weight
Q8_0 — roughly 8 bits per weight
The “K” indicates a more sophisticated quantization method than older simple schemes. The “M” (medium) versus “S” (small) or “L” (large) variants allocate bits differently across tensors; M is the usual balanced choice.

The Practical Trade-off Table
Approximate relative size and quality orientation for a typical dense model (exact numbers vary by architecture and the specific quantizer used):
Level | Approx. bits | Size vs FP16 | Quality vs FP16 (typical) | Common use |
|---|---|---|---|---|
Q4_K_M | ~4.8–5 | ~30% | Small loss (~1% range on many metrics) | Default starting point |
Q5_K_M | ~5.7 | ~35% | Smaller loss | When you have headroom and want better fidelity |
Q6_K | ~6.6 | ~40% | Near-negligible loss | High-quality local runs that still fit |
Q8_0 | ~8.5 | ~50–55% | Effectively lossless for most practical purposes | Reference quality, evaluation, or when VRAM is abundant |
Lower levels (Q3, Q2, and various IQ variants) exist and can make an otherwise impossible model fit. They introduce more noticeable degradation and are best treated as compromises rather than defaults.
How to Choose for Qwen Work
Start with Q4_K_M in almost every case.
It is the community default for a reason: it delivers a large memory saving with quality loss that is often hard to notice in everyday chat, summarization, and light coding assistance. Most Ollama library tags ship a Q4-style quantization as the baseline.
Step up to Q5_K_M or Q6_K when:
The Q4 version already fits comfortably and you still have VRAM left
Your task is sensitive to small errors (precise coding, structured JSON, math-heavy reasoning, careful multilingual work)
You are evaluating model quality and want to reduce quantization as a confounding factor
Use Q8_0 when:
You have clear headroom and want the closest practical approximation to the original weights
You are doing careful comparisons or using the model as a base for further work
The extra memory cost is acceptable for the session length and context you need
Drop below Q4 only when:
Even Q4 does not fit and you still need that model size
You accept visible quality loss in exchange for being able to run at all
The same model at different quantizations is still the same model. A well-chosen smaller quantized model frequently outperforms a larger model that has been forced into an extremely aggressive quantization just to fit.
Memory Is More Than the Weights
The quantized file size is only the starting point. At runtime you also need:
KV cache (grows with context length)
Activations and runtime overhead
Any other models or processes sharing the GPU
A Q4 model that fits at 4K–8K context can become tight or spill to system RAM once you push context much higher. Always leave headroom. The earlier hardware checklist and the Ollama setup guide both emphasize measuring real usage rather than trusting file size alone.
Ollama and Quantization
When you run a command such as ollama run qwen2.5:7b, Ollama pulls a pre-quantized GGUF (usually a Q4-class variant) from its library. You do not have to choose the quant explicitly for the common tags.
If you want a specific quantization:
Look for tags that include the quant in the name, or
Download a GGUF file yourself and create a local Modelfile that points at it, then ollama create a custom tag.
For most people the library default is the right place to begin. Only move to custom GGUFs when you have a concrete reason (specific quant, specific fine-tune, or a model not yet in the library).
A Simple Decision Rule
Check how much VRAM (or unified memory) you actually have free.
Pick the largest model size that fits at Q4_K_M with moderate context.
Run a few representative prompts from your real workload.
If quality feels insufficient and you still have memory headroom, try the same size at Q5 or Q6.
Only then consider a larger model size or a different tool chain.
This sequence keeps the focus on usefulness instead of collecting every available quant of every model.

What This Site Will Not Do
We will not publish a single “best quant” ranking that ignores hardware and task. We will not treat tokens-per-second as the complete definition of quality. And we will not recommend dropping to extreme quantizations solely to force a larger model onto undersized hardware when a smaller, higher-precision model would serve the task better.
The useful question remains: what is the smallest setup that reliably does the job I actually need?
Looking Ahead
Later articles will dig into measured memory use for different Qwen sizes, CPU versus GPU trade-offs, and how to expose a stable local API once you have chosen a quant that works. The quantization decision you make here is one of the highest-leverage choices in the local stack—get it roughly right and everything else becomes easier.
Make it run. Make it useful.
No comments yet — be the first to share a thought.