Decode is a memory-streaming process rather than a compute-bound process: every generated token requires reading model weights and KV state from HBM. As a result, decode latency and throughput depend on bytes moved per token, so reducing context size, quantized weights, or output length is a direct latency lever.
Engineers incorrectly optimize decode by selecting bigger FLOP-rated GPUs. Once you know decode is bandwidth-bound, you instead care about memory bandwidth, weight precision, KV cache size, and prompt compression.
Any autoregressive sequence-generation workload is best modeled as a memory-traffic problem, not just a compute problem; designing for fewer bytes to stream is the core lever.
During token generation (decode), the GPU spends most of its time reading model weights and KV cache from HBM rather than performing arithmetic.
Decode is memory-bound, not compute-bound.
Mistral-7B decode step streams 14.5 GB from HBM to SRAM on every step.