跳转到内容

KV Cache 与 PagedAttention

自回归解码需要缓存每层的 K/V,其大小与序列长度、batch 成正比,很快超过模型权重本身。vLLM 的 PagedAttention 借鉴虚拟内存分页管理 KV cache,消除碎片并支持共享前缀。本章推导 KV cache 的容量公式与分页带来的收益。

  • KV cache 大小 = 2 × 层数 × 头数 × 头维 × 序列长 × batch × 精度字节
  • GQA/MQA 通过共享 KV 头直接压缩 cache
  • 前缀缓存对多轮对话与系统提示极为有效