一文搞懂 DeepSeek:从 V3 的 KV 压缩与 MoE,到 V4 的百万 token 上下文 📅 2026/7/31 6:20:36 2024 年底DeepSeek-V3 引起了业界的广泛关注557.6 万美元的训练成本训出了比肩 GPT-4o 的开源模型。2026 年 4 月DeepSeek-V4 又把上下文长度推到了 100 万 token推理成本还压到了前代的几分之一。便宜又强秘诀不在某一个单点而是藏在架构的一连串省字里。先看 V3 是怎么省的再看 V4 又省出了什么新境界。V3 看家本领一MLA把 KV 缓存压成胶囊大模型聊天时每生成一个 token都要回头看前面所有 token 的 Key 和 Value——这些 K、V 得一直存在显存里这就是 KV 缓存。对话越长缓存越大每个 token 的 K、V 都要按注意力头一份一份地存长对话下来显存先装不下推理也跟着变慢。MLA多头潜在注意力的思路很像真空压缩袋不直接存 K、V而是把它们联合压缩成一个小得多的潜在向量 c_KV——每个 token 只存这一小条外加一个携带位置信息的解耦键 k_R。但跟压缩袋不同的是取用的时候根本不需要拆袋上投影矩阵被吸收进了相邻的计算里——算注意力分数时它折进 Query 一侧query 直接拿压缩向量算分算输出时它折进输出投影先对压缩向量加权求和、最后一次投影出去。各头的 K、V 从头到尾没有被真正展开过压缩向量直接上场干活。为什么位置信息要单独留一条因为 RoPE 这类位置编码跟上投影矩阵没法交换顺序——一旦揉进压缩刚才说的折叠吸收就失效了。所以干脆留一条小的专用通道位置键直接从输入算出来不跟内容挤。效果上KV 缓存大幅缩水性能却与标准多头注意力基本相当。查询Query端也做了同样的低秩压缩省的是训练时的显存。V3 看家本领二DeepSeekMoE6710 亿参数的专科医院模型越大通常越强但 6710 亿参数全部激活一次代价太高。MoE混合专家的解法是开一家专科医院把前馈层换成一大群专家每个 token 进门先由分诊台路由器按 sigmoid 亲和度打分只派给得分最高的 Top-K 个专家处理其余专家歇着。这里的专家不是一个个独立模型而是规格相同、参数各异的前馈网络——同一个模子各自学出了不同的专长。账面上 6710 亿参数每个 token 实际只激活 370 亿。DeepSeekMoE 在这个框架上做了两处改良专家切得更细细粒度专家分工更专另设几个共享专家——相当于全科门诊什么病都看保证基础知识不丢。真正难的是负载均衡如果分诊台总把病人往少数几个专家那儿送其他专家闲置就会路由塌缩。传统的解决办法是加一个辅助损失逼着分诊台均衡分配但辅助损失太大又伤模型性能。V3 的方案是无辅助损失的负载均衡给每个专家设一个偏置项分诊时加在分数上——过载的专家下一步就减一点欠载的就加一点。关键在于偏置只影响选不选它不影响选中之后它的意见占多大权重。相当于交通协管员只负责调度车流从不进手术室。配套还有三样补丁。一是留一道保险丝保留一个权重极小的序列级均衡损失只管单条序列内部别一边倒系数小到不碍性能。二是给路由设限每个 token 最多发往 4 个节点服务器按各节点上专家的亲和度总和挑牺牲一点选择自由换来跨机通信可控。三是不拒收专家不设容量上限训练和推理全程一个 token 都不丢。V3 的另外两笔账MTP 与 557 万美元标准语言模型每次只预测下一个 tokenV3 加了 MTP多 token 预测用一串串联的模块依次预测未来好几个 token每一级都把前一级的表示和真实的下一个词的嵌入拼起来接着猜保持完整的因果链。这样训练信号更密模型还能提前为将来打腹稿。推理时这些模块可以直接丢掉也可以留下来做投机解码加速生成。训练账单同样克制14.8 万亿 token 的预训练用 2048 块 H800 跑了 278.8 万 GPU 小时按市场价约 557.6 万美元——这里面还包括了 FP8 混合精度训练的首次大规模验证全程没有一次损失尖峰没有一次回滚重训。成绩同样扎实MMLU 88.5、MMLU-Pro 75.9、GPQA 59.1、MATH-500 90.2、AIME 39.2、Codeforces 51.6、SWE-bench 42.0——当时的最强开源基座综合表现比肩 GPT-4o 和 Claude-3.5-Sonnet。V3 的省钱工程DualPipe、冗余专家与硬件清单557 万美元能训完 671B 的模型靠的不只是架构省钱还有一整套工程配合。训练端流水线是双向的。传统流水线并行里 GPU 总要等上下游的空档气泡V3 的 DualPipe 从流水线两端同时喂入数据正向和反向的计算块两两配对让计算与跨节点通信互相重叠——通信藏在计算背后气泡砍掉一半。跨节点通信也做了定制每个 token 最多发 4 个节点先走 IB 到目标节点的同编号GPU再立刻转 NVLink 送达两段传输完全重叠只用 20 个 SM 就打满了两种带宽。部署端专家可以开分身。预填和解码分开部署最小 32 卡与 320 卡线上每 10 分钟统计一次专家负载热门专家复制副本重新排布——预填阶段常备 32 个冗余专家。MTP 模块留在推理时做投机解码第二个 token 的接受率 85% 到 90%整体吞吐再提 1.8 倍。最特别的是DeepSeek 还给硬件厂商反向开了一份需求清单132 个 SM 里有 20 个被拉去干通信的活建议下代芯片把通信卸载给协处理器H800 的 FP8 累加精度只有 14 位而他们至少需要 34 位建议提高累加精度、原生支持细粒度量化——这些需求公开放在那里留给下一代硬件去兑现。V3 的后训练R1 当老师先学会把话说短V3 的推理能力来自 DeepSeek-R1 的蒸馏但直接拿 R1 的输出当教材有个问题准是准就是话太长、格式还差。于是蒸馏之前先驯化数据每个领域单独训一个专家模型训练时把问题 原始回答和系统提示 问题 R1 回答两类数据混着喂再用高温采样让模型自己融合两种风格最后拒绝采样挑出既准确又简洁的回答当教材。整套教材 150 万条消融显示照单全收 R1 的风格确实更准但回复长度会失控——V3 的教材是精心选过的平衡点。强化学习的奖励信号则分两条腿能写死规则的一律用规则——数学题按格式判对错、代码题交给编译器跑测试规则不会被刷分开放式问题才让模型当裁判而且用 GRPO 算法砍掉了与策略模型同样大的 critic组内评分自己当基线。更开放的问题干脆让 V3 自己投票给自己打分自我奖励它在 RewardBench 上的判断力投票后 89.6已经超过了当时的 GPT-4o。V4 改进一CSA 与 HCA注意力再省一个数量级上下文拉到 100 万 token 时注意力的计算量随长度平方增长KV 缓存线性增长V3 的省法不够用了。V4 的答案是两种新注意力层混合排布。CSA压缩稀疏注意力分两步走。第一步压缩每 m 个相邻 token 的 KV用一组带位置偏置的 softmax 权重压成 1 条序列长度先缩到 1/m。第二步稀疏一个轻量的闪电索引器给每条压缩 KV 与当前 query 的相关性打分只取分数最高的 top-k 条进入注意力。另外再保留一小段最近距离的原始 KV滑动窗口近处的细节不经过压缩直接看原件。最后注意力用共享 KV 的 MQA 形式输出端分组投影省算力。HCA重度压缩注意力更激进每 m′ 个 tokenm 的很多倍压成 1 条——序列已经短到不需要再挑了直接做密集注意力。两种层混排之后100 万 token 上下文里V4-Pro 的单 token 推理 FLOPs 只有 V3.2 的 27%KV 缓存只有 10%小号的 V4-Flash 更省FLOPs 10%、KV 缓存 7%。百万 token 从演示视频里的能力变成了可以日常使用的配置。V4 改进二mHC 与 Muon给训练装上护栏残差连接是 Transformer 的生命线原始信号一路直通每层只补充修正量。超连接HC的想法是把这条直通车道拓宽几倍让层与层之间的交流更充分——但车道一宽信号容易在堆叠中失控训练频繁出现数值不稳。mHC流形约束超连接给拓宽的车道装上护栏把残差映射矩阵约束到双随机矩阵的流形上——矩阵的每行每列之和都是 1、元素非负谱范数不超过 1意味着信号经过映射既不放大也不消失。实现上用 Sinkhorn 迭代 20 步把矩阵投影过去输入、输出两端的映射则用 sigmoid 压到非负有界防止信号相互抵消。拓宽照做稳定也保住了。落地的代价也控制得住配合融合 kernel、选择性重计算和流水线调度调整mHC 的额外开销压到了 6.7%。优化器也换了V4 全线改用 Muon收敛更快长训练更稳。V4 的其他升级MoE 小改亲和度函数从 sigmoid 换成 Sqrt(Softplus)取消路由的节点数上限最前面几层的稠密前馈层换成 Hash 路由的 MoE 层——不看内容直接按 token 编号哈希分配专家。后训练两阶段先分领域特训专家——数学、代码、Agent、指令遵循各自用 SFT 加 GRPO 单独练再把这群专家用 on-policy 蒸馏合成一个统一模型。训练稳定两招预判路由Anticipatory Routing把主干和路由的更新解耦——用昨天的路由器给今天的 token 分专家平时照常训练检测到损失尖峰才短回滚并临时启用SwiGLU 的线性分量钳制在 ±10。两招全程消除了激活离群值但作者坦白有效原理还没搞清公开给社区研究。确定性 kernel预训练、后训练、推理三条流水线做到逐 bit 对齐——同一个 token 无论排在 batch 哪个位置输出完全相同出了异常能直接定位数值原因。FP4 为什么能无损后训练阶段对 MoE 专家权重和索引器的 QK 路径做 FP4 量化感知训练。这里有个反常识的细节FP4 先量化、再反量化回 FP8 计算是无损的——FP8 比 FP4 多两个指数位细粒度缩放信息能被完全吸收。索引得分顺势降到 BF16top-k 选择提速 2 倍KV 召回率仍保持 99.7%。两档型号V4-Pro 1.6T 参数、49B 激活预训练 33T tokenV4-Flash 284B 参数、13B 激活预训练 32T token。两者都原生支持 100 万 token 上下文。成绩单从比肩闭源到摸到前沿V4-Pro 的最强模式Pro-Max在 SimpleQA 和中文 SimpleQA 上做到开源第一推理成绩超过 GPT-5.2 和 Gemini-3.0-Pro与 GPT-5.4、Gemini-3.1-Pro 的差距缩到大约三到六个月Agent 任务上超过 Claude Sonnet 4.5接近 Opus 4.5长文本学术评测里甚至压过 Gemini-3.1-Pro。V4-Flash-Max 走性价比路线加大思考预算也能摸到 GPT-5.2、Gemini-3.0-Pro 的水平。更贴近日常使用的评测也给出了答案中文功能性写作对 Gemini-3.1-Pro 胜率 62.65%agentic 搜索对 RAG 胜率 61.7%30 个中文高阶职业任务上对 Opus-4.6-Max 的非败率 63%内部工程师出的代码题通过率 67%明显超过 Claude Sonnet 4.5 的 47%。官方也坦率标出了边界在 100 万 token 里捞针的 MRCR 测试8 根针中128K 以内得分稳定在 0.9 以上但拉满 100 万 token 时会掉到 0.59——百万上下文可用但还不是没有代价的。回看两代的成绩曲线V3 证明开源可以便宜地比肩闭源V4 证明开源可以便宜地摸到前沿。结尾把算力的水分拧干V3 解决的是能不能便宜地强V4 解决的是能不能便宜地长。从 MLA 的 KV 压缩到 MoE 的分诊从 CSA/HCA 的压缩稀疏到 mHC 的护栏DeepSeek 每一代做的都是同一件事把每一分算力的水分拧干再把拧出来的空间换成能力。延伸阅读DeepSeek-V3 Technical Report——DeepSeek-V3DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence——DeepSeek-V4DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model——MLA 与 DeepSeekMoE 的出处DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models——细粒度专家与共享专家