DeepSeek V4.1缓存暴降437倍:890字节KV缓存反超Opus 5!


557亿参数只唤醒80亿!DeepSeek把AI记忆砍掉437倍还拿了第一!

一台服务器塞下百万字对话,过去要买四百多张显卡,现在一张卡就能兜住!

2026年9月10日,DeepSeek扔出一颗炸弹。新模型叫V4.1-Flash,官方公布的每token全局KV缓存占用只有890字节,不到上一代V4-Flash的四分之一,比初代DeepSeek-V1整整小了437倍。换算成实际操作就是:过去开一个100万token的超长会话,光缓存就要吃掉三百多GB显存,现在不到1GB。整个部署场景从“不可行”被一脚踹进了“可行”。更离谱的是,这个模型总参数552B,但读输入的时候只叫醒8B参数,写输出的时候也只叫醒16B。

这就怪了。参数越做越大,干活的人却越来越少,性能反而涨了?

缓存压缩的极限在哪里:从386KB一路砍到890字节

前情提要:大模型到底在烧什么钱

先把背景铺一下。所有的大语言模型处理文字的时候,都要把输入内容“翻译”成一串数字符号,每个符号叫一个token。模型每读一个token,就得在内部存一份“笔记”,记录这个token的键和值,方便后面做注意力计算的时候随时查。这份笔记就叫KV缓存。

问题出在上下文长度上。一个Agent帮你写代码,得把整个项目的文件全读进来;帮你做研究,得把几十篇论文塞进上下文;帮你操作电脑,得把屏幕截图和操作历史全都记住。上下文从12.8万token拉到100万token,KV缓存就跟着线性膨胀。而且它必须全程待在显存里,不能扔到硬盘上慢慢读,因为每生成一个新token都要去查它。

按DeepSeek-V1的量级换算,每token要吃掉将近388KB缓存。一条塞满100万token的会话,光缓存就是三百多GB。加上模型权重本身,服务器还没开始干活,显存就已经报警了。

这就带出一个关键问题:到底怎么把KV缓存压下去?

三条路线打架:谁的方法最狠

学术界和工业界压KV缓存,走的是三条路。

第一条路是压缩单个缓存条目的大小。这个方法DeepSeek从V2就开始用了,叫多头潜在注意力(MLA),简单说就是让多个注意力头共用一份压缩过的潜向量,别每个头都存一份。这个方向后来被各大厂商广泛跟进。

第二条路是把多个token压成一个缓存条目。每m个token合并成一个,缓存体积直接除以m。DeepSeek-V4用的CSA和HCA走的就是这条路。

第三条路最狠,是在层这个维度上做文章。传统Transformer每层都要自己存一份KV缓存,40层就存40份。但如果某些层能直接复用前面层的缓存,或者干脆不存,那缓存量就能断崖式下降。但这条路有个大问题:每层需要检索的历史token不一样,你复用了缓存,检索结果也得跟着变,不然不同层看到的上下文完全一样,模型表达能力会被严重削弱。

DeepSeek-V4.1-Flash怎么选的?三条路全走了。

架构上设计了压缩稀疏注意力2(CSA2),把全局KV缓存和Top-K索引在层之间做复用。每层被分配三种模式之一:Full模式自己算缓存、自己搜索引;Reindex模式复用前面层算好的缓存但重新搜一遍索引;Reuse模式缓存和索引全盘复用,什么都不算。全局缓存精度上,从训练阶段就直接用FP4格式存储,每16个通道配一个E4M3缩放因子。FP4是什么概念?每个数值只用4个比特存,比传统的16比特少了四分之三。

三条路叠在一起,全局KV缓存压到890字节每token。

但是等等,有个反直觉的地方。

缓存压缩真的是越大越好吗

DeepSeek-V4.1-Flash的FP4 KV缓存是4比特精度,这比常见的8比特低了整整一档。精度损失会不会把模型变傻?

论文里给了个技术论证:最大的训练RMSNorm权重幅度大约为1,RMS归一化之后,512通道的KV潜向量L2范数最多约等于根号512,约22.6。RoPE旋转保持这个范数不变,所以最大绝对值也被限制在22.6左右,训练中实际观测的最大幅度约10。FP4格式E2M1能表示的幅度上限是448乘以6等于2688,远超过缓存的幅度上界。换句话说,压缩空间足够大,精度根本用不完。

这就怪了。大家拼命担心的精度损失,在实际数据面前根本不存在。

但是,SWA KV缓存仍然保留FP8精度,没有跟着降到FP4。原因很直接:滑窗注意力对量化更敏感,动了它模型会退化。同一个模型内部,两套缓存用了两套精度方案,一个4比特一个8比特。

事情没那么简单!

读和写用不同脑子:CED架构的骚操作

讲完了缓存,接下来讲一个更颠覆的事情。

传统大模型是“解码器只”架构,40层全是一模一样的Transformer层,输入从第一层走到第四十层,每层都完整计算一遍。这就导致一个问题:Agent场景下,模型读入的内容远远多于它生成的内容。一个工具调用产生几千字的返回结果,模型可能只输出几十个字的判断。读入阶段要跑完40层,太浪费了。

DeepSeek-V4.1-Flash搞了个因果编码器-解码器(CED)架构,把40层劈成两半:前20层叫因果编码器,后20层叫解码器。

关键操作在这里:解码器层的全局KV缓存不从自己的隐藏状态算,而是直接从第20层编码器的输出投影出来。也就是说,输入内容跑到第20层就基本结束了,剩下20层只做轻量处理。

效果?Prefill阶段的FLOPs接近砍半。

这就怪了!传统模型越大越费电,这个模型把40层劈成两半,读东西的时候只用一半的脑子?

更反直觉的还在后面。

输入输出不对称:8B和16B的双面人生

CED架构把输入和输出阶段的计算量彻底拆开了。Prefill阶段每个token只激活8B参数,Decode阶段激活16B参数。

对比一下上一代DeepSeek-V4-Flash:它主干284B参数,每token激活13B。V4.1-Flash主干552B,接近翻倍,但Prefill激活从13B降到了8B。

参数规模涨了94%,干活的人反而少了38%。这是什么逻辑?

答案藏在Engram条件记忆中。V4.1-Flash在552B主干之外,还挂了一个196B参数的Engram模块。这东西是“知识底表”,模型需要查事实性知识的时候去查一次,不需要的时候完全不参与逐token的密集计算。知识存储和推理计算被彻底分开了,这是稀疏化继续往深处做的关键前提。

然而,问题来了。DeepSeek-V4.1-Flash在Agent基准测试上确实超神了:Terminal-Bench 2.1拿到90.6%,DeepSWE v1.1拿到74.2%,都超过了Claude Opus 5的89.1%和74.0%。但是在纯推理任务上,GPQA Diamond只拿到90.9%,落后于Opus 5的93.4%和GPT-5.6 Sol的94.1%。

Agent任务强,纯推理弱。这说明什么?说明CED架构的“读多写少”设计,天生适合那些需要大量读取工具输出、搜索结果的Agent场景,但对需要深度思考的数学竞赛和科学推理,反而可能不如传统架构。压缩的代价不是精度损失,是能力画像的偏移。

一个让开发者炸锅的决定:V4 Pro直接下线

技术讲完了,说一个操作层面的骚操作。

2026年9月10日,DeepSeek发了一则公告:V4.1-Flash在性能、费用、速度和总用时上全面超越V4 Pro,所以计划有序下线V4 Pro。从9月14日12点起,所有发往V4 Pro的请求自动路由到V4.1-Flash,按Flash的价格计费。

价格差距有多大?缓存命中场景,从V4 Pro的每百万token 0.022美元降到0.003美元,降幅约86%。

但是开发者社区炸了。

有人在X上直接回复“请不要这样做”。很多开发者发现V4 Pro要被换掉,是从一条浏览量超过70万的推文里才看到的。DeepSeek没有给新旧模型并行迁移期,距离切换只有不到四天。

这里的问题不是价格。很多生产环境的Prompt经过反复调试,已经摸清了一个模型的“脾气”:哪种说法容易被忽略、怎么要求固定输出格式、工具调用失败后怎么重试。换成V4.1-Flash后,平均能力可能更强,但它可能换一种方式理解指令,输出长度、结构、拒答范围全都变了。对于聊天用户,这只是风格差异;对于已经上线的系统,少一个字段、多一段解释,后面的程序就报错了。

更棘手的是科研团队。有人正在用V4-Pro-0813开展研究,论文还没写完。旧模型撤掉后,后续实验无法沿用原来的条件,以前得到的结果也很难复现。

DeepSeek可能觉得这是一笔容易算的账:Flash更强、更快、更便宜,用户为什么不换?但对开发者来说,模型不是手机,不是“新一代更好就换”。模型是基础设施,基础设施切换需要迁移期、需要回退能力、需要版本号明确。

更小缓存如何换更大智能

回到最核心的问题:缓存压到890字节、参数激活压到8B,凭什么性能还能涨?

这里必须把V4.1-Flash和它最直接的竞品放在一起比。Kimi-K3是一个2.8万亿参数的巨型模型,在AA-Briefcase智能体知识工作基准上拿到1543分,仅次于Claude Fable 5的1574分,超过GPT-5.6 Sol。但代价是执行成本比Opus 4.8还高,平均每个任务要跑将近一个小时。

DeepSeek-V4.1-Flash选择了一条完全不同的路。Kimi-K3的做法是“参数不够大就继续加”,V4.1-Flash的做法是“参数够用就行,关键是想清楚每一步该叫醒多少参数”。CED架构让读和写用不同的计算深度,CSA2让层和层之间共享缓存,Engram让知识存储和推理计算分开。

这个差异带来一个直接的操作区别:Kimi-K3需要大规模GPU集群才能部署,V4.1-Flash的890字节缓存意味着单张卡就能扛住100万token的会话。

但代价也真实存在。V4.1-Flash在Terminal-Bench 3.0上只拿到30.0%,而Opus 5拿到43.3%,GPT-5.6 Sol拿到34.4%。Terminal-Bench 4.0上,V4.1-Flash是31.2%,Opus 5是51.8%。差距在科学密集型Agent任务上被拉大了。DeepSeek在论文里也承认了这一点:“在需要专家级领域知识的科学Agent任务上,与巨型模型之间仍存在差距”。

这就怪了。缓存压到极致、参数效率拉到极限,但在最难的题上还是打不过堆参数的对手。

那压缩的意义到底是什么?

答案藏在成本结构里!在Agent使用场景中,缓存命中的费用往往占大头。V4.1-Flash把缓存压到890字节,意味着同样的预算能跑更多的任务。官方数据显示,V4.1-Flash的并发限制从上一代的500请求扩展到2500请求。价格降了77%到80%,并发翻了5倍。

对高频使用Agent的用户来说,账单的变化比基准分数更真实。

缓存狂压背后的认知债

写到这里,得把账算清楚了。

DeepSeek-V4.1-Flash在KV缓存上的压缩是三条路线合力的结果:FP4精度从训练阶段直接压到4比特、CSA2让层间共享缓存和索引、SWA Bounded Replay让持久化缓存不再存储滑窗状态。全局KV缓存890字节每token,持久化缓存再降到V4-Flash的八分之一。

但有两个遗留问题在论文里没有被彻底解决。

第一个是SWA Bounded Replay的近似性。传统做法是精确重建滑窗注意力的状态,需要重放最近L乘以n_win个token,L是层数,n_win是窗口大小。V4.1-Flash改成只重放最近n_win个token,承认重建的状态是近似的。论文说“实验证实对响应质量的影响可以忽略”,但具体在哪些边界条件下会退化,没有给出系统性的数据。

第二个是CSA2的索引选择误差。跨层复用Top-K索引的时候,不同层的稀疏选择不完全一致。论文说“第一个Full Mode层扫描整个可见范围,后续层只在候选池里选”,但候选池的大小限制为2048个块乘以8个位置等于16384个候选位置。如果关键信息恰好不在这个候选池里怎么办?论文没有讨论。

DeepSeek自己在结论里也承认了:“CSA2的潜在选择错误和SWA Bounded Replay的近似状态重建,可能在未经测试的边界场景中导致能力退化”。

890字节这个数字很漂亮,但漂亮数字背后的代价是模型行为的可预测性在下降。对开发者来说,最怕的不是模型不够强,而是模型的行为像薛定谔的猫——你不打开盒子,永远不知道这次输出会是什么样子。

原文期刊 / arXiv预印本 / 2026年9月10日 / DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression / DeepSeek-AI研究团队