DeepSeek-V4.1-Flash:将 KV 缓存压缩推向极限,重构预填充
DeepSeek-V4.1-Flash:把 KV 缓存压缩从“算法点”推进为“部署系统”
论文: DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression
核心结论: 这篇论文最重要的贡献,不在于单独提出“4-bit KV 缓存”,在于将超长上下文推理的四个相互制约的问题——预填充计算、GPU 高带宽显存(HBM)、主机/SSD 持久化缓存,以及缓存恢复——同时重构。其结果是:模型在 DeepSeek 团队给出的相同长度比较下,将常驻 HBM 的全局 KV 缓存降至 890 bytes/token,约为上一代 DeepSeek-V4-Flash 的四分之一;持久化 KV 缓存约降至八分之一,同时给出更高的内部能力评测分数。
这篇论文值得认真看的点
长上下文模型的困难,早已不只是注意力计算量。对于会连续调用工具、阅读代码库、维护长期任务状态的 agent,每一轮输入都可能非常长。模型首先需要处理已有上下文,这一阶段称为 预填充(prefill);随后才是逐 token 输出的 解码(decode)。为了避免在每一步输出时反复计算历史 token,Transformer 会保存历史 token 的键和值,称为 KV 缓存。
KV 缓存通常随上下文长度线性增长。早期工程优化,例如 PagedAttention,主要解决“固定大小的 KV 条目如何高效分配、避免碎片并在请求之间共享”的系统问题。而本论文瞄准的是更上游的问题:每个 token、每一层究竟必须保留多少缓存状态,哪些状态该持久化,丢失后是否必须精确重算。 这使它从通用推理引擎优化,进入模型架构、训练和服务系统共同设计的范畴。
论文的目标场景并非普通的短问答,是输入占比很高、前缀复用频繁、上下文可达 100 万 token 的长程 agent 工作负载。作者认为,在稀疏注意力已大幅削减长序列计算后,HBM 容量、SSD/主机内存容量和跨设备搬运带宽,已经成为进一步降低服务成本的主要约束。
先建立正确心智模型:论文究竟在压缩什么
“KV 缓存减少四倍”很容易被误读为“一个百万 token 请求只用四分之一的所有显存”。这并不准确。论文区分了两类缓存,也区分了运行时与持久化两个位置。
| 对象 | 作用 | 主要位置 | 本文处理方式 |
|---|---|---|---|
| 全局 KV | 让 token 在极长历史中进行稀疏检索 | 运行时始终位于 HBM;可为前缀复用持久化到 SSD/主机内存 | CED、CSA2 与 FP4 共同降低其大小 |
| SWA KV | 为每层滑动窗口注意力保留近邻上下文 | 活跃会话的短寿命内存;传统方案也可能持久化 | 不再长期持久化;丢失时用 Bounded Replay 近似恢复 |
| 预填充计算 | 输入新 prompt 或缓存未命中时生成历史状态 | GPU 计算 | CED 让绝大多数历史 token 不必完整经过解码器 |
| 持久化 KV | 跨请求/跨会话复用已处理前缀 | SSD 或主机内存 | 只长期保留全局 KV,移除 SWA KV |
在论文的术语中,全局 KV 负责从整个长历史中找相关信息,SWA(Sliding-Window Attention)KV 负责局部邻域的细节。两者不是可相互替代的重复缓存。前者更适合长时间的前缀复用,后者却通常只在活跃会话的短时间窗口内有价值。论文的系统洞见正是承认这两类状态的复用周期不同,因而不应使用同一种长期存储策略。
DeepSeek-V4.1-Flash 的缓存重构路径]
四项核心设计如何共同起作用
1. CED:把“处理输入”和“逐 token 生成”做成不对称计算
Causal Encoder–Decoder(CED) 是本文降低预填充成本的第一层设计。它并不是机器翻译中那种编码器读取源语言、解码器跨注意力生成目标语言的传统 seq2seq 架构;模型依然是因果语言模型,仍然自回归地产生文本。它的关键变化是:40 层网络被分为 20 层因果编码器和 20 层解码器;对于全局注意力,解码器层的 KV 不再逐层由该解码器层的隐藏状态生成,是从第 20 层编码器输出通过各层自己的投影得到。
这样,面对长输入时,系统主要执行编码器的 20 层,便可构造解码器所需的全局 KV。作者的配置里,滑动窗口为 128 token;因此 CED 的收益在输入很长或缓存未命中时最明显,而非任何短请求都会机械地减半延迟。
这种不对称是针对 agent 工作负载的。agent 每调用一次工具、把新观测追加到上下文,都可能触发新的预填充;若输入计算与输出计算完全同构,长历史会不断放大成本。CED 的取舍是让解码器的全局状态更依赖编码器末层表示。它不是无损的代数等价变换,是一种经训练适配后力求保持能力的结构约束。
2. CSA2:从“每层各存一套”改为“有选择地跨层共用”
Compressed Sparse Attention 2(CSA2) 是本文缓存压缩的主体。它让注意力层在三种静态模式中运行。
| CSA2 模式 | 当前层新算什么 | 复用什么 | 主要收益 |
|---|---|---|---|
| Full | 全局主 KV、索引器 Q/K、Top-K 位置 | 不复用 | 提供新的完整全局检索基准 |
| Reindex | 自己的索引器 Q 与新的 Top-K 选择 | 最近 Full 层的主 KV 与索引器 K | 共享缓存,但允许各层选择不同的相关位置 |
| Reuse | 自己的查询与局部 SWA KV | 主 KV、索引器 K,以及最近的 Top-K 位置 | 同时减少缓存和索引计算 |
这里有两个不能混为一谈的“复用”。第一是跨层复用主 KV 与索引器 K,直接减少每层都保存全局表示的冗余;第二是复用稀疏检索的 Top-K 位置,减少每层在全长上下文中重新打分的工作。它们可以解耦:Reindex 保留前一种复用,但允许当前层重新决定该关注什么;Reuse 才连选择结果也沿用。该设计比“所有层共用完全相同的注意力”更保守,因为它保留了分层查询差异。
作者还在解码器加入分层稀疏索引器。第一层 Full 模式先扫描全历史,找出 Top-K,并用高分块构造一个候选池;之后的 Reindex 层只在该池中搜索。配置中,候选池最多为 2,048 个块、每块 8 个位置,即最多 16,384 个候选位置。于是,后续索引层的候选数可以不随总上下文长度增长。需要注意:第一层仍要看到全部历史,因此这不是把全局检索变成零成本,是将重复的全局扫描集中到少数层。
这一路线与 MiniCache 的研究方向有相似性:两者都注意到深层之间的 KV 状态可能有冗余。差别在于,MiniCache 是可叠加到既有模型的、训练免调的跨层合并策略;DeepSeek 的 CSA2 则在架构中预先规定共享关系,并把共享模式纳入训练与分布式流水线实现。因此,CSA2 的压缩潜力更系统,但也更依赖特定模型、训练过程和推理内核。
3. FP4 主 KV:把条目精度压到四比特,但不压缩所有状态
论文把主 KV 缓存从上一代使用的 FP8 进一步压到 FP4。具体采用 E2M1 数据格式,并为每 16 个通道配置一个 E4M3 缩放因子;量化发生在 RoPE 位置编码之后,注意力计算前再反量化。作者通过量化感知训练(QAT)使模型适应这一表示,并报告没有可测得的准确率下降。
一个重要细节是,作者没有将 SWA KV 同样降为 FP4,保留 FP8,理由是局部窗口状态对量化更敏感。这显示论文并非简单地“一切四比特化”,而在状态类型之间做了精度分层。FP4 在这里主要是存储优化,不是宣称四比特矩阵乘法本身必然更快。
因此,890 bytes/token 不是单项量化带来的数字。它来自序列维压缩、层维复用以及主 KV 的低比特存储等联合作用。论文没有给出把 CED、CSA2、FP4 分别撤掉后的完整公开消融表,因而不能严谨地将四倍缩减分摊给某一个组件。
4. SWA Bounded Replay:用少量近似重算换取不必长期存局部缓存
这可能是整篇论文最具部署价值、也最需要进一步验证的设计。传统的精确恢复有一个问题:SWA 状态在层之间递推。若要在某个缓存点精确重建所有层的局部状态,可能需要回放约 L x n_{win} 个 token。作者提出的 SWA Bounded Replay 只回放最近的 n_{win} 个 token,并将回放段之外的局部注意力截断。它因此得到的是近似状态,不与完整前向计算数学等价。
作者据此将 SWA KV 的长期存储从 SSD/主机内存中移除,只在每台机器约 10% 主机 DRAM 组成的短寿命分布式池中保存数分钟。全局 KV 仍可持久化至少 72 小时。当命中全局前缀、却找不到短寿命 SWA 状态时,系统只需有界回放,而不用进行高代价的精确恢复。论文给出的“持久化 KV 约为上一代八分之一”来自两个近似相乘的因素:去除约占一半的 SWA 持久化状态,以及剩余全局 KV 约降至上一代的四分之一。
这是一种很清晰的存储—计算—精度交换:以很少的近似重算取代巨大且长寿命的局部状态存储。其风险也同样明确。不同缓存命中位置会使后续生成的状态不完全相同;若稀疏选择本已处于边界情形,近似重建可能放大差异。作者在局限性部分直接承认,CSA2 的选择误差和 Bounded Replay 的近似状态重构可能在未测试的边界输入中造成能力退化。
怎样理解“890 bytes/token”与“1/4、1/8”
论文的数字具有明确边界。890 bytes/token 是全局 KV、常驻 HBM 的作者报告值,不是模型参数大小,不是所有运行时内存,也不是完整请求的总成本。按十进制的 100 万 token 和二进制内存单位换算,890 bytes/token 对应约 848.8 MiB(0.829 GiB) 的全局 KV;若严格按论文所述“四分之一”反推,上一代对应全局 KV 约为 3.316 GiB。这只是对论文数字的量纲化换算,不包括 SWA KV、激活、模型权重、临时工作区、批处理冗余和通信缓冲区。
| 作者报告的比较 | 正确含义 | 不应推导为 |
|---|---|---|
| 全局 KV 为 V4-Flash 的约 1/4 | 相同序列长度下,常驻 HBM 的全局缓存显著更小 | 整个 GPU 的显存需求一定下降四倍 |
| 持久化 KV 为 V4-Flash 的约 1/8 | 用于跨请求前缀复用的 SSD/主机内存占用更小 | 每个请求的总延迟或总成本一定降至八分之一 |
| 预填充激活 8B、解码 16B 参数 | 该模型的有效计算规模随阶段不对称 | 模型只含 8B 或 16B 参数 |
另外,论文的参数口径也需谨慎阅读:它报告 552B backbone 参数,并另列 196B Engram 条件记忆参数;模型卡显示约 763B 的文件级参数规模。这里的“激活参数”为每个 token 参与计算的稀疏 MoE 子集,不能与总参数、权重存储或显存占用直接画等号。
能力是否随压缩而下降:论文证据显示什么
先给结论:作者的表格显示 V4.1-Flash 相较 V4-Flash 的能力提升很显著,并在部分指标接近或超过 V4-Pro;但这些提升不能归因于 KV 压缩本身。模型从 284B backbone 扩至 552B,训练数据从 32T 以上扩至 45T token,加入原生多模态训练、196B Engram 条件记忆、不同的后训练数据管线与大规模 RL/蒸馏。论文自己也明确说,后训练算法没有新颖性,主要变化在自动合成任务、环境和数据质量。
基座模型:与同系列基线相比,代码与知识能力总体更强
下表选取最能说明趋势的基座模型结果。所有这组同系列比较来自作者的内部框架,论文规定分差不超过 0.3 时视为同一水平。
| 指标(基座模型) | V4-Flash | V4-Pro | V4.1-Flash | 解读 |
|---|---|---|---|---|
| 激活参数 | 13B | 49B | 8B / 16B | V4.1 预填充的激活规模更低,解码也低于 Pro |
| MMLU-Pro | 68.3 | 73.5 | 74.1 | 较 Flash +5.8 分,较 Pro +0.6 分 |
| HumanEval Pass@1 | 69.5 | 76.8 | 79.4 | 较 Flash +9.9 分,较 Pro +2.6 分 |
| BigCodeBench Pass@1 | 56.8 | 59.2 | 60.6 | 代码生成结果更强 |
| LongBench-V2 | 44.7 | 51.5 | 45.2 | 长上下文基座评测并未超过 Pro |
| MATH | 57.4 | 64.5 | 61.1 | 数学能力也并非全面领先 |
这张表反驳了一个简单但错误的叙事:它并不是“缓存大幅压缩,却在所有能力上无损”。较好的说法是,作者在其训练配方和测试集上得到一个效率显著提升、总体能力更强但能力谱仍有取舍的模型。LongBench-V2、MATH、MGSM 等指标没有达到 V4-Pro,提示长上下文结构与训练数据的变化仍可能形成局部能力差异。
指令/agent 模型:改进强,但横向领先需审慎解释
在最高推理努力(reasoning effort = 100)下,V4.1-Flash 的 DeepSWE v1.1 为 74.2%,显著高于 V4-Flash 的 54.4%;Terminal-Bench 2.1 为 90.6%。论文也报告其在 Terminal-Bench 4.0 上为 31.2%,明显低于表中 Opus-5 的 51.8%。这与作者自己的总结一致:日常 agent 任务上十分强,但在高难科学型 agent 任务、复杂推理和边缘情况上,与顶尖闭源模型仍有差距。
推理努力控制同样值得注意。论文声称把 effort 从 25 提高到 100,会使八项推理任务平均 Pass@1 从 67.1% 提升至 76.3%,DeepSWE 从 66.0% 提升至 74.2%,但输出 token 约增加 2.5 倍。因而“模型能力”与“模型在最高测试时计算预算下的表现”必须区分。不同模型的表中分数还会受到脚手架、工具、采样次数、上下文管理和基准版本影响;论文虽报告了一组跨脚手架测试,但完整横向可比性仍需第三方统一环境验证。
这篇论文真正改变了什么:与已有 KV 缓存工作的关系
| 路线 | 解决的主要瓶颈 | 是否改变模型/训练 | 与本文的关系 |
|---|---|---|---|
| PagedAttention / vLLM | 缓存碎片、动态分配、同前缀请求的物理共享 | 否,主要是服务系统 | 互补。它高效管理既有 KV;V4.1 先使每单位 KV 更小、需要持久化的状态更少。[3] |
| KV 量化 | 单条 KV 的位宽和带宽 | 可能需要校准或 QAT | 本文采用 FP4 主 KV,并保留 FP8 SWA KV,属于精度维的压缩。 |
| MiniCache 等跨层压缩 | 临层表示冗余 | MiniCache 是训练免调方法 | CSA2 也压缩层维,但以训练期指定的 Full/Reindex/Reuse 模式换取更深的系统耦合。[4] |
| 逐 token 淘汰/选择 | 保留哪些历史 token | 通常需要启发式或任务自适应策略 | CSA2 不主要删除 token,而是采用稀疏全局检索、跨层复用和候选池限制。 |
| 本文的完整方案 | 计算、HBM、SSD/DRAM、带宽与缓存失效恢复 | 是,模型、QAT、训练与部署均改变 | 贡献在于将多个压缩维度和生命周期策略组合成可服务的百万上下文系统。 |
从研究谱系看,论文不是凭空发现“跨层 KV 可以共享”或“KV 可以量化”。真正的推进在于:它将这些已有方向变成面向 100 万 token、可持久化前缀缓存、长程 agent 的共同设计,并提出 Bounded Replay 来处理以往长期缓存策略难以避免的 SWA 状态失效问题。
证据强度与局限:应当相信什么、保留什么
可以较有把握接受的判断
**第一,论文对问题的诊断合理。**KV 缓存会随序列增长,且长上下文服务同时受计算、存储和带宽制约;现有服务系统工作已充分表明,KV 内存管理会直接限制批处理与吞吐。
**第二,方案的因果链条清晰。**CED 直接减少长输入的全层计算,CSA2 直接消除跨层全局状态和索引计算中的重复,FP4 直接降低主 KV 条目大小,Bounded Replay 直接减少长期保存局部状态的必要性。四者分别对应不同瓶颈,组合逻辑强于单点压缩。
**第三,论文对近似性的披露是相对诚实的。**它没有把 Bounded Replay 描述为精确恢复,而明确承认缓存命中位置不同会导致状态不完全相同,并将稀疏选择错误和近似重构列为未来压力测试重点。
仍不能从论文推出的结论
**第一,不能仅凭 890 bytes/token 就断言实际部署成本会按同样比例下降。**真实成本还受批大小、有效上下文长度分布、前缀命中率、网络拓扑、SSD I/O、模型权重、专家并行、队列与缓存淘汰策略影响。论文给出了架构级缓存足迹和若干计算论证,却没有公开一个足以独立审计的端到端服务表:在明确硬件、并发、上下文长度和命中率下的 requests/s、tokens/s、p50/p99 延迟、HBM/DRAM/SSD 占用及每请求成本。
**第二,不能将能力提升归功于缓存压缩。**V4.1 同时改变了模型规模、条件记忆、视觉模块、训练数据、后训练环境和测试时推理控制。需要组件级消融,才能分离“更强的数据与 RL”带来的收益与“更激进的缓存/注意力约束”是否伤害或改善能力。
**第三,不能把“支持 100 万 token”理解为所有百万 token 分布上都可靠地检索、推理和恢复。**论文的主验证中包含 LongBench-V2 和多个 agent 基准,但尚未公开围绕稀疏检索漏召回、缓存恢复边界、重复前缀、跨会话重启、不同缓存命中位置的一整套压力测试矩阵。作者也承认有限评测无法覆盖极端输入。
第四,横向前沿模型比较应被视为作者报告的快照。即便使用相同基准,不同模型的系统提示、工具权限、样本数、agent harness、网络访问和版本会显著影响结果。强结论应等待统一第三方评测、可执行配置和原始轨迹。
对于研究和部署的含义
这篇工作最有价值的范式转变是:长上下文的成本不应只由“注意力复杂度”衡量,而应由状态生命周期决定。 全局历史状态具备长期复用价值,适合持久化;局部窗口状态往往只服务活跃会话,适合短时内存;当短时状态丢失,系统未必需要昂贵的精确恢复。这种按状态寿命安排精度、位置和恢复方式的思路,可能比继续单独压低 bit-width 更有普适性。
对于大规模 agent 系统,这意味着缓存设计可能成为模型能力之外的产品约束。若任务包含大量工具交互、跨轮前缀复用与很长的上下文,降低持久化 KV 和预填充成本可能直接决定该工作负载能否以合理并发运行。相反,短会话、低前缀复用或输出远多于输入的场景,不会自动获得论文所描述的全部收益。
对开源生态而言,模型权重以 MIT 许可发布,模型卡同时提供编码参考、推理目录和部分评测复现说明。但该模型的核心价值依赖 CED、CSA2、FP4 缓存、专用内核、前缀缓存策略和 EPD 解耦部署的配合。仅将权重放入普通推理引擎,不应假定即可复现论文全部缓存足迹与吞吐收益。
一个简短的结论
这是 2026 年长上下文/ agent 模型中值得重点关注的一篇系统型技术报告。 它最强的部分不是某一个新算子,是提出一套连贯的答案:通过不对称预填充、跨层稀疏状态共享、主 KV 的 FP4 量化,以及对局部状态的有界近似回放,让百万 token agent 的内存与持久化压力显著下降。
论文已经展示出令人信服的架构思路和积极的作者内部结果。它尚未证明的,则是该方案在独立硬件栈、真实缓存命中分布和最困难长上下文边界条件下,能否稳定兑现相同的成本、吞吐与质量收益。因而最准确的评价不是“KV 缓存问题已经解决”:DeepSeek 将问题从单纯的缓存压缩,推进到了可被系统性工程化的状态生命周期设计。
术语速查
KV 缓存: Transformer 为已处理 token 保存的 Key/Value 表示。保存它可以避免生成时重复计算历史,但占用随序列增长。
预填充(Prefill): 对全部输入上下文进行前向计算并建立缓存的阶段。
解码(Decode): 基于已有缓存逐个生成新 token 的阶段。
HBM: GPU 上高带宽、昂贵且容量有限的显存。
SWA: Sliding-Window Attention,滑动窗口注意力;每个 token 只看局部邻居。
QAT: Quantization-Aware Training,量化感知训练;在训练中模拟低精度误差,使模型适应低比特表示。
MoE: Mixture of Experts,混合专家;每个 token 只激活部分专家参数。
前缀缓存: 将已处理的共同历史保存下来,供后续具有相同开头的请求复用。




