DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression 论文阅读
摘要
从长时程 Agent 的计算与缓存瓶颈出发,解释 CED、CSA2、分层索引、FP4 KV 和 SWA 有界重放如何协同工作,并梳理多模态架构、Engram、DSpark、训练配方与实验边界。
DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression 论文阅读
写在前面
一个编程 Agent 连续工作数小时,会读文件、调用工具、运行测试,再把执行结果送回模型。随着任务推进,上下文持续增长。此时推理服务要反复处理新输入,还要保存、加载和迁移历史状态。模型每次生成回答的成本,开始受到预填充计算、缓存容量和数据搬运共同限制。
DeepSeek-V4.1-Flash 的技术报告围绕这个场景展开。它把模型分成因果编码器与解码器,让长输入在预填充阶段少经过一部分完整层计算。注意力层通过跨层共享全局 KV 和稀疏索引减少重复状态,再用低精度存储降低每个缓存条目的大小。部署系统则按状态的复用周期管理缓存,并通过有限重算恢复局部状态。
论文报告的结果是:在相同序列长度下,全局 KV Cache 降到约 890 字节/Token,约为 DeepSeek-V4-Flash 的四分之一,持久 KV Cache 降到约八分之一。理解这组数字,需要先区分不同缓存的用途,再看每个模块改变了哪些计算与存储路径。下文沿着研究背景、整体架构、方法细节、训练系统和实验结果展开。
速读卡片
项目 | 内容 |
|---|---|
论文 | DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression |
作者 | DeepSeek-AI |
版本 | arXiv:2609.19969v1,2026 年 9 月 17 日提交,技术报告/预印本 |
输入输出 | 文本和图像输入,自回归文本输出 |
骨干规模 | 552B 参数,另外配置 196B Engram 条件记忆参数 |
每 Token 激活量 | 预填充约 8B,解码约 16B |
上下文 | 最高 1M Token |
主体结构 | 20 层因果编码器和 20 层解码器,配合 DeepSeekMoE、CSA2 与 SWA |
核心改动 | CED、跨层 KV/索引复用、分层稀疏索引、FP4 主 KV、有界 SWA 重放 |
预训练 | 45T Token,文本与多模态联合训练 |
核心缓存结果 | 全局 KV 约为 V4-Flash 的 1/4,持久 KV 约为 1/8 |
官方资料 |
研究背景:长上下文为什么仍然昂贵
预填充与解码承担不同工作
大语言模型推理通常分为预填充和解码。Prefill,预填充,处理整段新输入,生成各层的中间表示与缓存。Decode,解码,逐步生成新 Token,并读取已经计算好的历史缓存。
标准注意力中,当前查询 Q 与历史键 K 计算相关性,再以相应权重组合值 V。简化写法如下:
Q 表示当前要查询什么,K 表示历史位置的可匹配特征,V 是实际汇总的信息。保存历史 K、V 后,生成下一 Token 可以复用这些张量,这就是 Key-Value Cache,键值缓存。
缓存减少了重复计算,也引入存储成本。用常规逐层缓存做量级估计,缓存大小近似正比于层数、序列长度、每个位置的 KV 宽度和存储位宽。多个并发会话还要同时保存各自状态。长上下文模型因此需要压缩缓存本身。
Agent 的输入往往比输出增长更快。一次工具调用可能返回几千行日志,模型却只需生成一条下一步指令。即使生成速度足够快,反复预填充长输入仍可能拖慢整个任务。
运行时缓存与持久缓存的瓶颈不同
运行时缓存服务当前解码过程,主要受到 GPU 高带宽显存(High Bandwidth Memory,HBM)容量和带宽约束。持久缓存用于前缀复用和会话恢复,可以放在主机内存或固态硬盘(SSD)上。后者还涉及加载速度、节点间传输和淘汰策略。
例如,Agent 已经处理过某个代码仓库,下一轮只新增一段测试日志。缓存命中时,服务可以复用旧前缀,仅计算新增后缀。若历史状态被淘汰或转移失败,系统必须重建。模型结构决定要保存哪些状态,部署策略决定它们保存多久、放在哪里,以及丢失后如何恢复。
从 V4 的压缩注意力到 V4.1 的跨层复用
此前的 DeepSeek-V4 结合 Compressed Sparse Attention(CSA,压缩稀疏注意力)、Heavily Compressed Attention(HCA,高压缩注意力)和 Sliding-Window Attention(SWA,滑动窗口注意力)。全局分支压缩远距离信息,局部分支保留近期细节。
这已经降低了长序列注意力的开销,但多个层仍可能保存重复的全局状态,索引器也要反复扫描很长的上下文。持久缓存还同时保存全局状态与部分局部状态。V4.1 进一步沿层维度共享缓存,并重新安排局部状态的生命周期。
这也解释了论文为什么将模型架构、数值精度和部署系统放在一起讨论:仅减少注意力读取的位置数,无法自动减少所有缓存副本,也无法解决持久缓存中的状态恢复开销。
整体方案:先建立全局记忆,再按需查询
论文图 3 给出了完整结构。先看编码器与解码器之间的连线,再看 Full、Reindex 和 Reuse 的分组。
文本先变成 Token 嵌入,图像经过视觉编码器与投影器后变成视觉嵌入。两类表示进入同一个语言骨干。前 20 层构成因果编码器,负责建立上下文表示。后 20 层构成解码器,使用编码器输出构建全局 KV,并在生成时继续进行逐层计算。
这里的编码器仍遵守因果掩码,位置只能访问允许的历史。其分工与传统双向编码器模型不同,最终输出仍是自回归文本。
注意力同时保留两条路径。全局路径从历史中稀疏读取较远的信息,局部 SWA 路径读取最近窗口内的状态。CSA2 共享的是全局 KV 和部分索引结果,各层自己的查询与局部状态继续保留。
改动 | 针对的问题 | 工作方式 |
|---|---|---|
CED | 新输入需要完整经过全部层,预填充昂贵 | 从编码器末层表示投影解码器全局 KV |
CSA2 | 多层全局缓存重复、索引计算重复 | 分别控制 KV 共享和 Top-K 索引共享 |
分层稀疏索引 | 更新索引时仍要反复遍历完整上下文 | 先建立候选池,后续索引在池内重选 |
FP4 主 KV | 单条缓存表示仍占用较多字节 | 通过量化感知训练压低主 KV 存储位宽 |
SWA Bounded Replay | 局部缓存长期保存昂贵,精确恢复也昂贵 | 按短周期保存局部状态,缺失时仅重放最近窗口 |
这些改动分别处理计算路径、状态副本、检索范围、表示大小和恢复方式。Single-Pass mHC、Engram 与 DSpark 则补充残差数据搬运、条件记忆和解码加速。
CED:为什么预填充能少算接近一半
解码器全局 KV 的来源发生变化
Causal Encoder-Decoder(CED,因果编码器与解码器)借鉴了 YOCO 的缓存共享思路。它将深度为 L 的网络分成上下两部分。解码器第 l 层的全局 KV,从编码器最后一层的表示 H_(L/2) 投影得到:
C_l 是 KV 表示,Z_l 是对应的压缩权重。每层可以使用自己的投影权重,但生成这些状态已经不需要先计算该解码器层自己的完整隐藏表示。
处理一段长提示词时,服务主要运行编码器,再从其输出建立解码器需要的全局缓存。相比所有输入位置完整通过整个网络,这减少了预填充阶段的工作。生成新 Token 时,模型仍经过编码器和解码器,因此解码的激活参数量高于预填充。
局部状态解释了额外计算项
全局 KV 改变来源之后,解码器各层的 SWA KV 仍从本层隐藏状态产生。第一步解码需要这些局部状态,因此不能仅建立全局 KV 就立即结束预填充。
论文用解码器有界重放补齐局部状态,只对输入末尾的窗口运行解码器。长输入的计算量近似为:
N 为输入长度,L 为层数,n_win 为窗口长度。这个表达描述层与位置上的计算量级,实际耗时还取决于注意力、MoE 路由、算子融合和设备利用率。短输入下,窗口重放所占比例会上升。
V4.1-Flash 的窗口为 128。预填充约激活 8B 参数,解码约激活 16B 参数,与这条非对称计算路径对应。完整骨干仍有 552B 参数,激活量描述一次 Token 计算访问的专家与模块。
CSA2:同时压缩条目、序列和层维度
压缩缓存有几个独立维度
减少缓存可以从表示宽度、序列长度和层副本数入手。共享较小的 KV 表示降低每条记录的大小,多个 Token 合并为一个条目降低条目数量,跨层复用则降低副本数。位宽还可以继续降低。
这几项具有乘积关系。仅共享 Top-K 位置可以节省索引计算,但各层若仍保存自己的主 KV,主缓存容量不会随之减少。CSA2 将 KV 共享与索引共享拆成独立选择,让共享缓存的层仍有机会更新注意力位置。
CSA2 也简化了 V4 的压缩器。旧 CSA 在压缩率为 m 时,用带重叠的 2m 个原始条目构造一个压缩条目,并加入绝对位置表示。CSA2 去掉重叠和这部分位置表示,索引 Key 改为从主 KV 投影得到,减少独立压缩路径。
三种模式究竟共享什么
论文图 4 用颜色区分当前层生成的状态、从前层共享的缓存,以及共享的 Top-K 位置。
模式 | 主 KV / 索引 K | 索引打分与 Top-K | 当前层仍计算的内容 |
|---|---|---|---|
Full | 当前层生成 | 当前层重新打分、选择 | 主查询 Q、局部 SWA KV、注意力输出 |
Reindex | 复用最近 Full 层状态 | 用自己的索引查询重新选择 | 主查询 Q、索引查询、局部 SWA KV、注意力输出 |
Reuse | 复用已有状态 | 复用最近有效的 Top-K,不执行新索引 | 主查询 Q、局部 SWA KV、注意力输出 |
可以把主 KV 看作历史信息的存储,把 Top-K 看作当前层读取的位置列表。Reindex 改变位置列表,但沿用历史存储。Reuse 连位置列表也沿用,但本层自己的 Q 仍会改变对这些位置的注意力权重,随后还经过本层 MoE。所以,复用缓存与复制上一层输出是不同的计算。
各层模式在架构中静态指定。模型会根据查询动态选择历史位置,但不会为每个 Token 动态决定当前层采用 Full 还是 Reuse。
实际层配置如何减少副本
编码器前两层只用 SWA。剩余 18 层分成三组,每组六层,第一层为 Full,后五层为 Reuse,压缩率 m=2。
解码器 20 层分成五组,每组四层,压缩率 m=1。第一组采用一个 Full 加三个 Reuse。后四组采用一个 Reindex 加三个 Reuse,共享已有全局 KV,同时周期性更新位置选择。
m=1 表示该路径不沿序列合并相邻主 KV。解码器仍可通过层共享、低精度和稀疏读取降低成本。编码器与解码器的压缩策略不同,不能把所有层都理解为每两个 Token 合并一次。
分层稀疏索引:候选池与 Top-K 的区别
跨层复用减少了索引调用次数,但 Reindex 若每次都扫描完整上下文,长序列下仍然昂贵。Hierarchical Sparse Indexer,分层稀疏索引器,进一步约束后续索引层的搜索范围。
解码器的第一个 Full 层扫描所有因果可见的主 KV,为自己的注意力选择 Top-512。同时,它按块处理位置,以块内最高索引分数作为块分数,选出最多 2,048 个块,每块 8 个位置,构成最多 16,384 个位置的共享候选池。
后续 Reindex 层仅对这 16,384 个候选重新打分,再选自己的 Top-512。候选池比最终读取集合大,允许后续层调整关注位置。Reuse 层继续沿用最近一次选择结果。
搜索范围的节省可以用一个示例理解:在百万位置的上下文中,后续索引层评分的候选上限约占完整位置数的 1.64%。这个比例只是候选数量的示意,端到端速度还受首次扫描和其他计算影响。
第一个 Full 层仍要扫描完整历史。论文所说固定候选池下的常数开销,针对后续索引器,而非整个模型与上下文长度无关。候选限制还在后训练中使用,让模型适应推理时同样的搜索范围。代价是首轮候选池若漏掉关键位置,后续层的搜索也会受到限制。
FP4 KV:压低位宽需要怎样的训练配合
主 KV 的格式与索引缓存不同
FP4 是四位浮点表示。论文保留了索引查询和索引 Key 的 MXFP4 量化路径,并将量化扩展到主 KV。主 KV 的目标首先是减少存储,注意力读取时可以反量化,所以格式选择不要求设备原生支持同一种 FP4 矩阵乘法。
论文为主 KV 选择 E2M1 四位格式,每 16 个通道使用一个 E4M3 八位缩放系数,类似 NVFP4,但省去第二级全局缩放。缩放系数用于让一组数值落入四位格式可表示的范围。
按这一布局作简化计算,16 个通道占 8 字节,加一个 1 字节缩放系数,共 9 字节,相当于每通道 0.5625 字节。纯 FP8 数据每通道需 1 字节,因此实际减少比例接近一半,但需要计入缩放信息。
为什么还要做量化感知训练
Quantization-Aware Training(QAT,量化感知训练)在训练过程中模拟量化误差,让模型适应缓存精度。V4.1 在后训练中引入主 KV 的 QAT,在 Rotary Position Embedding(RoPE,旋转位置编码)之后量化。
作者尝试过在 RoPE 前量化,精度略有改善,但解码路径会增加额外工作,最终采用 RoPE 后量化。局部 SWA KV 对误差更敏感,继续使用 FP8。因此,模型中的所有 KV 并没有统一变成 FP4。
缓存缩减来自层共享与低精度的叠加。论文图 1(b) 展示全局 KV 的每 Token 字节数。

890 字节/Token 是全局 KV 的统计口径。若按 100 万 Token 作容量换算,约为 0.89GB 十进制容量,这只是该项全局缓存的量级估算。模型权重、SWA 状态、临时张量、框架工作区和并发会话仍需另计。
SWA 有界重放:局部状态如何恢复
为什么局部状态不适合长期保存
全局 KV 可以复用长前缀,访问具有长尾特征。SWA 状态主要服务活跃会话的近期窗口,下一轮推进后,旧局部状态很快失去用途。
V4 的部署把两者放入长期持久缓存,SWA 在提示词末尾和输出末尾的状态也要保留。论文称其生产配置下两类状态通常可驻留超过 72 小时,SWA 占持久容量的近一半。局部状态的短期用途与长期保留策略并不匹配。
V4.1 将编码器 SWA 状态放入分布式短时内存池,使用各机器约 10% 的主机 DRAM,存活时间为分钟级。全局 KV 继续留在长期缓存,论文所述部署配置保证至少 72 小时。这里的比例和时间是作者的生产配置。
因此,SWA 仍有短时存储。省掉的是长期持久缓存中的 SWA 副本,活跃会话可以先从短时池取局部状态。
精确恢复为何比一个窗口更昂贵
单层 SWA 只访问最近 W 个位置,但多层叠加后,较深层状态会间接依赖更早的位置。要精确恢复深度 L 的局部状态,所需重放范围可达到 L × W。
论文采用 Bounded Replay,只重放最近 W 个 Token,并将局部注意力截断在重放区间内。重放起点为 s,当前查询位置为 i,其局部可见范围是:
这会舍去重放起点之前的局部依赖。恢复结果属于近似状态,作者报告响应质量影响很小,但它并非精确状态恢复。
编码器与解码器各处理一个问题
编码器重放针对“全局缓存命中,局部状态缺失”的请求。服务重放缓存前缀末尾 W 个 Token,并与新后缀一起计算。重放的旧位置仅恢复 SWA KV,复用已有全局 KV,不重新覆盖它。新增后缀则生成新的全局与局部状态。
由于前缀局部状态是近似重建的,后缀的计算可能依赖缓存命中的边界位置。不同命中边界下的结果不保证数学一致,这是需要测量的质量边界。
解码器重放则使 CED 能结束长输入的完整解码器计算。每次预填充后,服务仅把最后 W 个位置的编码器输出送过解码器层,恢复生成开始时需要的 SWA KV。这部分状态用于解码,不进入前缀持久缓存。作者还在后训练中模拟相同过程,让模型适应这种状态恢复方式。
持久容量降到八分之一的逻辑由此明确:去掉原来近半容量的 SWA 项,再把保留的全局 KV 压到约四分之一,两个因素组合为约八分之一。这个比例针对持久缓存,短时内存池和重放计算有自己的成本。
配套模块:降低数据搬运并补充模型能力
Single-Pass mHC:去掉算子间的数据依赖
Manifold-Constrained Hyper-Connections(mHC,流形约束超连接)维护多个残差流,并计算输入混合、残差混合和输出注入系数。传统实现要先更新残差,再根据新残差预测系数,最后混合当前块输入。系数依赖完整归约结果,导致同一份激活被多次读写。
Single-Pass mHC 将输入混合系数移到前一个块产生。当前块使用已经可用的系数处理输入,同时预测供后续块使用的系数。这去掉了必须等待当前系数完成才能混合输入的依赖。
部署时,Mega-mHC 内核融合残差更新、输入混合、系数预测、预归一化和 FP8 转换。论文给出的激活读写量从原来的 (4n+4)d 降到 (2n+2)d,其中 n 为残差流数,d 为隐藏维度。下降一半指该模块的激活搬运量,不是整个模型的访存量。
Engram:模型内的条件记忆
Engram 通过 Token 序列中的局部组合查询可学习记忆表,再以门控方式融入上下文表示。它使用 Tokenizer 压缩、多头哈希、上下文门控和多分支整合。表项存储常见局部模式对应的信息,减少仅靠深层计算反复表达这些模式的负担。
V4.1 分配 196B Engram 参数,均分给两个模块。模块使用 2、3、4 阶 N-gram,每阶有 8 个哈希头,放在零起始编号的第 1 和第 14 层。此次去掉了短因果卷积,作者认为其收益不足以覆盖推理复杂度。
这些参数是模型权重的一部分,与会话 KV Cache、外部 RAG 文档库和 Agent 日志分别管理。查询地址由输入 Token 决定,可以提前取数,并通过远程直接内存访问(RDMA)等路径与骨干计算重叠。缓存压缩后,记忆表的存储与传输仍要计入系统资源。
DSpark:根据负载决定验证多少草稿
Speculative Decoding,推测解码,先用轻量模块提出多个候选 Token,再交给目标模型验证。收益取决于草稿接受率和验证成本。
DSpark 使用三层草稿网络,滑动窗口为 128,一次计算并行产生五个草稿位置的基础 logits,再由轻量 Markov 头建模草稿间依赖。置信度头估计各位置的条件接受概率,调度器结合推理引擎在当前负载下的吞吐曲线选择验证长度。
低置信度时,过长草稿可能浪费验证计算。高负载下,最合适的验证长度也可能改变。DSpark 因此把请求置信度和系统负载一起纳入调度,论文没有据此保证所有请求都获得固定倍数加速。
与此前联合预训练的 Multi-Token Prediction(MTP,多 Token 预测)模块不同,DSpark 在骨干预训练后独立训练,先冻结骨干。后训练时继续更新 DSpark,但其目标不向骨干传播梯度,使草稿模型跟随策略变化。
多模态输入:图像怎样进入同一条推理路径
DeepSeek-ViT 是视觉 Transformer 编码器,使用二维 RoPE 支持变化分辨率。图像先生成空间网格特征,再经过 3 × 3 Pixel-Unshuffle,将局部九个位置沿通道组合,减少后续视觉 Token 数量,随后用多层感知机(MLP)投影到语言骨干隐藏空间。
这个处理将空间位置数减少九倍,代价是投影器要学习更密集的局部特征表示。论文的输入策略最高约为 1344 × 1344 像素。投影后的视觉表示插入对应图像位置,与文本嵌入一起经过因果骨干,最终生成文本。
文本与图像还可能偏好不同的 MoE 专家。Mixture-of-Experts(MoE,混合专家)只为每个 Token 激活部分专家。若只统计两种模态合并后的负载,整体看似平衡,单一模态仍可能严重偏向少数专家。论文因此为文本和图像维护独立的专家校正偏置,分别根据各自负载更新。
每个 MoE 层配置一个共享专家和 384 个路由专家,每 Token 激活六个路由专家。路由校正用于选择,原始路由分数用于加权专家输出。这让两种模态的负载平衡可以分别受控。
训练与系统实现
预训练配方
模型在 45T Token 上预训练,最终文本与多模态 Token 比例约为 7:1。数据包括文本、图文对、交错图文文档和领域数据。作者强调筛掉信息增益低的模型生成文本和低质量机器翻译,同时纳入较新的代码仓库、提交与框架。
稀疏注意力从 64K 序列长度开始训练,没有先用密集注意力预热。在训练到 34T Token 时,序列长度扩展到 1M。批量规模固定为约 1.006 亿 Token。学习率经历预热、稳定阶段、28T 到 40T 的余弦衰减,最后保持较低学习率到 45T。
视觉编码器先进行独立训练。第一阶段用 SigLIP 对比目标学习图文对应,约使用 47B 图文对。第二阶段连接一个 4B MoE 语言模型,在 236B Token 上做自回归微调,覆盖描述、图表与光学字符识别(OCR)等内容,然后保留视觉编码器用于主模型训练。这两个阶段的规模与完整模型的 45T Token 是不同统计项。
优化器与大记忆表
线性矩阵主要使用 Muon,Query 和 Key 权重按头使用 head-wise Muon。不同注意力头可能有不同梯度结构,分头更新允许分别进行预处理。归一化权重和其他非矩阵参数继续使用 AdamW。
Engram 表、Token 嵌入和预测头使用动量更新加 Sinkhorn 平衡。更新矩阵交替沿行与列归一化,目标是让两个方向的更新尺度更均衡。它只需保存动量缓冲,减少巨型嵌入表使用 Adam 时的优化器状态开销。这属于训练资源设计,与注意力索引没有直接对应关系。
共享缓存怎样穿过流水线
跨层共享在单卡示意图上很直观,但分布式训练时,产生状态和消费状态的层可能分布在不同流水线阶段。论文为此加入影子索引器、流水线消息扩展和微批次共享状态管理。
影子索引器在各阶段保留可执行副本,同时维持单一逻辑参数所有者,通过同步和梯度聚合保持一致。中间表示与索引随已有点对点通信传给下游。共享状态要覆盖前向、激活重算和反向传播,在最后一个消费者完成后释放,避免过早释放或长期滞留。
视觉编码、预填充和解码在部署中采用 EPD 分离,按各自负载扩容。推理内核融合让大部分 Reuse 层在预填充时只需 15 个 Kernel,解码时需 11 个。Kernel 是 GPU 计算内核,次数减少可降低启动与中间张量搬运开销,具体吞吐仍要看算子规模及设备利用率。
后训练:任务、环境和验证器一起建设
可验证任务如何构造
论文后训练沿用 Supervised Fine-Tuning(SFT,有监督微调)、Reinforcement Learning(RL,强化学习)和 On-Policy Distillation(OPD,当前策略蒸馏)。作者将主要收益归因于数据与环境流水线,而没有声称这里提出新的优化算法。
Agent 训练任务被组织成“问题、环境、验证系统”三元组。只有题目还不够:执行环境必须可运行,验证器必须检查题目要求,难度也要足以区分策略能力。
编程任务来自复杂交互记录和满足条件的公开仓库。构建流水线选择任务起点、准备依赖和容器,设计 Fail-to-Pass 测试验证新增功能,并用 Pass-to-Pass 测试检查原行为。多个独立 Agent 尝试求解,质量检查再审查题目与测试是否一致、环境是否泄露答案、奖励是否可被绕过。修复后的任务重新验证。
一般 Agent 任务则重建真实工具接口、数据格式与行为约束,并将实际失败记录转成训练环境。任务在后续 RL 中产生的新轨迹还会用于重新检查质量,构成持续审计的数据循环。
异步训练如何处理长尾轨迹
复杂 Agent 轨迹耗时差异很大。同步等待所有轨迹完成,会让训练设备受最慢样本拖累。异步系统保持在途样本数量,在样本完成后继续派发,积累足够数据再切换到训练。
这样也会带来偏差:短轨迹先返回,早期批次可能偏短。策略更新后仍在执行的轨迹,则可能由旧检查点生成。论文通过各数据集的并发上限、丢弃部分过早返回的短样本、限制样本陈旧程度和对过旧 Token 的损失掩码处理这些问题。
最终 OPD 阶段使用超过 40 个教师模型,按领域汇合能力。训练系统还支持 Token 级中断、KV 与路由状态保留,以便切换检查点后继续轨迹。这体现了缓存管理在在线服务与训练样本生成中的共同作用。
推理努力程度是训练出来的行为
论文用标量 b 控制推理投入,范围为 1 到 100。训练中,同一问题和相同 b 的回答组成一组,计算组内相对优势。不同努力等级通过不同的长度惩罚形成行为差异,较高 b 对推理长度的惩罚较弱。
C_max 限制最大扣分,L_norm 是参考长度,k(b) 随努力程度上升而降低。同一检查点因此可以在较短回答与更充分探索之间切换。论文报告公开 API 中 low、high、max 分别对应 50、75、100,这一映射以报告发布时为准。
DSec 沙箱平台则负责大量任务的资源隔离、状态恢复与轨迹记录。论文还讨论奖励投机和环境破坏,并用权限、网络限制和失败反馈约束轨迹。可执行验证器的完整性会直接影响模型学到的行为。
实验结果:效率、能力和交互框架分别看
缓存与计算指标的口径
指标 | 论文报告 | 解释边界 |
|---|---|---|
全局 KV | 890 字节/Token,约为 V4-Flash 的 1/4 | 不包含权重、局部状态和全部工作区 |
持久 KV | 相同工作负载下约为 V4-Flash 的 1/8 | 结合全局压缩和长期缓存移除 SWA,仍有短时池 |
预填充计算 | 长输入条件下接近减半 | 有解码器窗口重放与系统常数开销 |
解码 FLOPs | 4K 扩展到 1M 时约增长 1/4 | 统计浮点运算量,不直接等于壁钟延迟 |
论文图 2 对解码计算量按精度加权,BF16、FP8 和 FP4 分别使用 1、0.5、0.25 的权重。

图中的缓慢增长符合复用和稀疏索引设计,但首次全范围索引仍存在,模型计算也没有完全脱离上下文长度。不同硬件对低精度运算的支持不同,加权 FLOPs 适合描述计算趋势,线上延迟需要实际测量。
基座模型有提升,也保留短板
表 1 采用作者内部框架,三种基座模型使用相同设置。下表保留代码、知识、数学与长上下文中的代表性项目,原表将分差不超过 0.3 视为同一水平。
基准及指标 | V4-Flash-Base | V4-Pro-Base | V4.1-Flash-Base |
|---|---|---|---|
MMLU-Pro,EM,5-shot | 68.3 | 73.5 | 74.1 |
SimpleQA-Verified,EM,25-shot | 30.1 | 55.2 | 42.3 |
BigCodeBench,Pass@1,3-shot | 56.8 | 59.2 | 60.6 |
HumanEval,Pass@1,0-shot | 69.5 | 76.8 | 79.4 |
MATH,EM,4-shot | 57.4 | 64.5 | 61.1 |
MGSM,EM,8-shot | 85.7 | 84.4 | 80.2 |
LongBench-V2,EM,1-shot | 44.7 | 51.5 | 45.2 |
EM 是精确匹配指标,Pass@1 衡量单次采样的成功表现,shot 表示提示中提供的示例数。V4.1 在代码项目上提高明显,HumanEval 相对 V4-Flash 增加 9.9 个百分点。但 MGSM 下降 5.5 个百分点,LongBench-V2 也仍低于 V4-Pro 6.3 个百分点。这组结果反映能力轮廓变化,无法支持所有任务统一提高的判断。
多模态方面,作者报告 MMMU-Pro 为 56.5,CVBench 为 77.9,DocVQA 的 LLM-Judge 为 95.6。前两项使用 EM,最后一项由模型评分,指标口径不同。原表未提供旧模型对应数值,不宜把这些值解读为相对旧模型的提升比例。
后训练后的 Agent 表现
论文表 3 以 Max 推理等级比较模型。推理任务使用温度和 top-p 均为 1.0。代码 Agent 通常使用 DeepSeek Harness Minimal、1M 上下文、温度 1.0、top-p 0.95;DeepSWE 按其要求使用 mini-SWE。视觉任务使用 Claude Code 与 512K 上下文,一般 Agent 使用各基准官方框架。
基准及指标 | V4-Flash Max | V4-Pro Max | V4.1-Flash Max |
|---|---|---|---|
GPQA Diamond,Pass@1 | 89.9 | 92.4 | 90.9 |
MathArena Apex,Pass@1 | 58.6 | 65.3 | 65.6 |
Terminal-Bench 2.1,Pass@1 | 82.7 | 87.9 | 90.6 |
Terminal-Bench 3.0,Pass@1 | 7.6 | 11.8 | 30.0 |
Terminal-Bench 4.0,Pass@1 | 7.0 | 12.4 | 31.2 |
DeepSWE v1.1,Resolved | 54.4 | 62.7 | 74.2 |
AutomationBench,Pass@1 | 37.7 | 43.2 | 54.8 |
DeepSWE 相对 V4-Flash 增加 19.8 个百分点,Terminal-Bench 2.1 增加 7.9 个百分点。与此同时,GPQA 仍低于 V4-Pro,难度更高的 Terminal-Bench 3.0 和 4.0 的成功率远未接近满分。
这些表比较完整模型,包括不同架构、参数、数据与后训练配置。它们支持整体系统的表现判断,不能单独确定每项提升有多少来自 CSA2、Engram 或某个训练技巧。论文的能力评测主要由作者报告,尚不能作为本文独立复现结果。
同一模型更换 Harness,分数仍会变化
Agent Scaffold 或 Harness 是模型周围的执行框架,包含系统提示、工具定义、上下文管理与交互规则。论文表 4 固定模型检查点和任务,改变框架,比较得到:
框架 | DeepSWE v1.1,Resolved | Terminal-Bench 2.1,Pass@1 |
|---|---|---|
Claude Code | 69.8 | 88.0 |
Codex | 65.6 | 84.1 |
mini-SWE | 74.2 | 90.3 |
DeepSeek Harness Minimal | 72.6 | 90.6 |
这张表里的 Codex 和 Claude Code 都是执行框架,调用的是同一个 DeepSeek 模型。结果不构成对 OpenAI 或 Anthropic 模型的比较。DeepSWE 每任务采样八次,Terminal-Bench 每任务采样三次,采用 Linux 容器、温度 1.0、top-p 0.95、1M 上下文和最多 500 轮生成。Terminal-Bench 无网络访问,表内 Claude Code 版本为 v2.1.251。
框架改变后,DeepSWE 分数仍有较大差异。可迁移能力已经体现出来,但模型与工具协议、提示和执行逻辑之间的配合仍影响最终表现。
努力程度与 Token 预算的收益
论文图 9 同时画出成功率和平均输出长度。
努力程度从 25 提升到 100 时,八项推理基准的平均 Pass@1 从 67.1% 提升到 76.3%,DeepSWE 从 66.0% 提升到 74.2%,Terminal-Bench 2.1 从 82.4% 提升到 90.6%,输出 Token 约增加到 2.5 倍。
作者观察到 60 至 80 的范围已获得最高等级的大部分收益,而最后提高到 100 会进一步拉长 Agent 轨迹。因此,推理预算适合按任务难度配置。模型缓存成本下降后,生成长度仍然是服务成本的一部分。
多 Agent 实验的含义
论文还用 DeepSeek Harness Agent Team 模式初步比较单 Agent 与多 Agent。主 Agent 委派任务,各成员共享仓库,通过消息与任务板协作,最后由主 Agent 检查和测试整合结果。
ProgramBench 使用 172 个参考解通过率至少 95% 的任务。Almost@1 统计单条轨迹获得至少 0.95 得分的比例。在八小时截止点,多 Agent 达到 30.04%,单 Agent 为 20.39%。FrontierSWE v2 使用无需 GPU 的任务子集,在二十小时截止点,Mean@5 分别为 32.90% 和 28.20%。
这些指标分别描述不同任务与评分协议,不能混为同一个成功率。作者将结果标为初步实验,比较的是观察到的较强配置。它说明某些复杂任务可从协作和并行中受益,但多成员方案也包含更多计算与协调成本,仍需固定总预算的对照。
局限:哪些问题还需要验证
CSA2 的候选筛选会限制后续层能访问的位置。关键证据若被早期索引排除,后续层难以通过重新打分补救。SWA 重放则引入近似恢复状态,新的后缀可能受到缓存命中边界影响。作者承认有限测试无法覆盖全部极端输入,并将长上下文稀疏检索与缓存恢复边界列为后续重点。
进一步检验可以围绕跨长距离引用、相似但冲突的证据、不同命中边界和多次恢复后的误差进行。这些是根据机制提出的测试方向,本文没有测得这些情形的实际退化数值。
方法的独立贡献也需要更细的控制实验。完整模型表同时改变架构、数据和训练规模,不足以把收益完全归因于某个模块。890 字节/Token 和缓存缩减比例说明存储口径,端到端吞吐、首 Token 延迟和并发收益还受权重访问、通信、调度和硬件精度支持影响。
开放权重为复现提供条件,但 552B 骨干和额外 Engram 表仍有很高存储需求。每 Token 激活量减少,完整权重并不会同步缩成 8B 或 16B。部署还需支持 CED、CSA2、量化格式和对应内核,并匹配 Engram 取数与缓存层级。
小结
DeepSeek-V4.1-Flash 将长输入处理与逐步生成分工:CED 用编码器表示建立解码器全局记忆,CSA2 沿层维度共享缓存并保留按需重选位置,分层索引降低后续评分范围,FP4 减少主缓存字节数,SWA 有界重放调整局部状态的存储与恢复成本。
这些设计由多模态输入、条件记忆、推测解码、训练数据和部署内核共同支撑。论文展示了缓存占用的下降,也展示了部分 Agent 任务的提升和依然存在的能力差距。实际应用中的下一步是同时衡量质量、恢复一致性与端到端成本,让每项架构收益对应到可观测的服务行为。
参考资料
DeepSeek-AI,DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression,arXiv:2609.19969v1,2026-09-17。
论文 HTML 正文:§2 架构,§3 基础设施与缓存管理,§4 预训练,§5 后训练与评测,§6 局限与后续方向。本文原图来自这一版本。
本站 DeepSeek-V4 论文阅读:理解前代 CSA/HCA 与系统设计。
