@Michaelzsguo: KV缓存是模型在生成期间的工作记忆。随着上下文窗口变长,模型必须保留更多…

X AI KOLs Timeline 模型

摘要

DeepSeek的KV缓存压缩创新,包括MLA和CSA/HCA,将KV缓存大小减少了93%,实现了高效的长上下文推理和基于SSD的缓存,正如antirez的ds4.c项目所展示的那样。

KV缓存是模型在生成期间的工作记忆。 随着上下文窗口变长,模型必须为之前的token保留更多的键/值注意力状态。该缓存可能成为RAM或HBM使用量的巨大部分,尤其是在长上下文中,它直接限制了你可以同时处理多少个长提示,或者本地运行模型所需的硬件规格(例如128GB而非64GB)。 那么DeepSeek是如何让KV缓存如此紧凑的呢? DeepSeek的KV缓存故事源自两大创新。 首先,DeepSeek-V2中的MLA使每个token的KV更小。与旧版注意力布局相比,DeepSeek-V2已经将KV缓存减少了约93%。 随后,DeepSeek-V4加入了CSA + HCA,它们压缩了长上下文记忆本身:更少的完整KV条目、稀疏检索以及高度压缩的全局记忆。 这种紧凑的KV缓存直接促成了@antirez的ds4.c项目。 一旦KV缓存足够小,就可以将其视为SSD上可复用的本地状态: 预填充一次,持久化到SSD,稍后重新加载,并从新后缀继续。 引用antirez的话: “KV缓存实际上是磁盘的一等公民。”
查看原文
查看缓存全文

缓存时间: 2026/05/24 06:23

KV 缓存是模型在生成过程中的工作内存。

随着上下文窗口变长,模型需要为之前生成的 token 保留更多的键值注意力状态。这个缓存会占据大量 RAM 或高带宽内存(HBM),尤其在长上下文场景下,直接限制了你同时能服务多少个长提示词,或者本地运行模型所需的硬件规格(比如需要 128GB 而不是 64GB)。

那么,DeepSeek 是如何把 KV 缓存做得如此紧凑的呢?

DeepSeek 的 KV 缓存方案源于两大创新。

首先,DeepSeek-V2 中的 MLA 显著缩小了每个 token 的 KV 体积。相比旧版注意力架构,DeepSeek-V2 已将 KV 缓存减少了约 93%。

接着 DeepSeek-V4 加入了 CSA + HCA,对长上下文记忆本身进行了压缩:更少的完整 KV 条目、稀疏检索以及高度压缩的全局记忆。

这种紧凑的 KV 缓存直接催生了 @antirez 的 ds4.c 项目。

一旦 KV 缓存足够小,将其作为可复用的本地状态存储在固态硬盘上就变得可行:

一次预填充,持久化到固态硬盘,之后重新加载,并从新的后缀继续生成。

引用 antirez 的话:

“KV 缓存实际上是第一类磁盘公民。”

相似文章

OjaKV: 上下文感知的在线低秩KV缓存压缩

arXiv cs.CL

OjaKV 引入了一种上下文感知的在线低秩KV缓存压缩框架,该框架利用混合存储策略和Oja算法进行增量子空间自适应,以减少长上下文大语言模型推理中的GPU内存瓶颈,且无需模型微调。