Skip to content
🔗 分享本题
查看我的学习进度 →

推理框架专题第2题核心机制与工程取舍图解

🧠 图解记忆: PagedAttention 像虚拟内存,把连续序列映射到离散 KV 块,减少预留与碎片。

💡 答案要点

问题背景:

  • LLM推理需要存储KV Cache(键值缓存)
  • 传统方案:连续内存分配,预分配固定大小
  • 问题:内存碎片和按最大长度预留会浪费显存,限制可承载并发

PagedAttention 解决方案:

传统方案:
显存: [请求1的KV  ][请求2的KV  ][    空闲    ]
      4GB        3GB         9GB → 碎片,无法分配

PagedAttention(分页式):
逻辑块表: 请求A [0][1][2] ──映射──> 物理块 [7][1][5]
          请求B [0][1]    ──映射──> 物理块 [3][6]
      逻辑顺序连续,物理块可以不连续,并按需分配
      → 减少碎片和为最大长度预留造成的浪费

核心原理:

  • 受操作系统虚拟内存/分页启发
  • KV Cache 按固定大小的块管理,块大小由实现和配置决定
  • 块表维护逻辑块到物理块的映射,因此单个请求的物理块不必连续

性能影响:

  • 降低内部/外部碎片和过度预留,使同一显存可容纳更多并发序列
  • 实际吞吐和显存收益取决于模型、序列长度分布、块大小、调度器与基线实现,必须实测

面试话术:

"PagedAttention 借鉴虚拟内存分页思想:逻辑 KV 块按序编号,再通过块表映射到可非连续的物理块,并按需分配。它主要解决 KV Cache 碎片和过度预留问题,从而为更高并发留下空间;具体收益要在目标负载上 benchmark。"

📚 参考:vLLM:PagedAttention(原论文)