推理与部署InferenceQuantizationvLLM速答 · 约 6 分钟更新 2026-09-28

KV Cache 也能量化吗?显存还能怎么省?

一句话结论

KV Cache 可以通过非对称量化压缩到 INT8 或 INT4,结合模型结构优化、注意力机制调整和底层的分页显存管理,能把长文本推理的并发上限提升数倍。

先这样答

KV Cache 完全可以量化,通常是从 FP16 压缩到 INT8 或 INT4 精度。在长上下文场景下,KV Cache 随序列长度线性增长,其占用空间甚至会超过模型权重,成为限制并发批大小的绝对瓶颈。优化显存通常从降低每字节大小、减少 KV 头数、缩减注意力范围和消除显存碎片四个维度入手。

量化的核心在于处理 K 和 V 的数值分布差异。K 在通道维度存在离群值,而 V 在 token 维度的分布相对平缓。因此业界确立了非对称的量化方案,即对 K 沿通道维度分组量化,对 V 按 token 量化。这种免调参方案在 2-bit 级别依然能保持接近原模型的质量,使峰值显存下降 2.6 倍,支持批大小扩大 4 倍,真实推理吞吐量提升 2.35 至 3.47 倍。

除了量化减小单元素字节数,显存优化的手段还包括模型结构级的 GQA 或 MQA,通过减少 KV 头数来降低理论占用,或者利用 MLA 进行低秩压缩。在注意力计算范围上,可以使用滑动窗口注意力只保留局部上下文,或者让相邻层跨层共享 KV。在系统调度层面,PagedAttention 借鉴操作系统的虚拟内存分页思想,将 KV Cache 切分为固定大小的块。传统系统的 KV Cache 显存有 62% 到 80% 用于预分配而处于浪费状态,分页机制结合写时复制和前缀共享实现了近乎零浪费,在同等延迟下吞吐量比传统系统高 2 到 4 倍。

总结来说,结构压缩需要重训或改架构,而量化和分页调度是即插即用的推理期手段。这两者相互正交,叠加使用是目前工业界解决长文本高并发的标准解法。

面试官会怎么追问

  • 「为什么 K 和 V 量化的敏感度不一样?」 K 的通道维度存在离群值,如果采用全局量化会被这些极值拉偏。按通道分组量化可以把离群值隔离在各自的组内,而 V 逐 token 分布平缓,直接按 per-token 量化即可控制数值误差。
  • 「PagedAttention 和量化解决的是同一个问题吗?」 不是,两者互相独立且正交。分页解决的是显存碎片和预分配导致的调度浪费问题,把利用率提上来;量化解决的是每个 token 占用的绝对物理空间问题,降低单字节成本。两者叠加使用收益最大。
  • 「为什么 KV Cache 会成为并发上限的决定因素?」 模型的权重占用显存是固定的,比如 7B 模型在 INT4 精度下约占 3.5GB,但 KV Cache 是按批次内总 token 数线性增长的。剩余显存的容量直接决定了系统还能塞下多大的批大小,进而决定了并发吞吐量。

回答的坑

  • 不要笼统地说把 KV 统一压缩到 INT8,必须明确指出 K 和 V 的数值分布不同,采用非对称量化才是当前的主流有效方案。
  • 不要把 GQA 和 PagedAttention 混为一谈,前者属于需要重训的模型结构优化,降低的是理论占用量,后者属于底层系统级调度优化,解决的是显存碎片浪费。
—— 本题完 ——