1. 大模型推理的内存管理挑战
在大型语言模型(LLM)推理过程中,内存管理是一个关键瓶颈。随着模型规模的不断扩大和请求量的增加,GPU显存的有效利用直接决定了推理服务的吞吐量和响应速度。传统的内存管理方式在面对现代LLM推理需求时,暴露出了诸多不足。
1.1 KV Cache的内存占用特性
KV Cache(Key-Value缓存)是自回归语言模型推理过程中的核心数据结构。它存储了每个Token对应的Key和Value向量,这些向量会在生成后续Token时被重复使用。KV Cache的特点包括:
- 线性增长特性:KV Cache的大小与输入序列长度和批处理大小成正比。对于一个典型的175B参数模型,单个Token的KV Cache可能占用数MB显存。
- 层级存储结构:在Transformer架构中,每一层都有自己的KV Cache,进一步放大了内存需求。
- 动态变化特性:在生成式任务中,输出长度无法预先确定,导致KV Cache的需求量持续增长。

1.2 传统内存管理方式的缺陷
传统推理框架通常采用静态预分配策略,为每个请求预留固定大小的连续内存空间。这种方式在实际应用中存在三个主要问题:
-
预留空间浪费:为应对可能的序列长度,系统不得不预留最大可能长度的内存空间,但实际上大部分请求不会达到这个长度。
-
内部碎片问题:当实际序列长度小于预分配空间时,剩余部分无法被其他请求利用,造成显存浪费。
-
外部碎片问题:频繁的内存分配和释放会导致显存中出现大量不连续的小块空闲空间,即使总空闲空间足够,也可能无法满足新请求的大块连续内存需求。

需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. PagedAttention的核心设计
2.1 虚拟内存思想的引入
PagedAttention借鉴了操作系统中的虚拟内存管理思想
