Quantization headlines report perplexity deltas; your stakeholders need to know whether your task's quality survives. This playbook benchmarks quantized builds of the same model — AWQ and GPTQ 4-bit, plus FP8 where hardware allows — on three axes at once: task quality via your own eval harness, throughput/latency via the pb-46 protocol, and VRAM footprint.
Tier: Advanced · Workflow area: Serving & LLMOps
The output is an eval-parity report that says which build to serve and what it costs in quality.
Skip if you only ever call hosted APIs — quantization choices are the provider's problem there.
<model>-AWQ, <model>-GPTQ, -FP8) — quantizing yourself is a separate project.Fix everything except the quantization. Same base model, same --max-model-len, same sampling parameters, same prompt set, same eval harness. One variable.
Serve each build in turn (one at a time on a single GPU):
vllm serve <org>/<model>-AWQ --quantization awq --max-model-len 8192
vllm serve <org>/<model>-GPTQ --quantization gptq --max-model-len 8192
vllm serve <org>/<model>-FP8 --quantization fp8 --max-model-len 8192 # Ada/Hopper only
# baseline: the FP16 model with no --quantization flag (needs ~2x VRAM)
Measure VRAM honestly. Record nvidia-smi peak memory after warm-up at your benchmark concurrency — KV cache grows with load, so idle VRAM understates the footprint. Also record max concurrent requests before out-of-memory or queue collapse.
Run the quality harness against each endpoint. Same 50–100 examples, 2–3 repeats if outputs are non-deterministic. Score per-example so you can inspect which items degrade — quantization damage is often concentrated in long-form reasoning and math, not spread evenly.
Run the throughput protocol from pb-46 on each build: TTFT p50/p95 and system tok/s at fixed concurrency. Documented FP8 experience is ~25–30% throughput gain over FP16 on supported hardware; 4-bit builds mostly buy VRAM (bigger batch = more throughput at high concurrency), not single-stream speed.
Assemble the parity report. One table: build × {quality score, Δ vs FP16, p95 TTFT, tok/s, peak VRAM, max concurrency}, plus 3 worked examples of the worst quality regressions. End with a recommendation and the condition that would reverse it ("AWQ; revisit if we add chain-of-math features where its Δ concentrated").
Quantization quality loss is task-shaped, not uniform — a 0.5% average delta can hide a 15% regression on exactly the item type your product depends on. Per-example scoring, not aggregate perplexity, is what makes the study decision-grade.
-AWQ uploads from random accounts are sometimes quantized from a different base revision; check the model card lineage or quantize from your own weights.Runs entirely on your infra by construction. If eval examples contain client data, the rubric-judge scoring must also use a local model (serve a second small model, or score with the FP16 build judging the quantized ones — note the conflict of interest in the report). Kaggle free tier covers the full AWQ/GPTQ/FP16 study within a weekly GPU allowance; FP8 needs a rented L4/H100 spot box for an hour or two.
Know the hardware matrix cold — "why won't FP8 run on a T4?" (no Ada/Hopper FP8 tensor-core path) is a one-line answer that signals real serving experience.