Published · Phase 1
KV Cache Quantization: Q4 vs Q8 vs F16
KV-cache quantization is worth using when cache—not weights—is limiting context or concurrency. Start at Q8/FP8, validate quality, and move to Q4 only when the additional capacity has a clear product benefit.
Editorial review: complete · Updated 2026-08-30
Plain-English answer
Plain-English answer guidance: KV-cache quantization is worth using when cache—not weights—is limiting context or concurrency. Start at Q8/FP8, validate quality, and move to Q4 only when the additional capacity has a clear product benefit.
Why it matters
Why it matters guidance: Useful for RAG, agents with long histories, and shared servers. Usually unnecessary for short single-user prompts with ample memory. The feature pays off most beyond 16K–32K or with many active sequences, not on a short one-request benchmark.
Real StackBench examples
| Configuration | Evidence state | Metric | Source |
|---|---|---|---|
| Qwen3.8-27B · RTX 5090 owner-collected public lab · llama.cpp | Measured · Grade A | 22452109312 bytes | StackBench controlled lab approved source qwen38-rtx5090-owner-matrix-20260816 |
| Qwen3.8-27B · RTX 5090 owner-collected public lab · llama.cpp | Measured · Grade A | 22642950144 bytes | StackBench controlled lab approved source qwen38-rtx5090-owner-matrix-20260816 |
| Qwen3.8-27B · RTX 5090 owner-collected public lab · llama.cpp | Measured · Grade A | 22898802688 bytes | StackBench controlled lab approved source qwen38-rtx5090-owner-matrix-20260816 |
Common misconception
Common misconception guidance: Quality effects can be task-specific and difficult to notice without targeted tests. Use calibrated scales when the runtime supports them and the workload is sensitive to long-context accuracy or exact copying.
Measured / example table
| Configuration | Evidence state | Metric | Source |
|---|---|---|---|
| Qwen3.8-27B · RTX 5090 owner-collected public lab · llama.cpp | Measured · Grade A | 22452109312 bytes | StackBench controlled lab approved source qwen38-rtx5090-owner-matrix-20260816 |
| Qwen3.8-27B · RTX 5090 owner-collected public lab · llama.cpp | Measured · Grade A | 22642950144 bytes | StackBench controlled lab approved source qwen38-rtx5090-owner-matrix-20260816 |
| Qwen3.8-27B · RTX 5090 owner-collected public lab · llama.cpp | Measured · Grade A | 22898802688 bytes | StackBench controlled lab approved source qwen38-rtx5090-owner-matrix-20260816 |
Decision rule
Decision rule guidance: Enable Q8/FP8 once F16 cache limits the target. Enable Q4 only after long-context correctness tests pass and the saved memory is actually used.
Related benchmarks
Related benchmarks guidance: The main gain is more sequences/context. Direct speed may improve, remain similar, or regress depending on conversion and kernel efficiency. Reduce context, lower concurrency, cache prefixes, or choose smaller weight precision before taking a more aggressive cache-quality risk.
Planner / Explore CTA
Compare this recommendation against your model, context, concurrency, latency, and budget in the ComputeSage Planner.
Sources / methodology
Recommendations combine official specifications, public model/runtime documentation, adjacent benchmark observations, and clearly labeled engineering estimates. Review the ComputeSage evidence methodology.