KV Cache 优化实战:长上下文推理的内存、量化与驱逐
长上下文是 2026 年推理成本的主战场。模型权重是「一次性」成本——加载一次、人人共享;KV Cache 却是「每次请求」成本——随并发数与上下文长度线性增长。以 Llama-3-70B 为例:fp16 权重约 140GB,而单路 128K 上下文的 KV Cache 在 GQA-8 配置下就要 40GiB,若是 MHA-64 架构则高达 320GiB。权重只装一次,KV 却要为每个并发请求各存一份。这就是为什么「上下文 128K 免费」的口号背后,钱都花在 KV 上。
本文按「架构 → 工程 → 量化 → 驱逐」四层拆解 KV Cache 优化:先算清账,再讲 GQA/MLA 如何从模型侧减量,PagedAttention 与前缀缓存如何复用,FP8/KIVI 如何压缩,最后是 StreamingLLM/H2O/SnapKV 这类「不保留全部」的驱逐方案。数字来自公开论文与可复现的计算,工程建议以 vLLM 为例给出可直接落地的配置。