KV缓存
KV缓存(Key-Value Cache)是大语言模型推理中的一种优化机制,用于存储注意力计算过程中已生成的键(Key)和值(Value)张量。通过复用历史计算结果,避免对已处理token的重复运算,从而显著降低自回归生成时的计算量,提升推理效率。广泛应用于Transformer架构模型的部署与加速场景。
核心事实
时间轴 (近 90 天)
DCKV是一种可微分的KV缓存编解码器,首次实现端到端训练,将变换、量化器和熵模型与冻结的语言模型联合优化。
当长提示词导致请求驻留时间延长时,批处理槽位复用若缺乏严格的会话边界清理,残留的KV状态可能被下一个请求读取。
长提示词触发跨用户泄露通常与推理引擎对上下文长度、批处理策略和KV缓存的管理方式有关。
RadixAttention前缀缓存将多个请求的提示词构建成基数树,相同前缀只计算一次KV缓存,后续请求可直接复用。
大模型推理的共享粒度比传统SaaS更细——不仅共享计算资源,还共享中间计算结果(KV缓存)和批处理批次。
如果缓存未能在请求之间正确隔离,一个用户的上下文信息可能泄露给另一个用户,形成跨请求数据暴露。
多租户模式下,隔离边界不仅包括网络和存储,还延伸到GPU显存中的中间状态,KV缓存是其中最易被忽视的一环。
过去一年,围绕KV缓存压缩、分页管理和前缀复用的研究密集出现,长上下文成本已成为智能体落地的核心瓶颈之一。
缓存可丢弃程度取决于任务对历史信息的依赖强度:信息检索类任务可能受益更大,而需要严格追踪早期指令的任务未必受益。
该框架使用分布式文件系统构建了容量10万TB的KV缓存池,为智能体场景保留记忆三天,为人类聊天场景保留七天。
还有 40 条时间轴事件
全部知识事实 (20)
KV 缓存是 Transformer 自回归推理中的核心数据结构,其大小约等于 2 × 层数 × 注意力头数 × 头维度 × 序列长度 × 精度字节数。
90%已验证KV Cache 通过在 GPU 显存中缓存已计算的 Key-Value 对,将自注意力计算复杂度从 O(N²) 降至 O(N),但显存占用随序列长度线性增长
90%已验证PagedAttention是vLLM框架的核心技术,借鉴操作系统虚拟内存管理思想将KV Cache分页存储
90%已验证MoE架构的显存占用与推理延迟按激活参数量计算,而非总参数量
90%已验证vLLM 使用 PagedAttention 进行 KV Cache 管理
80%已验证KV Cache 是 Transformer 注意力机制中间态的持久化存储,记录每层注意力头对已处理token的键和值向量,从而跳过重复的前向传播计算
80%已验证vLLM的PagedAttention借鉴操作系统虚拟内存分页思想管理KV缓存,将显存碎片化损耗从约30%降低至接近0
80%已验证以LLaMA-3 70B(80层、64头、每头128维)为例,单个token的KV Cache约占2.6MB(FP16精度),32K上下文的KV Cache总量约达83GB
80%已验证KV Cache是Transformer架构的核心推理优化机制,其显存占用量会随序列长度和并发批次线性增长
80%已验证PagedAttention技术借鉴操作系统虚拟内存的分页思想,将KV Cache切分为固定大小的物理块动态分配
80%已验证量化KV缓存(如FP8或INT4存储KV向量)可将缓存大小压缩到原来的1/2甚至1/4
80%已验证KV Cache机制可以缓存重复的前缀内容,越简洁的系统提示词缓存命中率越高
80%已验证对于70B参数的模型,8K上下文的KV Cache可能额外占用数GB显存
80%已验证KV 缓存大小随上下文长度线性增长,注意力计算量随上下文长度呈平方级增长。
75%已验证上下文越长,KV 缓存线性增长,显存带宽和容量成为推理吞吐的主要瓶颈。
75%已验证持久化KV缓存的代价是存储空间显著增加,以及如何在海量缓存中高效定位和加载相关片段的工程挑战
75%已验证KV缓存随上下文长度线性增长,增加解码阶段每步的内存读取量,是解码速度随上下文增大而下降的根本原因
75%已验证缓存命中率越高,实际计费越接近缓存价格而非完整输入价格,可降低一个数量级
75%已验证KVCache是Transformer架构中缓存之前所有token的Key和Value向量以避免重复计算的机制,其显存占用随上下文长度线性增长
75%已验证相比上一代V4 Flash,V4.1 Flash对高速显存(HBM)的需求降到四分之一,对SSD持久化存储的需求降到八分之一
75%