推理加速框架里的分页注意力(PagedAttention)如何优化 KV 缓存管理?
1. 借鉴操作系统虚拟内存分页
- 传统方案为每个请求预分配连续显存块,实际只用一部分,造成大量内部碎片与预留浪费(朴素连续分配常浪费 60%~80% 的 KV 显存,实际利用率仅约 20%~40%)
- PagedAttention 将 KV 缓存切分为固定大小的分页,通过块表(Block Table)将逻辑块映射到物理上离散的显存页,如同操作系统的虚拟内存分页
2. 消除碎片、提升并发
- 按需分配显存页,避免预留浪费,使同一张 GPU 上可服务更多并发请求
- 这是 vLLM 的核心创新,也是现代推理框架的标配能力;vLLM 论文实测显示,在相同延迟下相较朴素连续分配系统可带来 2~4 倍的吞吐提升
3. 与其他缓存机制的配合
- 在分页基础上,框架进一步引入前缀缓存(Prefix Caching)等机制,跨请求复用公共前缀的 KV 缓存