PagedAttention
PagedAttentionKV Cache 分页管理
亦作、亦称:分页注意力
PagedAttention 是一种受操作系统虚拟内存分页机制启发的 KV Cache 管理算法,由 UC Berkeley Sky Computing Lab 的 Woosuk Kwon 等人于 2023 年随 vLLM 推理引擎一同提出。它将 KV Cache 切分为固定大小的物理块,通过逻辑块表映射到 GPU 显存中的不连续物理块,从根本上消除了传统连续预分配方案中的显存碎片问题,使同等硬件可服务的并发请求数大幅提升。
概述
PagedAttention 是一种受操作系统虚拟内存分页机制启发的 KV Cache 管理算法,由 UC Berkeley Sky Computing Lab 的 Woosuk Kwon 等人于 2023 年随 vLLM 推理引擎一同提出。它将 KV Cache 切分为固定大小的物理块,通过逻辑块表映射到 GPU 显存中的不连续物理块,从根本上消除了传统连续预分配方案中的显存碎片问题,使同等硬件可服务的并发请求数大幅提升。
背景:传统 KV Cache 的显存浪费
在自回归解码过程中,每个 token 都需要保存对应的键值向量(KV Cache),传统系统通常为每条序列预先分配连续显存,导致三类浪费:
- 预留碎片:为未来可能生成的 token 提前按最大长度占位,实际大量未使用
- 内部碎片:固定分配块末尾因序列提前结束而闲置的空间
- 外部碎片:多条序列交替分配后产生的零散不可用空隙
- 原论文实测,早期推理系统实际显存利用率最低仅约 20.4%
- 显存利用率低直接限制了可同时服务的并发请求数量和系统吞吐
核心机制:分页映射
PagedAttention 借鉴操作系统虚拟内存原理,将 KV Cache 的逻辑存储与物理布局彻底解耦:
- 物理块划分:GPU 显存预先切分为若干等大小物理块(如每块存储 16 个 token 的 K/V 向量),由全局块管理器统一分配与回收
- 逻辑块编号:每条序列拥有连续的逻辑块编号,对上层 Attention 计算透明
- 块表(Block Table):每条序列维护一张逻辑块→物理块的映射表,类似操作系统页表
- 按需分配:只在实际需要存储新 token 时才申请物理块,序列结束后立即释放,避免预留浪费
- 写时复制(Copy-on-Write):多条序列共享相同前缀块时采用 CoW 机制,修改时才触发物理复制
显存共享与复用
分页设计天然支持多种跨请求显存共享场景:
- 并行采样(Parallel Sampling):同一 prompt 生成多条候选输出时,前缀物理块可完全共享,节省显著显存
- 束搜索(Beam Search):各 beam 在分叉前的公共前缀块零拷贝共享,原论文测得节省约 37.6–55.2% 显存
- 前缀缓存(Prefix Caching):相同系统提示的多次请求可直接复用已缓存物理块,无需重新计算
- 跨请求调度:显存管理器可灵活换入换出物理块,支持抢占与优先级调度,配合 Continuous Batching 最大化 GPU 利用率
性能表现
原论文与社区实测均验证了显著的吞吐提升:
- 与 FasterTransformer、Orca 等基线相比,vLLM 吞吐量提升 2–4 倍,同时保持相当的延迟水平
- 并行采样场景显存节省 6.1–9.8%,束搜索场景节省 37.6–55.2%
- 与 Hugging Face Transformers 原生实现对比,部分场景吞吐差距可达数倍至 24 倍
- 支持在同等显存预算下服务原本因碎片导致 OOM 的更长序列或更大并发批次
与相邻概念的区分
PagedAttention 常与若干相近技术混淆,需加以区分:
- 与 KV Cache 的关系:KV Cache 是「缓存已算 Key/Value 避免重复计算」的通用策略;PagedAttention 是对 KV Cache「在显存中如何布局管理」的具体实现,两者是包含关系
- 与 Flash Attention 的区别:Flash Attention 优化单次 Attention 运算的 HBM IO 效率;PagedAttention 优化多请求并发时的 KV Cache 显存布局,两者正交可叠加
- 与 Continuous Batching 的区别:Continuous Batching 解决「何时将请求放入批次」的调度问题;PagedAttention 解决「KV Cache 放在显存哪里」的存储问题
- 「PagedAttention = vLLM」是误区:PagedAttention 是算法机制,vLLM 是实现了该机制的推理框架,SGLang、TensorRT-LLM 等也有类似块式 KV 管理
发展脉络
PagedAttention 的提出及后续生态演进:
- 2017:Transformer 提出,自回归生成中 KV Cache 的必要性首次明确
- 2022:Flash Attention 发布,优化单次 Attention 计算的 IO,但 KV Cache 显存管理问题仍悬而未决
- 2023 年 6 月:UC Berkeley 团队开源 vLLM 并发布博客,首次公开 PagedAttention 实现
- 2023 年 10 月:论文「Efficient Memory Management for Large Language Model Serving with PagedAttention」在 SOSP 2023 正式发表
- 2023–2024 年:TGI、TensorRT-LLM、SGLang 等主流推理框架相继引入类似块式 KV 管理机制
- 2024–2025 年:RadixAttention(SGLang)、Automatic Prefix Caching、Disaggregated Prefill/Decode 等扩展与 PagedAttention 结合,持续推动推理效率边界
局限与注意事项
PagedAttention 并非没有代价,实际使用需了解以下限制:
- 块大小是超参:块过小则页表开销增大,块过大则内部碎片仍不可忽视,通常选 16–32 token 每块需针对工作负载调优
- 不降低单请求延迟:PagedAttention 优化显存利用率与并发度,并不减少 Attention 的 FLOPs,对单条请求的首 token 延迟几乎无改善
- 内核实现复杂:非连续物理块访问要求自定义 CUDA kernel,实现与维护成本较高
- 与 Flash Attention 集成需专门适配:两者正交但需在内核层面联合设计才能同时发挥最优效果
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「KV Cache 分页管理」
- 「像虚拟内存管 KV」
- 「vLLM 的核心技术」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 高级系统设计高频查看详解 →
LLM 推理服务如何优化吞吐与延迟(vLLM / 批处理 / 量化)?
连续批处理提吞吐、PagedAttention 省显存、量化降成本、张量并行扩容量、投机解码降延迟。
- 中级场景查看详解 →
离线批量推理如何高效跑大规模请求?
离线批量推理以吞吐为先:大 batch、连续批处理、按长度排序减 padding、多副本并行。
- 中级概念查看详解 →
连续批处理(Continuous Batching)为什么能提升 LLM 服务吞吐?
以迭代为粒度调度:每步把完成的序列换出、新请求即时填入,消除静态批里等齐木桶效应造成的 GPU 空转。
- 中级概念高频查看详解 →
AI视频生成中的「拼接问题」(角色漂移/光照不一致)如何产生?原生生成如何解决?
传统AI视频生成将长视频拆为2-4秒短片段独立生成,拼接后出现角色外貌变化、光照跳变、动作不连贯等问题。Seedance 2.5 的多参考注入机制和原生30秒生成从根本上解决了拼接问题。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
- 1
LLM 推理加速(四):新范式从 Speculative Decoding 到 DFlash
2026 年 4 月,z-lab 开源的 DFlash(Block Diffusion for Flash Speculative Decoding)一周内突破 2,000 星,将推测解码技术推向了新的高度。从 2023 年的 SpecInfer 到 2024 年的 Medusa、Eagle,再到 2025 年的 Lookahead Decoding 和 2026 年的 DFlash,LLM 推理加速经历了从「验证单 Token」到「预测 Token 块」再到「扩散式生成」的范式跃迁。本文深度解析推测解码的完整技术演进路线,对比 5 种主流方法的原理与性能,提供完整的 Python 实现代码,并给出生产部署的实战指南。
- 2
LLM 推理优化:量化、剪枝、蒸馏与推理加速实战
系统讲解大语言模型推理优化的四大核心技术——量化(Quantization)、剪枝(Pruning)、知识蒸馏(Knowledge Distillation)和推理引擎加速,覆盖从原理到实战的完整链路
- 3
LLM 推理加速实战:从 KV Cache 优化到推测解码
系统梳理 LLM 推理加速的核心技术——KV Cache 管理、PagedAttention、推测解码、连续批处理,掌握生产环境推理优化的决策框架和工具链
外部参考
维基百科:查看「PagedAttention」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
