INT8 KV cache vs INT8 weight quantization, which one is easier in production?
Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
Weight INT8 is the mature, easy path; INT8 KV cache is the harder one because activations have wider dynamic range and errors compound across layers.
Picture two different freezing problems. Freezing a shelf of canned soup is easy: the cans are identical, you know their size, you stack them once and never touch them again. Freezing the day's catch on a fishing boat is harder: the fish are different sizes, some species swell when frozen, and every time you reopen the freezer the temperature shifts a little. Weights are like the canned soup, static and predictable. The KV cache is like the daily catch, changing with every input and read many times by later attention layers. Same INT8 storage size, very different difficulty.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
5m: why weights are easier than activations, outlier channels and SmoothQuant, per-channel vs per-token KV scales, error compounding across decode steps, and the 2026 production order from weight INT4 with FP16 KV through FP8 to INT8.
| Property | INT8 weights | INT8 KV cache |
|---|---|---|
| Value type | Static parameter | Dynamic activation |
| Calibration | Offline, one-time | Holds across all serving inputs |
| Outlier handling | Migrate scale into activations (SmoothQuant) | Per-channel or per-token scales required |
| Error impact | One matmul per forward pass | Compounds across every decode step |
| 2026 tooling | AWQ, GPTQ, SmoothQuant | vLLM FP8, TensorRT-LLM INT8, llama.cpp Q8_0 |
| Production maturity | Standard default | Adopted selectively after FP8 KV |
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Assuming both INT8 paths share the same calibration pipeline and risk profile. KV cache values are dynamic activations with outlier channels, while weights are static and channel-stable. Plan them as separate engineering problems.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.