Methodology
We benchmarked three serving stacks — vLLM, TensorRT-LLM, and SGLang — across four quantization configurations: native FP16, static FP8 (W8A8), dynamic FP8, and FP4 (W4A16). Workloads were drawn from production enterprise reasoning patterns rather than generic leaderboards: document comprehension, structured extraction into JSON schemas, multi-hop retrieval reasoning, and constrained code generation.
Every run used identical prompts, seeds, and decoding parameters. We measured not just token throughput but task-level deltas: a model that produces fluent but wrong structured output is a regression, not a win. That distinction drives the entire audit.
What We Found
Static FP8 delivered a 1.9× throughput gain with a median task-accuracy delta of −0.2% — inside statistical noise for most workloads. Dynamic FP8 closed the gap to −0.05% but cost 12% of the throughput advantage. FP4 was the trap: 2.6× throughput, but schema-extraction accuracy fell 4.8% and multi-hop retrieval degraded 6.1% on long contexts, which would have shipped silent corruption into dependent systems.
GPU memory pressure followed expectation — FP4 freed the most HBM and dramatically reduced cache evictions — but the eviction win did not compensate for the retrieval degradation. For memory-bound fleets, static FP8 plus a 128K KV-cache offload strategy beat FP4 on every measured axis.
Results
Operational Guidance
Ship static FP8 by default for production reasoning workloads, keep a task-level eval gate in the promotion pipeline, and treat FP4 as a special-case lever only for memory-starved edge fleets where you can accept and measure the accuracy trade. Never trust a quantization claim that doesn't report task-level deltas — aggregate benchmarks conceal exactly the failures that break downstream systems.