PagedAttention

分类: 高效推理与部署

PagedAttention

定义

PagedAttention 是 Kwon et al. (2023) 提出的 KV cache 内存管理机制,借鉴操作系统虚拟内存的分页思想,将 KV cache 存储在非连续的物理内存块中,通过页表映射实现动态分配。

数学形式

KV cache 被分为固定大小的 block(页),每个 block 存储固定数量 token 的 K/V 向量:

Blocki={(kj,vj)}j=iB(i+1)B1\text{Block}_i = \{(k_j, v_j)\}_{j=i \cdot B}^{(i+1) \cdot B - 1}

通过页表实现逻辑序列位置到物理 block 的映射。

核心要点

解决 LLM 推理中 KV cache 的内存碎片化问题

内存利用率接近 100%(传统方式因预分配浪费约 60-80%)

vLLM 推理引擎的核心技术

支持 beam search、parallel sampling 等场景的高效 KV cache 共享

代表工作

Kwon et al. “Efficient Memory Management for Large Language Model Serving with PagedAttention” (SOSP 2023)

相关概念

SnapKV

StreamingLLM

GQA

FlashAttention