- 发布于管理员
- 2026年8月2
- 发布于管理员
- 2026年8月2
营业时间:每日 08:00-02:00(次日)
近几日,DeepSeek V4.1 Flash 正式发布,凭借其快速且强大的性能,迅速吸引了大量关注与测试热潮。
例如,知名评测机构 Artificial Analysis 在对 V4.1 Flash 进行充分测试后,给出了 40 分的指数评分,这一成绩甚至超越了 DeepSeek 旗下参数量更大的 V4 Pro。
当然,这一结果并不令人意外,毕竟 DeepSeek 自身也得出了类似结论,并表示将下线 V4 Pro,并将相关请求直接路由到 V4.1 Flash。值得一提的是,DeepSeek 已两次调整决策,先是推迟了 V4 Pro 的下线时间:
随后又放弃了 V4 Pro 的下线计划,并继续提供 API 调用服务:
此外,Artificial Analysis 的系统评测中还包含其他值得关注的要点:
Sebastian Raschka 甚至认为,DeepSeek V4.1 Flash 的创新程度之大,足以命名为 DeepSeek V5。
那么,DeepSeek V4.1 Flash 究竟是如何实现的?它是如何以 552B 参数的小模型超越 1.6T 参数的 Pro 大模型?下面我们将基于其官方技术报告进行解读。
报告地址:https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash/blob/main/DeepSeek_V41_Tech_Report.pdf
首先看技术报告的标题:「DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression」。推进 KV 缓存压缩的极限。 通读架构章节后,我们发现这并非修辞手法,几乎每一处设计都能追溯到同一个目标:压缩 KV 缓存。
先看几个数据。V4.1-Flash 的全局 KV 缓存(始终常驻 HBM 的部分)被压缩至每 token 890 字节,约为 V4-Flash 的 1/4;如果与 DeepSeek-V1 的 389,120 字节相比,差距达到 437 倍。持久化 KV 缓存(位于 SSD 或主机内存中,用于前缀复用)则被压缩至 V4-Flash 的约 1/8。
模型本身是 552B 主干参数外加 196B Engram 参数的多模态 MoE,原生支持 100 万 token 上下文,在 45T token 的多模态语料上进行预训练,prefill 阶段每 token 仅激活 8B 参数,decode 阶段激活 16B。
DeepSeek 历代模型每 token 全局 KV 缓存大小对比
这套数据组合起来,才是「552B 干掉 1.6T」的真正含义:比较的核心在于同样一次 agent 调用中,模型需要占用多少显存、从 SSD 传输多少数据、以及重新计算多少次 prefill。
要理解 DeepSeek 为何将全部精力集中于 KV 缓存,必须先认清瓶颈的变化。
从 V3.2 的 DSA 到 V4 的 CSA,稀疏注意力已将长序列的计算成本大幅降低。但长程 agent 的工作负载有一个特点:输入重(input-heavy)。
一个运行数小时的编码 agent,每次工具调用都会产生一次新的 prefill 请求,上下文只增不减,而真正需要生成的 token 反而很少。
于是,当「计算」不再是瓶颈后,「存储」和「传输」便成为新的制约因素。
报告将这一新瓶颈拆分为三个部分:
这三个问题共同决定了 agent 服务的吞吐上限和单位成本。在 V4 时代,DeepSeek 已通过 CSA 与 HCA 混合进行序列维度的压缩,而 V4.1-Flash 则选择在架构、精度、部署三个层次同时发力。
V4.1-Flash 的语言主干有 40 层,但被划分为两部分:前 20 层是因果编码器(Causal Encoder),后 20 层是解码器。这一结构被称为 Causal Encoder-Decoder,简称 CED。这也是 DeepSeek 官方发布页上「输入激活 8B、输出激活 16B」这一不对称设计的来源。
有趣的是,Arena 的 Peter Gostev 还让 Astra 阅读了 DeepSeek v4.1 Flash 的论文,并用 3D 方式将其架构与原始 Transformer 架构进行了直观对比。他还分享了这一对比,你可以放大并排查看每一个元素:
https://transformer-architecture.petergostev.chatgpt.site/
关键在于解码器那 20 层的全局 KV 是如何生成的?
在常规 Transformer 中,每一层的 K、V 都从该层自身的隐藏状态计算得出,因此处理一段提示词必须跑完全部 40 层。
CED 则不同:解码器各层的 KV 条目直接由第 20 层(即编码器最后一层)的隐藏状态,通过各自的投影矩阵映射得到。换句话说,prefill 阶段只需运行前 20 层,上半部分的全局 KV 缓存就能以极低代价获得。当序列长度远大于窗口时,prefill 的复杂度从 O(NL) 降至约 O(NL/2),接近减半。
这一思路源自微软的 YoCo(You Only Cache Once),但 CED 在结构上进行了加强:YoCo 让上半部分直接共享下半部分产生的同一份 KV 缓存,而 CED 则为每一层配置独立的投影权重,在保持「只计算一半」的前提下,扩大了 KV 的有效容量和生成深度。
不过,这也带来了代价,体现在滑动窗口注意力上。SWA 仍然逐层计算,每层的局部 K、V 都来自本层隐藏状态,以维持局部信息的计算深度。但这意味着 prefill 时解码器仍需额外处理 n_win × L/2 个 token 来补齐 SWA 状态,对于多轮短提示的场景反而成为新的开销。
DeepSeek 的处理方式是「近似」:既然已有研究表明 SWA 的实际有效感受野远小于理论上的 n_win × L/2,那就只回放提示词最后的 n_win 个 token。这就是后面要讲的 Decoder SWA Bounded Replay。
CED 负责计算,CSA2(Compressed Sparse Attention 2) 则负责存储。
报告将 KV 缓存的压缩空间归纳为三个相互乘法的维度:条目大小(GQA 减少 KV 头数、MLA 让各头共享一个小 latent)、序列维度(每 m 个 token 压缩为一条,V4 的 CSA 和 HCA 属于此类)、以及层维度(让部分层复用其他层的缓存和选择结果)。
报告中还介绍了三项之前的成果:
三者均未覆盖全部三个维度,而 CSA2 的目标是同时充分利用所有维度。
它的做法是为每个 CSA2 层静态分配三种模式之一。
三种模式的共同点是,每层仍保留自己的全局 Q 和 SWA KV,因此层与层之间的表达能力并未被抹平。具体配置参见原报告。
除了架构,还有两处改进。
第一处在于精度。V4 已对索引器的 Q、K 进行了 FP4 量化感知训练,而 V4.1-Flash 将 FP4 扩展到了 main KV 缓存。格式上选择 E2M1 搭配每 16 通道一个 E4M3 缩放因子,接近 NVFP4 但省去了其二级全局缩放。报告也严谨地论证了这一做法,感兴趣的读者可自行查阅。
第二处在于部署,即前面提到的 SWA Bounded Replay。由于 SWA 的依赖会逐层累积,精确重建 L 层的 SWA KV 需要回放 L × n_win 个 token,V4 的技术报告中曾提出「Zero SWA Caching」的思路,但这一代价在生产部署中被证明过高。V4.1-Flash 干脆接受近似:只回放最近的 n_win 个 token(配置中 n_win = 128),并将 SWA 截断至回放段内。
这个「接受近似」带来的收益很明显。在 V4 的部署中,SWA KV 占据了持久化缓存近一半的容量,而它的访问模式与持久化缓存的长留存策略根本不匹配——全局 KV 有长尾复用价值,SWA KV 却仅在一个活跃会话内的分钟级窗口中有用,会话结束后便成为死数据。
于是 V4.1-Flash 将 SWA KV 整体移出持久化缓存,改为放入由每台机器 10% 主机 DRAM 组成的分布式内存池,TTL 仅为几分钟,依靠高周转服务绝大多数并发会话;全局 KV 则继续留在 SSD 上,确保至少 72 小时的生命周期。
偶尔出现全局 KV 命中而 SWA KV 未命中的请求,便用 bounded replay 重算 n_win 个 token 作为兜底。报告称,这使一次灾难性的缓存未命中转变为一次廉价的优雅降级,持久化 KV 缓存也因此降至 V4-Flash 的约 1/8。
所有这些改进叠加的效果是:上下文从 4K 扩展到 1M、放大 256 倍,V4.1-Flash 的单 token decode FLOPs 仅增加了 1/4。
各代 DeepSeek 模型单 token decode FLOPs 随上下文长度的变化
熟悉 DeepSeek 近一年论文节奏的读者,会在架构章节中看到不少熟悉的内容。
mHC(流形约束超连接) 来自今年元旦发布的那篇论文,用于解决超大规模训练的稳定性问题。
V4.1-Flash 将其升级为 Single-Pass mHC。
在原始实现中,输入混合系数 A 必须等待隐藏维度上的规约完成后才能获取,导致残差更新、系数预测、输入混合三个 kernel 只能串行执行,激活访存量是理论下界的两倍。
新版本的做法是将混合系数错开一个 block——每个 block 消费上一个 block 产出的混合系数,依赖关系由此消失,三步可以融合进一个名为 Mega-mHC 的 kernel 中,激活访存从 (4n+4)d 降至 (2n+2)d,正好减半。报告称这种错位带来的性能损失可以忽略。
Engram 则是今年 1 月 DeepSeek 与北京大学合作提出的条件记忆模块,思路是利用 N-gram 哈希实现 O(1) 复杂度的静态知识检索,将「记忆」从昂贵的 GPU 显存卸载到廉价的 DRAM,让 MoE 专注于组合推理。
V4.1-Flash 中它首次进入正式版模型:196B 参数平均分配给两个模块,放置在第 1 层和第 14 层,采用 {2, 3, 4} 阶 N-gram、8 个哈希头、每阶总嵌入维度 2048,每个头索引约 1600 万条目,表大小取互不相同的质数。嵌入表和投影均使用 FP8,推理时通过确定性寻址从主机内存后台 RDMA 预取,第一个模块的预取直接与第一个 Transformer block 的计算重叠。与原始 Engram 设计相比,这里去掉了短因果卷积,理由是它的收益不足以抵消推理栈的复杂度。
投机解码模块 DSpark 由三个 Transformer block 组成,滑动窗口 128 token,一次前向并行给出五个草稿位置的 base logits,再使用一个轻量的 Markov 头建模草稿 token 之间的依赖,另有一个置信度头预测逐位置的接受概率,由调度器结合引擎吞吐曲线动态决定每个请求的验证长度。与 V3 中全程与主干联合训练的 MTP 不同,DSpark 是在预训练之后单独训练的,后训练阶段跟随主干但不回传梯度,好处是它能持续对齐不断演化的策略,同时加速线上服务和 RL 的 rollout 生成。
优化器层面也有两处调整:Q、K 权重使用按头切分的 head-wise Muon,以处理注意力头之间的异质性;Engram 嵌入表、token 嵌入和预测头则使用动量更新搭配 Sinkhorn 平衡替代 Adam,只需一个动量缓冲,节省了大量优化器状态显存。
这些优化效果显著:占绝大多数的 Reuse 模式层,prefill 时只需执行 15 个 kernel,decode 时只需 11 个。
DeepSeek 在后训练章节坦率地表示:这一版没有引入新的后训练算法,流程就是标准的 SFT 加 RL 加 on-policy 蒸馏,没有超出成熟实践的改动。所有的改动都集中在数据管线上,这里不再赘述,详见原论文。
一个有趣的方面是,后训练引入了一个对使用者直接可见的设计:reasoning effort。
训练时将一个 1 到 100 的标量 effort 显式写入系统提示,同一 effort 下的多个采样构成一个子组,组内进行奖励中心化,而长度惩罚系数随 effort 指数衰减:effort 每增加一个特征尺度,惩罚系数乘以 1/e。这样一来,同一份权重就能在成本-质量曲线上滑动。DeepSeek API 暴露的 max、high、low 三档,对应的正是 b=100、75、50。
这也解释了开头 Artificial Analysis 那条「最冗长模型之一」的观察:它测试的是 max 档,而 max 档在设计上就是这条曲线最右端的点。
报告给出的数据显示,effort 从 25 提高到 100,八个推理密集型基准的平均 Pass@1 从 67.1% 升至 76.3%,DeepSWE v1.1 从 66.0% 升至 74.2%,Terminal-Bench 2.1 从 82.4% 升至 90.6%,代价是约 2.5 倍的输出 token。
性能与输出长度随 reasoning effort 的变化
但收益是前置的——60 到 80 这一档已经能用不到一半的 token 预算获得接近满档的准确率,而从 80 走到 100 会让 agent 轨迹再延长 1.6 到 1.8 倍,换来的只是边际提升。报告的建议是将 max 留给最难的任务。
读完这份报告,最值得注意的是三个层次被拧在同一个方向上:架构层使用 CED 削减一半 prefill、使用 CSA2 将跨层复用覆盖全部三个维度,精度层将 main KV 压缩至 FP4,部署层则通过 bounded replay 将 SWA KV 整体赶出持久化缓存。
任何单独一项都只能带来百分之几十的改善,叠加起来才效果显著。
值得一提的是,DeepSeek 还开源了一些新的代码仓库,以便更轻松地部署 V4.1 Flash 及后续开源模型:
另外,DeepSeek 已开始灰度语音交互功能。
本文来自微信公众号“机器之心”(ID:almosthuman2014),作者:Panda,36氪经授权发布。