DeepSeek-V4.1-Flash 拆解:1M 上下文,KV cache 只剩 1/4

DeepSeek-V4.1-Flash 拆解:1M 上下文,KV cache 只剩 1/4

原文:MarkTechPost - 《DeepSeek AI Released DeepSeek-V4.1-Flash with 1M Context, FP4 KV Cache, and Cross-Layer Attention Reuse》(https://www.marktechpost.com/2026/09/10/deepseek-ai-released-deepseek-v4-1-flash-with-1m-context-fp4-kv-cache-and-cross-layer-attention-reuse)

一、Agent 变长之后,最先失控的是 KV cache

长任务 Agent 把推理服务从"输出密集"变成了"输入密集":同一段上下文反复 prefill,动辄百万 token 的上下文,KV cache 会把 HBM 容量、SSD 容量和带宽一起吃掉。

这就是 DeepSeek 在 9 月 10 日发布的 V4.1-Flash 的靶心。它不是又一个"分数更高"的模型,而是一次围绕 cache 成本做的架构重构。DeepSeek 官方更新日志里还有一句很直白的话:V4.1 Flash 在性能、费用、速度、总用时等各项指标上已全面超越 DeepSeek V4 Pro,因此计划有序下线 V4 Pro------北京时间 9 月 14 日 12:00 之后到 V4.1 Pro 上线前,访问 deepseek-v4-pro 的请求会全部路由到 V4.1 Flash,并按 V4.1 Flash 单价计费。

这篇把它的关键机制拆开讲:为什么 prefill 能砍一半、cache 是怎么被压到 890 字节每 token 的、以及这对写 Agent 的人意味着什么。

二、先看数字

维度 DeepSeek-V4.1-Flash
结构 多模态 MoE,552B 主干 + 196B Engram 参数
上下文窗口 1M token
激活参数 prefill 每 token 激活 8B,decode 激活 16B
全局 KV cache 890 字节/token,约为 V4-Flash 的 1/4、DeepSeek-V1 的 1/437
许可 MIT,开源权重,Hugging Face 提供 vLLM / SGLang / Transformers 路径
API 模型名改为 deepseek-flash,价格同步下调

890 字节每 token 是个什么量级?可以自己算一下。一个把 1M 上下文塞满的会话,全局 KV cache 大约是:

python 复制代码
# 按官方口径换算(字节数推导,不是实测)
KV_BYTES_PER_TOKEN = 890        # V4.1-Flash 全局 KV cache
TOKENS = 1_000_000              # 1M 上下文

gib = KV_BYTES_PER_TOKEN * TOKENS / 1024 ** 3
print(f"1M token 全量 KV cache ≈ {gib:.2f} GiB")   # 约 0.83 GiB

# 对比上一代:V4-Flash 约 4 倍,V1 约 437 倍
for name, ratio in [("V4-Flash", 4), ("DeepSeek-V1", 437)]:
    print(f"{name}: ≈ {gib * ratio:.1f} GiB")

结果大致是 0.83 GiB;换成 V4-Flash 口径约 3.3 GiB,换成 V1 口径则是几百 GiB 的量级。这就是"长会话能不能放进显存"的分水岭。

三、Causal Encoder-Decoder:prefill 为什么能砍一半

V4.1-Flash 的 40 层主干被拆成 20 层 causal encoder 加 20 层 decoder。

关键在于 decoder 不自己算全局 KV。它通过每层的投影权重,从 encoder 最后一层的 hidden state 里推导出全局 KV。于是 prompt token 在 encoder 就"停住"了,prefill 计算量几乎减半。这个思路受到 YOCO 架构的启发。

每一层仍然跑一个 128 token 窗口的滑动窗口注意力(SWA),所以 decoder 的 SWA 状态可以用"只回放最后 128 个 prompt token"的方式重建。研究团队把这个做法叫 Decoder SWA Bounded Replay。

四、CSA2:沿着"层"这个轴压 cache

V4 系列此前是 CSA 和 Heavily Compressed Attention 混用,V4.1-Flash 换成了纯 CSA2,攻击方向是 cache 的层维度。

每个 CSA2 层被静态分配三种模式之一:

  • Full:自己算主 KV,从中投影出 indexer K,并选出新的 Top-512 索引。
  • Reindex:复用上一个 Full 层的主 KV 和 indexer K,但用自己的 indexer Q 重新打分。
  • Reuse:主 KV 和最新的 Top-K 索引都复用,直接跳过 indexer。

具体分配是:18 个 CSA2 encoder 层,压缩比 2,分 3 组每组 6 层(1 个 Full、5 个 Reuse);20 个 decoder 层,压缩比 1,分 5 组每组 4 层,第一组是 Full 加 3 个 Reuse,其余组是 Reindex 加 3 个 Reuse。decoder 里还有一个 Hierarchical Sparse Indexer,让 Full 层建出一个最多 16,384 个位置(2,048 个块,每块 8 个)的候选池,后面的 Reindex 层就只在这个有界集合上打分,而不是扫全上下文。

说白了,就是让绝大多数层共享少数几层算出来的 KV 和索引,把重复计算摊掉。

五、FP4 KV 与 Bounded Replay:持久化 cache 再降一截

主 KV cache 被量化成 FP4:E2M1 格式,每 16 个通道配一个 E4M3 scale,走 NVFP4 的思路但不带全局 scale。这是在 post-training 阶段用量化感知训练引入的,相比 V4 的 FP8 cache,存储几乎减半。

部署层面还有一个变化:SWA KV 不再持久化到 SSD。它放在一个从主机 DRAM 划出 10% 组成的分布式池里,TTL 是分钟级;全局 KV 则保证 72 小时寿命。一旦命中失败,Encoder SWA Bounded Replay 只需要重算 128 个 token,而不是"层数 × 窗口大小"。

再加上 Single-Pass mHC、第 1 层和第 14 层的 Engram 条件记忆模块、backbone 冻结后训练的 DSpark 投机解码、head-wise Muon 等改动,效果是:上下文从 4K 涨到 1M,单 token decode 的 FLOPs 只增加 1/4。

六、和上一代、和闭源旗舰比一比

MarkTechPost 整理了这张对比表(选摘):

基准 V4.1-Flash V4-Flash Opus-5 GPT-5.6 Sol
Terminal-Bench 2.1 90.6 82.7 89.1 88.8
DeepSWE v1.1 74.2 54.4 74.0 73.0
Terminal-Bench 4.0 31.2 7.0 51.8 39.9
Automation-Bench 54.8 37.7 50.3 45.8
GPQA Diamond 90.9 89.9 93.4 94.1
Codeforces(Rating) 3471 3289 n/a n/a

怎么读这张表?

一是相对上一代 V4-Flash 的提升是全面的,尤其是 Agent 类基准:Terminal-Bench 4.0 从 7.0 到 31.2,Automation-Bench 从 37.7 到 54.8,DeepSWE v1.1 从 54.4 到 74.2。

二是对闭源旗舰,它在 Terminal-Bench 2.1 和 DeepSWE v1.1 上略占上风,但 Terminal-Bench 4.0 明显落后 Opus-5(31.2 对 51.8),世界知识类的 GPQA Diamond 也低于两家(90.9 对 93.4 / 94.1)。也就是说,工程执行类任务强,知识类任务还不是最强。

DeepSeek 官方更新日志里的成绩和这张表基本对得上,还额外给了 HLE 36.8、Codeforces 3471、Terminal-Bench 3.0 30.0、CyberGym 88.1、NL2Repo-Bench 65.4 等分数。

七、训练侧:没有新算法,靠的是任务合成与脚手架

值得注意的一点是,官方说 post-training 没有引入新算法。提升主要来自三件事:大规模合成可验证的 Agent 任务、在异构脚手架(Claude Code、Codex、OpenCode、Pi、mini-SWE、DeepSeek Harness)上做 RL、以及从 40 多个 teacher 模型做 on-policy 蒸馏。

pre-training 侧,45T 多模态 token,文本与多模态比例 7:1;稀疏注意力从 64K 序列长度从零训练,没有 dense warmup;上下文在 34T token 处扩展到 1M。基础模型在世界知识和编码上追平 V4-Pro-Base,但只用了 1/3 的总参数和 1/4 的激活参数。

八、对 Agent 开发者意味着什么

第一,长会话的成本结构变了。890 字节每 token 的 KV cache 让"把上下文留长一点"不再那么贵,这对多轮工具调用、长文档分析这类场景是直接的利好。

第二,选择模型时,要看你的瓶颈在哪。如果你的 Agent 主要在做工程执行(改代码、跑终端、自动化流程),V4.1-Flash 这一代的性价比很有吸引力;如果任务偏重世界知识问答,闭源旗舰仍有优势。

第三,接入方式有变化。模型名要改成 deepseek-flash,旧名 deepseek-v4-flash 会被临时路由;V4 Pro 即将下线,还在用 deepseek-v4-pro 的服务要在 9 月 14 日之前确认路由和计费口径的变化。

第四,部署前先看你的 cache 预算。SWA KV 落在 DRAM 池里、TTL 只有分钟级,全局 KV 才保 72 小时。做多副本、长驻会话的架构时,这个差异会直接影响容量规划。具体部署参数以官方文档和 vLLM / SGLang 的说明为准。

小结

V4.1-Flash 值得学的不是"分数又高了",而是它把优化目标定在了长任务 Agent 的真实瓶颈上:prefill 砍半靠 CED 的层间 KV 复用,cache 变小靠 CSA2 的层间共享和 FP4 量化,持久化成本下降靠 SWA 不进 SSD。

对 Agent 开发者来说,这一代模型带来的变化可以概括成一句话:长上下文从"用不起"变成了"要规划"------用得起,但你要开始认真算 cache 放在哪、活多久、怎么命中。

相关推荐
我才是银古3 小时前
从系统服务到桌面应用:DeepSeek Harness 部署与多形态使用指南
deepseek·deepseek-harness
三玖诶3 小时前
DeepSeek Launcher:内置 Node.js,为什么首次启动仍需要网络?
windows·开源·deepseek
ss2731 天前
DeepSeek Harness v0.1.5-rc.1:0.1.5 系列功能冻结,DeepSeek-V41-Flash 成默认模型
人工智能·deepseek·deepseekharness
weixin_416660071 天前
DeepSeek生成的数学公式怎么导出到Word并保持可编辑?
word·deepseek
QiHY1 天前
SpringAI+DeepSeek+HTMX实现AI Agent
人工智能·spring·ai·agent·deepseek·spring-ai
冬奇Lab2 天前
DeepSeek Harness 系列(03):工具系统——给 Agent 装上手
人工智能·deepseek
七牛开发者2 天前
告别反复调参,一个 Skill 让 AI 掌握论文图的视觉语法:以 DeepSeek V4.1 Flash 论文图为例
github·agent·deepseek
一只小bit2 天前
LlamaIndex框架:简单RAG框架的全过程实现手册
llm·milvus·rag·llamaindex·deepseek
浅安的邂逅2 天前
260910-DeepSeek 发布 V4.1 Flash:1M 上下文、552B MoE,KV 缓存降到上一代 1/4,同步开源
人工智能·开源·ai大模型·deepseek·ai日报