KV Cache
KV Cache(键值缓存)是Transformer模型推理过程中的一种优化机制,用于缓存注意力计算中每个token对应的键(Key)和值(Value)向量。在自回归生成任务中,模型每步生成新token时无需重新计算历史token的键值对,而是直接复用缓存结果,从而显著降低重复计算量、提升推理效率。该机制以增加显存占用为代价换取计算速度的提升,是大语言模型部署优化的核心技术之一。
核心事实
时间轴 (近 90 天)
KV Cache 管理、批处理调度、显存分配等运维层面的调优经验几乎与具体模型版本解耦
过拟合优化的常见手段包括针对特定硬件手写ISA指令集内核、硬编码常见序列长度跳过动态形状推断、针对单一模型架构做注意力层融合、以及定制KV Cache布局
传统推理框架为每条并发请求预先分配连续的 KV Cache 显存块,导致显存碎片严重、利用率低下
模型权重版本、量化精度、注意力实现方式一旦变化,旧的KV缓存便不再有效,需要可靠的键值匹配与版本标记机制
持久化方案的实际价值高度依赖命中率,如果请求前缀高度分散、缓存复用率低,落盘带来的开销可能得不偿失
跨请求复用相同上下文前缀的KV缓存可以削减prefill阶段的重复计算,从而降低首字延迟(TTFT)
如果从磁盘加载缓存的速度慢于重新计算,缓存复用就失去意义
Transformer架构在自回归生成时需要对已处理过的token维护Key和Value张量
KV缓存体积庞大,长上下文下单个请求可能达到数GB,带来磁盘读写和容量管理问题
生成式推荐通过KV Cache复用(缓存已计算的用户历史序列键值向量)避免重复计算,降低推理延迟并提升GPU利用率
还有 40 条时间轴事件
全部知识事实 (20)
KV Cache 通过在 GPU 显存中缓存已计算的 Key-Value 对,将自注意力计算复杂度从 O(N²) 降至 O(N),但显存占用随序列长度线性增长
90%已验证PagedAttention是vLLM框架的核心技术,借鉴操作系统虚拟内存管理思想将KV Cache分页存储
90%已验证KV Cache通过缓存已计算的Key/Value矩阵,将推理复杂度从O(n²)降至O(n)
90%已验证PagedAttention将KV缓存分成固定大小的页按需分配,显存利用率可提升2-4倍
85%已验证KV Cache 是 Transformer 注意力机制中间态的持久化存储,记录每层注意力头对已处理token的键和值向量,从而跳过重复的前向传播计算
80%已验证大型语言模型处理长上下文时,注意力机制的计算复杂度与序列长度的平方成正比
80%已验证以LLaMA-3 70B(80层、64头、每头128维)为例,单个token的KV Cache约占2.6MB(FP16精度),32K上下文的KV Cache总量约达83GB
80%已验证Transformer架构的自注意力机制在处理长序列时面临二次方复杂度的计算开销,上下文长度翻倍则计算量增长四倍
80%已验证KV Cache是Transformer架构的核心推理优化机制,其显存占用量会随序列长度和并发批次线性增长
80%已验证PagedAttention技术借鉴操作系统虚拟内存的分页思想,将KV Cache切分为固定大小的物理块动态分配
80%已验证KV Cache通过缓存已计算的Key和Value矩阵避免重复运算,PagedAttention等进阶技术进一步优化缓存内存管理效率
80%已验证vLLM 使用 PagedAttention 进行 KV Cache 管理
80%已验证KV Cache机制可以缓存重复的前缀内容,越简洁的系统提示词缓存命中率越高
80%已验证分页注意力(PagedAttention)是vLLM的核心技术,将KV缓存分块管理,Flash Attention优化注意力计算的内存访问模式
80%已验证以LLaMA-2 70B为例,处理4096 token上下文、批量大小32时,KV Cache可消耗超过80GB显存
80%已验证LLaMA-2-70B在128K上下文长度下单请求KV Cache可占用超过160GB显存
80%已验证LLaMA-2-7B使用FP16精度时每个token的KV Cache约占0.5MB
80%已验证对于70B参数的模型,8K上下文的KV Cache可能额外占用数GB显存
80%已验证相比上一代V4 Flash,V4.1 Flash对高速显存(HBM)的需求降到四分之一,对SSD持久化存储的需求降到八分之一
75%已验证KV Cache机制中,复用已缓存的KV值为命中,上下文变化导致缓存失效需重新计算为未命中
75%