KV Cache 深度解析:显存黑洞、PagedAttention 与三路省内存方案
很多后端工程师第一次接触 LLM 推理都会困惑:为什么 prefill 快如闪电,decode 却一个字一个字地蹦?为什么 8B 模型的 fp16 权重才 16GB,vLLM 却要求 40GB 以上显存?答案都指向同一个东西:KV Cache。它既是 decode 速度的根基,也是推理服务显存和带宽的最大开销。这篇文章从显存账本算起,讲清楚 KV Cache 为什么是推理性能的隐形瓶颈,PagedAttention 如何用「虚拟内存」的思路解决碎片化,以及 GQA、MLA、量化、prefix caching 各自省掉了什么、代价是什么。文末附一个可运行的 numpy 最小实现和生产环境踩坑清单。