什么是 PagedAttention?

PagedAttention 是一种 LLM 服务技术,它像虚拟内存分页一样用固定大小块管理键值缓存显存,以减少浪费和碎片。

工作原理

PagedAttention 因 vLLM 而广为人知,它让 LLM 服务的显存使用更高效。在自回归解码中,每个活跃序列都需要随生成 token 增长的 KV Cache 显存。朴素分配会浪费大量 GPU 显存,因为序列长度不同,预留空间常常过量。PagedAttention 将 KV Cache 拆成块,并把逻辑序列位置映射到物理块,从而实现更灵活的分配、共享和回收。这让内存压力下的更高并发和更好吞吐成为可能。

主要特点

  • 用固定大小块管理 KV Cache,而不是大块连续预留
  • 减少变长序列造成的显存浪费
  • 当 KV Cache 是瓶颈时提升服务并发能力
  • 支持连续批处理负载中的高效调度
  • 与 vLLM 关系密切,但思想也适用于更广泛的 LLM 服务系统

常见用途

  1. 在有限 GPU 显存上服务大量并发 LLM 请求
  2. 减少聊天负载中的 KV Cache 碎片
  3. 提升长输出生成的吞吐量
  4. 在生产推理中支持连续批处理
  5. 评估显存高效的 LLM 服务引擎

示例

loading...
Loading code...

常见问题

为什么会出现 KV Cache 显存浪费?

请求序列长度不同,朴素分配可能为每个请求预留超过实际需要的连续显存。

PagedAttention 只属于 vLLM 吗?

它与 vLLM 强相关,但分页式 KV Cache 管理的思想也可启发其他服务系统。

PagedAttention 会提升模型质量吗?

不会。它是服务效率技术,应在保持模型行为不变的同时提升显存利用率和吞吐量。

PagedAttention 什么时候最有价值?

当 GPU 显存和 KV Cache 碎片限制并发或长上下文服务时,它最有价值。

相关工具

相关术语

相关文章