DeepSeek-V4 论文精读
《DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence》——迈向高效的百万 Token 上下文智能
论文:arXiv:2606.19348(2026-04-26 提交)|作者:DeepSeek-AI(梁文锋等 200+ 人)|58 页技术报告(预览版)
模型:V4-Pro(1.6T 总参 / 49B 激活)、V4-Flash(284B / 13B),均原生支持 100 万 token 上下文,权重 MIT 协议开源
精读材料说明:本文所有内容分为三类并全程标注来源 ——
论文声称作者的观点或叙事,未必有独立证据;
实验支持论文/官方模型卡中有数据支撑;
解读者推断精读者的推理,论文未明说。
数据来源与核验声明:第 1–4 章正文内容取自 arXiv HTML 全文;基准数值表取自 DeepSeek 官方 HuggingFace 模型卡(与技术报告表格一致的第一方数据);第 5、6 章部分细节因 arXiv 页面截断,由可靠二手报道(DeepTech 深科技、TechTimes 等)补齐并单独标注"二手来源";所有数字均为复述,未做独立复现验证。引用第三方评测(如 NIST)时均注明其与论文无关。
第 0 章 · 预备知识(解读者补充,非论文内容)
来源:解读者补充 · 为零基础/基础薄弱读者准备的地基,只讲到"够读这篇论文"的深度
这一章的内容不来自论文,是我为你补的最小必要背景。每个概念按"严格定义 → 一句话直觉 → 最小例子"展开。已经熟悉的可以直接跳到第 1 章。
0.1 Transformer 与注意力机制
严格定义:Transformer 是当前所有主流大语言模型的骨架。它把输入文本切成 token(可粗略理解为"字/词片段"),每个 token 被表示为一个高维向量(比如 V4-Pro 里是 7168 维)。模型由几十层相同的"积木"堆叠而成,每层做两件事:注意力(token 之间互相交换信息)和 前馈网络 FFN(每个 token 独立地做非线性变换)。
注意力在算什么:每个 token 生成三个向量——Query(我在找什么)、Key(我是什么)、Value(我携带的信息)。某个 token 的 Query 与所有历史 token 的 Key 做点积得到"相关度分数",softmax 归一化后作为权重,对所有人的 Value 加权求和,得到这个 token 的新表示。
一句话直觉:读书会划重点——每读一个新句子,你会回头扫一遍前文,找出跟当前句子最相关的几处,重点参考它们。
最小例子:读"小明把苹果给了小红,她很开心"时,"她"的 Query 会和"小红"的 Key 匹配度最高,于是"她"的表示里融入"小红"的信息。
痛点(论文的出发点)注意力的计算量随序列长度呈平方增长:序列从 4K token 涨到 100 万 token(250 倍),每个新 token 要回头看的历史 token 多了 250 倍,总开销涨 250² ≈ 6 万倍。这就是"百万上下文"在过去贵到不可用的根本原因。
0.2 KV Cache:推理的"记忆成本"
严格定义:模型生成文本是一个 token 一个 token 往外蹦的(自回归)。生成第 t 个 token 时,需要用到前面 t−1 个 token 的 Key 和 Value。为了不重复计算,这些 K、V 被缓存下来,称为 KV cache。
一句话直觉:你一边写文章一边在草稿纸上给前文做"索引笔记",后文用到时直接查笔记,而不是把前文重读一遍。笔记越厚(KV cache 越大),占的桌面(GPU 显存)越多。
手算量级(费米估算):一个传统模型若每层缓存 8 组 K、V,每组 128 维、2 字节(BF16),则每个 token 每层占 8×128×2×2 = 4KB。61 层、100 万 token:4KB × 61 × 1M ≈ 244 GB——比一张顶级 GPU 的显存(80GB/141GB)还大。这就是论文反复强调的"KV cache 会把显存吃光"。
记住这个数:V4 论文的核心成就之一,就是把百万 token 下的 KV cache 压到上述传统基线的约 2%、压到自家 V3.2 的 10%。第 2 章会逐字节算给你看。
0.3 MoE:混合专家——"总参数量"与"激活参数量"的区别
严格定义:MoE(Mixture of Experts)把 FFN 换成 N 个并行的"专家"小网络。每个 token 经过时,一个"路由器"只挑其中 k 个专家来处理它(V4 是 384 选 6,另有 1 个所有 token 都走的"共享专家")。
一句话直觉:一家大医院有 384 个专科医生,但每个病人只看 6 个科室加一个全科医生。医院的"总实力"(总参数)很大,单个病人的"就诊成本"(激活参数)却很小。
关键数字感:V4-Pro 总参数 1.6T(万亿),但每个 token 只激活 49B(490 亿),激活率约 3%。这就是为什么"1.6T 模型"的推理成本只相当于一个 50B 左右的稠密模型。常见误读预警:总参数决定"知识容量",激活参数决定"每步算力开销"——两者别混为一谈。
最小例子:Flash 每层有 257 个专家(256 路由 + 1 共享),每个专家的 FFN 中间维度 2048。每个 token 实际走 7 个专家(6 路由 + 1 共享),只动用全部专家参数的 7/257 ≈ 2.7%。
0.4 稀疏注意力与压缩注意力(V3.2 → V4 的演进线)
稀疏注意力(DSA,V3.2 引入):不让每个 query 看全部历史,而是用一个轻量的"索引器"(Lightning Indexer)先给所有历史 token 打分,只挑出 top-k 个(比如 2048 个)做真正的注意力。100 万 token 里只看 2048 个,开销立刻降两个数量级。直觉:查资料不必读完整座图书馆,先看目录索引挑出最相关的几本书。
压缩注意力(V4 新增):把每 m 个相邻 token 的 KV"合并摘要"成 1 条。比如 HCA 把每 128 个 token 压成 1 条——100 万 token 的历史只剩约 7800 条摘要。直觉:你把每章书写成一张卡片,复习时先翻卡片而不是原书。
V4 = 压缩 + 稀疏的组合拳:CSA 层"先压缩 4 倍、再稀疏 top-k",HCA 层"暴力压缩 128 倍、但看全部摘要"。两类层交替堆叠。这是第 2 章的主角,届时逐公式拆解。
0.5 训练侧基础:梯度下降、RL 与蒸馏
优化器(AdamW / Muon):训练就是反复"算梯度 → 更新参数"。AdamW 是行业标准优化器;Muon 是 2024 年起流行的新优化器,核心动作是把更新矩阵"正交化"(让各个方向的更新幅度更均衡),实测收敛更快。V4 是首个在万亿参数规模全面采用 Muon 的公开模型。第 2.4 节详解。
SFT 与 RL(GRPO):预训练得到"博览群书但不会办事"的基座模型后,后训练分两招:SFT(监督微调,给标准答案让模型模仿);RL(强化学习,让模型自己答题、按对错给奖励)。GRPO 是 DeepSeek 发明的 RL 算法:同一道题让模型答一组(Group)答案,组内互相比较定奖励,省掉了传统 RL 里昂贵的"价值网络"。
蒸馏与 KL 散度:"蒸馏"= 让小模型/新模型(student)模仿强模型(teacher)。KL 散度是衡量两个概率分布差异的尺子。forward KL(传统蒸馏/SFT):teacher 有的模式 student 都得有——容易"连老师的口音一起学"且挤掉自己原有的能力;reverse KL(V4 用的 On-Policy Distillation):student 先自己答题,teacher 只在 student 的答卷上逐题批改——学生保住自己的风格,只学老师的判断力。这个区别是第 5 章的灵魂。
0.6 术语表与符号速查表
术语表(点击展开)
| 术语 | 严格定义 | 备注/常见叫法 |
| MoE | 混合专家:多个并行 FFN 专家 + 路由器按需激活 | DeepSeekMoE 是其细粒度变体 |
| 激活参数 | 处理单个 token 实际参与计算的参数量 | 决定推理算力开销 |
| KV cache | 自回归推理时缓存的历史 Key/Value 张量 | 长上下文显存杀手 |
| DSA | DeepSeek Sparse Attention:lightning indexer 打分 + top-k 选择的稀疏注意力 | V3.2 引入 |
| CSA | Compressed Sparse Attention:先按 m=4 压缩 KV,再做 DSA 稀疏选择 | V4 新增 |
| HCA | Heavily Compressed Attention:按 m′=128 激进压缩 KV,做稠密注意力 | V4 新增 |
| mHC | 流形约束超连接:加宽残差流并把混合矩阵约束在双随机矩阵流形上 | V4 新增 |
| MTP | Multi-Token Prediction:一次预测多个未来 token 的训练(兼推理加速)技术 | 沿用 V3 |
| Muon | 对更新矩阵做 Newton-Schulz 正交化的优化器 | V4 主力优化器 |
| GRPO | 组相对策略优化:组内相对比较定奖励的 RL 算法 | DeepSeek 发明 |
| OPD | On-Policy Distillation:student 自己生成轨迹、teacher 在其上算 reverse KL 的蒸馏 | V4 后训练整合主线 |
| QAT | 量化感知训练:训练中模拟低精度量化,使模型适应 FP4/FP8 | 5.2.1 节 |
| FP8 / FP4 | 8 位 / 4 位浮点数格式,显存与算力的压缩手段 | FP4 目前主要省显存 |
| RoPE | 旋转位置编码:把位置信息以"旋转"方式注入 Q/K | V4 只对最后 64 维用(Partial RoPE) |
| Attention Sink | 可学习的"注意力泄洪口",允许注意力权重总和小于 1 | 防止 softmax 被迫分配权重 |
| SWA | 滑窗注意力:只看最近 n_win=128 个 token 的局部注意力分支 | 补足压缩的局部盲区 |
符号速查表(点击展开)
| 符号 | 含义 | 首次出现 |
| d | 隐藏维度(Flash 4096 / Pro 7168) | §2 |
| c | 注意力 head 维度(512) | §2.3 |
| n_h | query 头数(Flash 64 / Pro 128) | §2.3 |
| m / m′ | CSA 压缩率 4 / HCA 压缩率 128 | §2.3 |
| k(top-k) | CSA 稀疏选择的压缩 KV 条数(Flash 512 / Pro 1024) | §2.3.1 |
| d_c | query 压缩维度(Flash 1024 / Pro 1536) | §2.3.1 |
| g, d_g | 输出投影分组数(8/16)与组内中间维度(1024) | §2.3.1 |
| n_win | 滑窗大小(128) | §2.3.3 |
| n_hc | mHC 残差流扩展倍数(4) | §2.2 |
| A_l, B_l, C_l | mHC 的输入映射 / 残差混合矩阵 / 输出映射 | §2.2 |
| η, μ, λ, γ | Muon 的学习率 / 动量 / 权重衰减 / 更新缩放 | §2.4 |
| h(§3.1 语境) | 隐藏维度(7168) | §3.1 |
第 1 章 · 全局大图
1.1 摘要拆解对照表(兼全文导航)
来源:论文摘要逐短语拆解;右两列为解读者映射
| 摘要原文(要点) | 对应论文章节 | 对应本报告章节 |
| "两个 MoE 模型:V4-Pro 1.6T/49B 激活,V4-Flash 284B/13B,均支持 100 万 token 上下文" | §1, §4.2.1 | 第 2、4 章 |
| "混合注意力架构:CSA + HCA 提升长上下文效率" | §2.3 | 第 2.2–2.3 节 |
| "mHC 增强传统残差连接" | §2.2 | 第 2.1 节 |
| "Muon 优化器:更快收敛、更稳训练" | §2.4, §3.4.1 | 第 2.5、3 章 |
| "32T+ token 预训练 + 综合后训练流程" | §4, §5 | 第 4、5 章 |
| "V4-Pro-Max 重新定义开源模型 SOTA" | §5.3 | 第 5、6 章(含批判性审视) |
| "1M 上下文下 FLOPs 仅为 V3.2 的 27%、KV cache 仅为 10%" | §2.3.4, 图 1 | 第 2.4 节(手算验证) |
| "让百万上下文成为日常可用,使长程任务与 test-time scaling 更可行" | §6 | 第 6、7 章 |
1.2 知识依赖图
来源:解读者整理。节点 A → B 表示"要懂 B 需先懂 A";蓝色实心为枢纽节点(被依赖最多,值得慢读)
注意力机制→
KV cache→
压缩注意力(CSA/HCA)→
1M 上下文效率(27%/10%)
稀疏注意力 DSA(V3.2)→
CSA 的 lightning indexer + top-k→
推理框架 KV cache 管理
残差连接→
mHC 流形约束超连接→
深层训练稳定性
MoE→
专家并行 EP + 通信重叠→
RL rollout / agent 服务提速 1.5–1.96×
SFT + GRPO→
领域专家模型→
On-Policy Distillation(reverse KL)→
统一模型 V4-Pro / Flash
主干线(最长依赖链):注意力 → KV cache → DSA → CSA/HCA → 1M 效率 → 长上下文 RL 与 agent 能力。枢纽节点:压缩注意力与专家并行——它们各自撑起了论文的"效果"与"效率"两条叙事线。
1.3 贡献清单与证据强度预评
来源:论文声称的贡献;星级为解读者预评(★★★ 主实验+消融 / ★★ 仅主实验或仅消融 / ★ 设计主张)。第 7 章证据审计会回看修正
| # | 论文声称的贡献 | 预评 | 预评理由 |
| 1 | CSA+HCA 混合注意力:1M 上下文 FLOPs 降至 V3.2 的 27%(Pro)/10%(Flash) | ★★ | 有架构推演与效率图,但跨硬件实测细节有限 |
| 2 | KV cache 降至 V3.2 的 10%/7%,传统 GQA8 基线的约 2% | ★★★ | 架构数字可直接手算验证(本报告 2.4 节会算) |
| 3 | mHC 提升稳定性与表达力,工程开销仅 6.7% | ★★ | 有 wall-time 数字;mHC 的收益有前作(HC 论文)支撑 |
| 4 | Muon 在 1.6T 规模首次全面落地,更快收敛更稳定 | ★★ | 训练成功本身是证据;无公开对照曲线 |
| 5 | Anticipatory Routing + SwiGLU Clamping 消除训练 outlier | ★★ | 作者自述"机制未被充分理解",属经验性技术 |
| 6 | OPD 两阶段后训练范式替代 mixed RL | ★★ | 有最终模型成绩支撑;无 OPD vs mixed RL 的消融 |
| 7 | V4-Pro-Max 为最强开源模型,接近闭源前沿(差 3–6 个月) | ★★ | 主结果表支持"开源第一";"3–6 个月"是叙事性概括,第 6 章用第三方数据复核 |
| 8 | 基础设施全家桶(MegaMoE、TileLang、确定性 kernel、DSec 沙箱) | ★★★ | 多项已开源,可独立验证 |
1.4 推荐阅读路线
必读主线(约 80% 价值):第 0 章(按需)→ 第 1 章 → 第 2 章全部 → 第 4 章稳定性技术 → 第 5 章 OPD → 第 6 章批判阅读。
可跳读支线:第 3 章基础设施(工程向读者必读;只想懂原理的读者读每节开头一段即可)。跳读代价:看不懂"为什么这些架构能真正落地",以及第 6 章关于成本坐标轴的讨论会变浅。
时间预算建议:全文精读约 3–4 小时;只读主线约 2 小时;每章末尾的自测题至少做 L1/L2 级。
第 2 章 · 架构精读(本报告主体)
来源:论文 §2(含 §2.1–2.4 全部公式与 §4.2.1 配置表)
本章学习目标(学完后你应能):
- 手算 V4-Pro 每层 MoE 的参数量,并验证 1.6T / 49B 两个数字自洽;
- 说出 mHC 把残差矩阵约束在"双随机矩阵流形"上解决了什么具体的数值问题;
- 解释 CSA 的"压缩率 1/m 但实际用 2m 条 KV"这个看似矛盾的设计;
- 手算 1M 上下文下 V4 的 KV cache 量级,并对账"27% / 10% / 2%"三个数字;
- 复述 Muon 的五步更新流程和混合 Newton-Schulz 迭代的两个阶段。
2.0 先看配置:两个模型的"体检表"
来源:论文 §4.2.1 Model Setups(提前到这里,后续所有手算的依据)
| 配置项 | V4-Flash | V4-Pro |
| Transformer 层数 | 43 | 61 |
| 隐藏维度 d | 4096 | 7168 |
| 注意力排布 | 前 2 层纯滑窗(SWA),之后 CSA/HCA 交错 | 前 2 层 HCA,之后 CSA/HCA 交错 |
| CSA 压缩率 m | 4 | 4 |
| CSA top-k(稀疏选择条数) | 512 | 1024 |
| HCA 压缩率 m′ | 128 | 128 |
| query 头数 n_h × head 维度 c | 64 × 512 | 128 × 512 |
| indexer:头数 n_h^I × 维度 c^I | 64 × 128 | 64 × 128 |
| query 压缩维度 d_c | 1024 | 1536 |
| 输出投影:分组 g × 中间维 d_g | 8 × 1024 | 16 × 1024 |
| 滑窗 n_win | 128 | 128 |
| 专家:1 共享 + 路由数(每 token 激活 6 个) | 1 + 256 | 1 + 384 |
| 每专家 FFN 中间维度 | 2048 | 3072 |
| mHC 扩展倍数 n_hc / Sinkhorn 迭代 | 4 / 20 | 4 / 20 |
| MTP 深度 | 1 | 1 |
| 总参数 / 激活参数 | 284B / 13B | 1.6T / 49B |
先建立一个整体印象V4 的 MoE 骨架几乎照搬 V3(细粒度专家 + 共享专家 + 无辅助损失负载均衡),真正的代际变化全部发生在注意力(CSA+HCA 换掉 MLA+DSA)和残差(mHC)这两条线上,外加训练用的 Muon。读懂这三个点就读懂了 V4。
2.1 mHC:流形约束超连接(论文 §2.2)
失效模式先行:残差连接也会"爆"
没有 mHC 会怎样2024 年提出的 Hyper-Connections(HC)把残差流从 1 条加宽到 n_hc 条,让层与层之间学"怎么混合多条残差",效果提升明显。但 HC 的混合矩阵 B_l 是无约束的:61 层连乘之后,若某层 B 的谱范数略大于 1,信号会逐层指数放大——前向激活爆炸、反向梯度爆炸,训练频繁数值不稳定。【论文声称】V4 团队观察到"堆叠多层时训练频繁出现数值不稳定"。
直觉与类比
类比:把 n_hc=4 条残差流想象成 4 个水箱,B_l 是水箱之间的调水方案。普通 HC 允许"凭空造水"(总量放大);mHC 要求调水方案是一个双随机矩阵——每行每列之和都为 1、所有元素非负——意味着每个水箱的水完全分光(行和=1),每个水箱收到的水恰好满(列和=1),总水量永远守恒。
类比在哪里失效:双随机约束只保证"总能量不放大"(谱范数 ≤ 1),并不保证信息不混合到"失去个性"。mHC 另外把输入/输出映射 A_l、C_l 用 Sigmoid 压成非负有界来防止信号互相抵消——这是类比覆盖不到的第二重保险。
公式手术
公式 (1):残差状态更新(HC 本体)
Xl+1 = Bl·Xl + Cl·𝓕l(Al·Xl)
| 符号 | 它是什么 | 直觉 |
| X_l ∈ ℝ^{n_hc×d} | 第 l 层的残差状态,n_hc=4 条各 d 维的"并行残差流" | 4 本同步更新的读书笔记 |
| A_l ∈ ℝ^{1×n_hc} | 输入映射:把 4 条流压成 1 条 d 维向量喂给本层 | 进图书馆前把 4 本笔记浓缩成 1 页 |
| B_l ∈ ℝ^{n_hc×n_hc} | 残差混合矩阵:4 条流之间如何互相调配 | 笔记之间互相誊抄的规则 ← mHC 约束的就是它 |
| C_l ∈ ℝ^{n_hc×1} | 输出映射:把本层输出分发回 4 条流 | 新学到的内容抄回哪几本笔记 |
| 𝓕_l | 第 l 层本身(注意力或 MoE),输入输出都是 ℝ^d | 层内部完全不用改 |
公式 (2):流形约束——B_l 必须落在 Birkhoff 多胞体上
𝓜 = { M ∈ ℝ^{n×n} | M·1 = 1,1ᵀ·M = 1ᵀ,M ≥ 0 }
这个约束的三个数学后果(论文原述):实验支持①谱范数 ‖B_l‖₂ ≤ 1,B 是非扩张映射,前向反向都数值稳定;②双随机矩阵对乘法封闭——61 层连乘仍然是双随机矩阵,深层堆叠稳;③A、C 经 Sigmoid 非负有界,避免信号抵消。
公式 (3)–(8):动态参数化 + Sinkhorn-Knopp 投影
Ãl = αpre·(X̂lWpre) + Spre, B̃、C̃ 同理 → A = σ(Ã),C = 2σ(C̃),B = Sinkhorn₂₀(exp(B̃))
关键点:B_l 不是直接学的矩阵,而是由当前残差状态动态生成(content-dependent),再经 20 轮 Sinkhorn-Knopp 行列交替归一化"投影"到双随机流形上。20 轮作用在 4×4 的小矩阵上,计算量可以忽略。
手算验证:mHC 的参数量到底多小?
手算(V4-Pro,d=7168,n_hc=4)
生成 B 的权重 W^res ∈ ℝ^{(n_hc·d)×(n_hc²)} = 28672 × 16 ≈ 45.9 万参数;W^pre、W^post 各 28672×4 ≈ 11.5 万。合计每层约 69 万参数。
对比:同层 MoE 有 385 个专家 × 3 个矩阵 × 7168 × 3072 ≈ 254 亿参数。
mHC 参数占比 ≈ 69 万 / 254 亿 ≈ 0.003%。结论:mHC 的"容量税"几乎为零,它真正的成本在显存带宽(残差流变宽 4 倍),这就是为什么论文要用专门的融合 kernel + 重计算把 wall-time 开销压到 6.7%(§3.4.2)。【实验支持】
工程账单
- 缓解了:深层 HC 的数值爆炸 → 61 层万亿模型可稳定训练。
- 新增了:残差流显存 ×4、流水线通信量变大(需调整 DualPipe 1F1B 调度)。
- 埋下的债:Sinkhorn 迭代与 mHC 的小矩阵乘法(输出维度仅 24)逼出了 §3.3 的"确定性归约"和 §3.4.2 的融合 kernel 工程。
常见误读
- 误读 1:"mHC 是新的注意力/FFN 结构"。×——它只改残差连接方式,层内部(注意力、MoE)原封不动。
- 误读 2:"双随机约束会限制模型表达力"。论文的回应是动态参数化:B 由内容生成,约束的只是"不放缩能量",混合模式依然千变万化。【论文声称】
- 误读 3:"20 轮 Sinkhorn 很贵"。×——作用在 4×4 矩阵上,相对每层 254 亿参数的 MoE 可忽略。
一句话记住本节:mHC = 把残差加宽成 4 条流,再用"每行每列和为 1"的数学枷锁(双随机矩阵)锁死混合矩阵,让信号在 61 层里既不爆炸也不消失,参数成本几乎为零。
闭卷自检(勾选你能答上的):
自测题
L1 直接应用Q1:V4 中 n_hc 取多少?B_l 的约束集合 𝓜 叫什么流形?Sinkhorn 迭代多少轮?
显示答案
n_hc = 4;Birkhoff 多胞体(双随机矩阵流形);t_max = 20 轮。
L2 迁移Q2:如果把 n_hc 从 4 提到 16,mHC 的参数量和 wall-time 开销分别会怎么变?哪个涨得更快?
显示答案
W^res 参数量 ∝ n_hc³(28672→114688 输入维 × 16→256 输出维,约 32 倍),仍只有每层约 3000 万参数、依旧可忽略;但残差流显存与层间通信 ∝ n_hc(×4),wall-time 开销会从 6.7% 显著上涨。显存/带宽开销比参数开销涨得更"疼"——这正是 V4 只取 4 的原因。
L3 构造反例Q3:构造一个 2×2 的非双随机矩阵,使残差信号经过 61 层后被放大约 10 倍,以此说明为什么需要流形约束。
显示答案
取 B = 1.04·I(对角阵,每行和为 1.04 ≠ 1)。则 ‖B‖₂ = 1.04,61 层连乘放大 1.04⁶¹ ≈ e^(61×0.0392) ≈ e^2.39 ≈ 10.9 倍。B 不是双随机矩阵(行和 1.04),所以这种"每层只偷 4%"的膨胀正是 mHC 要禁止的——非扩张约束把放大系数锁死在 1。
L4 综合Q4:mHC 的 B 是"由内容动态生成 + Sinkhorn 投影"。如果改成"每层学一个固定的双随机矩阵"(去掉动态参数化),你预期会发生什么?
显示答案(评分要点)
满分要点:①表达力下降——不同输入内容需要不同的残差混合策略,固定 B 无法做到内容自适应;②训练稳定性不变(双随机约束仍在);③参数量反而可能上升(静态 B 需每层独立存储全部混合模式)。判断依据:动态参数化是 HC 系列的灵魂,约束与参数化是两个正交的设计维度。
2.2 CSA:压缩稀疏注意力(论文 §2.3.1)
失效模式先行:百万上下文的两座大山
没有 CSA/HCA 会怎样传统稠密注意力在 1M 上下文下:①KV cache ≈ 244GB(第 0.2 节算过),显存放不下;②每生成 1 个 token 要和 100 万个历史 token 做注意力,FLOPs 随长度线性增长、总计算随长度平方增长。V3.2 的 DSA 用稀疏选择(top-k)把②缓解了一个量级,但 KV cache 仍要存全量历史——稀疏只省算力,不省显存。【解读者推断:这正是 V4 必须先做"压缩"再做"稀疏"的动机】
直觉与类比
类比:CSA = "先做会议纪要、再按目录检索"。每 m=4 个相邻 token 的 KV 被加权合并成 1 条"纪要"(压缩);生成新 token 时,lightning indexer 快速给所有纪要打分,只取 top-k(Pro 为 1024)条做精细注意力(稀疏)。
类比在哪里失效:会议纪要是"无损摘要"的错觉——压缩是有损的,4 个 token 的细节被压进 1 条 512 维向量里。所以 CSA 必须配一个"滑窗分支"保留最近 128 个 token 的原始 KV(§2.3.3),否则连紧邻的上文细节都会丢。
公式手术
公式 (9)(10):生成待压缩的 KV 与压缩权重
Cᵃ = H·WaKV,Cᵇ = H·WbKV, Zᵃ = H·WaZ,Zᵇ = H·WbZ
| 符号 | 它是什么 | 直觉 |
| H ∈ ℝ^{n×d} | 全部 token 的隐状态(n = 序列长度) | 原始会议记录 |
| Cᵃ, Cᵇ ∈ ℝ^{n×c} | 两路待压缩内容(c = 512) | 纪要素材(当前块 / 前一重叠块) |
| Zᵃ, Zᵇ ∈ ℝ^{n×c} | 两路压缩权重(softmax 前的 logits) | 每句话在纪要里的"发言权" |
| W^{aKV}… ∈ ℝ^{d×c} | 可训练投影,d→c(如 7168→512) | 把 7168 维"原话"浓缩成 512 维 |
公式 (11)(12):每 m 条压成 1 条(带重叠)
CCompi = Σj Sᵃj⊙Cᵃj + Σj′ Sᵇj′⊙Cᵇj′ ,其中 [Sᵃ;Sᵇ] = Softmax_row([Zᵃ+Bᵃ; Zᵇ+Bᵇ])
这里藏着全文最容易误读的一个设计:每条压缩条目 C^Comp_i 其实由 2m = 8 条原始 KV 加权得到(当前 m 条 + 与前一块重叠的 m 条),softmax 在这 2m 个元素上归一化。但因为相邻块的输入有重叠,净压缩率仍是 1/m = 1/4。重叠的意义:避免信息恰好落在块边界时被"劈开"丢失——类似卷积里的重叠滑窗。
公式 (13)–(17):Lightning Indexer 稀疏选择
q_t^I = (h_t·W^{DQ})·W^{IUQ}, I_{t,s} = Σ_h w_{t,h}^I·ReLU(q_{t,h}^I·K^{IComp}_s), 取 Top-k 条压缩 KV
| 符号 | 它是什么 | 直觉 |
| c_t^Q = h_t·W^{DQ} ∈ ℝ^{d_c} | query 的低秩潜向量(d_c=1536 ≪ n_h·c=65536) | 先写个"检索意图草稿" |
| q_t^I(64 头 × 128 维) | indexer 专用 query,与主注意力共享 c_t^Q | 检索员的搜书关键词 |
| I_{t,s} | 第 t 个 token 对第 s 条压缩 KV 的索引分数 | 每本"纪要"的相关度评分 |
| w_{t,h}^I | 64 个 indexer 头的可学习组合权重 | 64 个检索员投票时的票数权重 |
| k(top-k) | Pro 1024 / Flash 512 条 | 只精读评分最高的 k 本纪要 |
公式 (18)(19):MQA 式共享 KV 的核心注意力
o_{t,i} = CoreAttn(query = q_{t,i}, key = C^{SprsComp}_t, value = C^{SprsComp}_t)
注意:同一条压缩向量同时充当 key 和 value(MQA 方式)——KV cache 只需存一份,这是压缩之外再省一半显存的关键。代价是 key/value 无法各自特化,靠 64/128 个 query 头弥补表达力。
分组输出投影:128 头 × 512 维 = 65536 维直接投影回 d=7168 需要 4.7 亿参数的矩阵。V4 把 128 头分成 g=16 组,每组先压到 d_g=1024,再拼成 16384 维投影回 7168——参数量从 4.7 亿降到 16×(4096×1024) + 16384×7168 ≈ 0.67+1.17 ≈ 1.84 亿,省约 60%。【解读者推断:分组投影 ≈ 输出端的"低秩分解"】
手算验证:CSA 在 1M 上下文下的注意力开销
手算(V4-Pro,1M token)
压缩后 KV 条数 = 1M / 4 = 25 万条。
top-k = 1024 → 每个 query 只做 1024 条精细注意力,占全量的 1024/250000 ≈ 0.41%。
即使加上 indexer 打分(25 万次 128 维点积,比主注意力 512 维便宜得多),CSA 层的注意力算力相对稠密注意力也只剩约 1% 量级。这就是"稀疏"省算力的量级感。
显存侧:25 万条 × (512 维 FP8 + 64 维 RoPE BF16 ≈ 640B) ≈ 160MB/层——对比稠密 MHA(128 头 K+V)的数十 GB,两个数量级的差距。【实验支持的方向,具体数字为解读者按配置手算】
常见误读
- 误读 1:"压缩率 1/4 意味着信息只剩 1/4"。×——512 维向量的容量远大于 4 个 token 的"平均",softmax 加权让重要 token 主导压缩条目;且滑窗分支保底近期细节。
- 误读 2:"indexer 是另一个小模型"。×——它只是几个低秩投影矩阵(W^{DQ}、W^{IUQ}、W^w),与主模型联合训练,参数量占比极小。
- 误读 3:"top-k 是固定的所以短文本浪费"。论文明确说 V4 采用比 V3.2更小的 top-k 来提升短/中文本效率(§2.3.4)。
一句话记住本节:CSA = 每 4 个 token 压成 1 条"重叠加权纪要"(省显存),再用 64 头 indexer 投票选出 top-1024 条精读(省算力),KV 同时当 key 和 value(再省一半显存)。
闭卷自检:
自测题
L1Q1:CSA 的压缩率 m、indexer 头数、Pro 的 top-k 各是多少?
显示答案
m = 4;indexer 64 头 × 128 维;Pro top-k = 1024(Flash 512)。
L2Q2:为什么压缩条目要做"块间重叠"?如果去掉重叠(每条只用 m 条 KV),会发生什么?
显示答案
去掉重叠后,恰好落在块边界的语义单元(如跨块的词组、指代关系)会被切成两半、没有任何一条压缩条目完整包含它;重叠让每个边界 token 都参与两条压缩条目,边界信息有冗余备份。代价是压缩权重的 softmax 要在 2m 个元素上做,计算略增。
L3Q3:构造一个场景使 CSA 的 top-k 稀疏选择"必然选错":什么样的 query 会让 indexer 的 ReLU 打分失效?
显示答案(评分要点)
满分要点:indexer 用 ReLU(q·K) 打分,只能表达"正相关"模式;若某条 KV 的重要性体现在"与 query 强负相关"(如需要找对立证据),ReLU 会把它压到 0 分而漏选。另外压缩是有损的:若关键信息在压缩时被 softmax 权重稀释(同块 4 个 token 都不重要但合起来重要),indexer 看到的是被稀释的摘要,top-k 可能漏选该块。滑窗分支只能补救最近 128 token,无法补救远处的此类失效。
L4Q4:Flash 的 top-k=512 是 Pro 的一半,但两者的 indexer 配置(64×128)相同。推断 DeepSeek 为什么这样取舍?
显示答案(评分要点)
满分要点:①Flash 定位效率优先,top-k 直接正比于每 token 注意力算力与 KV 读取带宽,减半 ≈ 该部分开销减半;②Flash 总参数小、目标场景偏中短文本,512 条压缩条目已覆盖 512×4=2048 个原始 token 的"精读"范围,加滑窗 128,日常够用;③indexer 不变说明"检索质量"不是靠头数堆的,瓶颈在打分维度而非头数;④长文本场景 Flash 召回率会低于 Pro,这正是两者长上下文分数差距(MRCR 1M:78.7 vs 83.5)的来源之一。
2.3 HCA:重度压缩注意力 + 四个补丁(论文 §2.3.2 / §2.3.3)
失效模式先行
为什么有了 CSA 还要 HCACSA 的压缩率只有 4,1M token 仍有 25 万条 KV、indexer 仍要扫 25 万条打分——超长上下文的"地基成本"依然随长度线性增长。HCA 用 m′=128 的暴力压缩把 1M token 压成约 7800 条摘要,此时连稀疏选择都不需要了,直接稠密注意力看全部摘要。两类层交错堆叠:CSA 负责"中距离较精细的记忆",HCA 负责"全局长程的粗略轮廓"。【解读者推断:这是一种类似人脑"细节记忆 + gist 记忆"的双系统】
公式手术(与 CSA 的差异即全部要点)
公式 (20)–(23):HCA 压缩(无重叠、无 indexer)
S = Softmax_row(Z + B), CCompi = Σj Sj⊙Cj, 序列长度 → n/128
公式 (26):HCA 是稠密 MQA——看全部压缩条目
o_{t,i} = CoreAttn(q_{t,i}, key = C^{Comp}, value = C^{Comp}), CComp ∈ ℝ^{(n/128)×512}
| 对比项 | CSA | HCA |
| 压缩率 | 1/4(带重叠,实际用 2m 条) | 1/128(无重叠) |
| 选择机制 | lightning indexer + top-k 稀疏 | 无,稠密看全部 |
| 1M 时 KV 条数/层 | 250,000 | ≈ 7,813 |
| 角色 | 中距离精细记忆 | 全局粗略轮廓 |
四个关键补丁(§2.3.3,每个都对应一个具体失效模式)
| 补丁 | 治什么病 | 做法 |
| ① Q/KV 归一化 | key=value 共享 + 压缩后 logits 量纲漂移,注意力分数可能爆炸 | 核心注意力前对 query 每头、压缩 KV 各做一次 RMSNorm(也因此无需 QK-Clip) |
| ② Partial RoPE(最后 64 维) | KV 同时当 value 会把绝对位置"泄露"进输出 | 只对 q 和 KV 的最后 64 维加 RoPE;输出 o 的最后 64 维再补一个 −i 位置的反向 RoPE,使输出只携带相对位置 |
| ③ 滑窗分支(n_win=128) | 严格因果性下,query 看不到"自己所在块内"的 token(块还没压缩完) | 每个 query 额外生成最近 128 个 token 的未压缩 KV,与压缩 KV 一起参与注意力 |
| ④ Attention Sink | softmax 强迫注意力权重和为 1——没有值得关注的内容时也得硬看 | 可学习 sink logit z′:s = Exp(z)/(ΣExp(z)+Exp(z′)),允许总注意力 ≈ 0 |
【解读者推断】补丁②是全文最精巧的细节:RoPE 只加在最后 64 维,意味着前 448 维的 KV 表示是"位置无关"的内容语义——压缩混合不同位置的 token 时才不会被位置编码干扰;而 −i 反向旋转相当于把 value 里的绝对位置"撤销"成与 query 的相对距离。
一句话记住本节:HCA 用 128 倍压缩换"全局稠密可见",CSA 用 4 倍压缩换"中距离精细可选",再靠归一化、Partial RoPE、滑窗、sink 四个补丁缝上压缩带来的所有洞。
闭卷自检:
自测题
L1Q1:HCA 的压缩率是多少?1M token 压缩后大约剩多少条?
显示答案
m′ = 128;1M/128 ≈ 7,813 条。
L2Q2:为什么 HCA 压缩率比 CSA 激进 32 倍,反而不需要稀疏选择?
显示答案
稀疏选择的目的是"把注意力计算从 O(n) 降到 O(k)";HCA 已把序列压到 n/128(1M→约 7800 条),稠密注意力的绝对开销已经可接受,再叠加稀疏的收益小、还要付 indexer 的成本与召回损失。压缩与稀疏是两种可替代的"降本手段",HCA 把压缩用到了不需要稀疏的程度。
L3Q3:构造一个 HCA 必然失败的检索场景。
显示答案(评分要点)
128 个 token 压成 1 条:若关键证据是埋在 128 个无关 token 中间的一个短密码/编号(如"验证码 7391"),softmax 权重会被 124 个无关 token 摊薄,压缩条目几乎不含该信息;HCA 层稠密看摘要也无法恢复。此时依赖 CSA 层(4 倍压缩、信息损失小)与滑窗(仅近处)补救——若该证据距 query 很远且 CSA 的 indexer 也因摘要稀释漏选,则彻底丢失。这解释了为什么 V4 仍需要 CSA/HCA 交错而非全 HCA。
L4Q4:如果让你为"100 万 token 里精确定位 5 个分散密码"的任务设计层配比,你会提高 CSA 层比例还是 HCA 层比例?为什么?
显示答案(评分要点)
提高 CSA 比例。理由:精细检索依赖低损失的中距离记忆,CSA(1/4 压缩 + top-k)信息保留远好于 HCA(1/128);HCA 的全局轮廓对该任务帮助有限。但代价是 KV cache 与 indexer 扫描成本随 CSA 层数线性上升——这正体现 V4 交错配比是在"保真度—成本"之间的折中点。
2.4 效率总账:27% / 10% / 2% 三个数字的手算对账(论文 §2.3.4)
来源:论文 §2.3.4 + 图 1 + 摘要;手算部分为解读者按 §4.2.1 配置推演
论文的三个核心效率声明
- 实验支持1M 上下文下,V4-Pro 单 token 推理 FLOPs 为 V3.2 的 27%,KV cache 为 10%;
- 实验支持V4-Flash 对应为 10% 与 7%;
- 实验支持以传统 BF16 GQA8(8 组 KV 头、head 维 128)为基线,V4 的 KV cache 降至约 2%。
手算:V4-Pro 的 KV cache 到底多小?
费米估算(1M token,V4-Pro,61 层)
每条压缩 KV:512 维 FP8(512B)+ 64 维 RoPE BF16(128B)≈ 640B。
CSA 层(约 30 层):每层 25 万条 × 640B ≈ 160MB → 30 层 ≈ 4.8GB
HCA 层(约 31 层):每层 7813 条 × 640B ≈ 5MB → 31 层 ≈ 0.16GB
indexer KV(64×128 维,低精度)与滑窗状态(128 token × 61 层):量级更小的零头。
合计 ≈ 5GB / 1M token(解读者手算,论文未直接给此数)
传统 GQA8 基线:8 组 × 128 维 × K,V 两份 × 2B × 61 层 × 1M ≈ 250GB。
比值 ≈ 5/250 = 2% ✓ 与论文的"约 2%"对账一致。
数字对账:三个比例的关系——V3.2(MLA+DSA)本身 KV cache 已是 GQA8 基线的约 20% 量级【解读者推断,按 MLA 低秩压缩公开配置估算】,V4 的 10%(对 V3.2)× 20%(V3.2 对基线)≈ 2%(对基线),三个数字互相自洽。
省钱组合拳(§2.3.4 全部手段)
- 混合精度存储:RoPE 的 64 维用 BF16 保精度,其余 448 维用 FP8——比纯 BF16 再省近一半;
- indexer 内部计算用 FP4:超长上下文下 indexer 扫 25 万条打分是主要开销,FP4 直接再砍一刀;
- 比 V3.2 更小的 top-k:短/中文本不为长文本的规格买单;
- FP4 专家权重:当前硬件 FP4×FP8 与 FP8×FP8 峰值算力相同(只省显存),未来硬件理论上可再提 1/3 效率。论文声称(依赖未发布硬件)
工程账单的"债"这些压缩不是免费的:①KV cache 变成"异构多规格"(CSA/HCA/SWA/indexer 各一套),推理框架复杂度爆炸——§3.5 整章都在还这笔债;②压缩是有损的,超远距离的精细检索存在理论盲区(见 2.3 节 L3 题);③FP4 的算力收益是"期货",当前只兑现显存收益。
一句话记住本节:V4 的效率不是单点突破,而是"压缩 4×/128× + 稀疏 top-k + KV 共享 + FP8/FP4 + 更小 top-k"五层叠加,把百万上下文的 KV cache 打到传统基线的 2%、算力打到 V3.2 的 27%。
自测题
L2Q1:为什么"indexer 用 FP4"对超长上下文特别重要,而对短上下文无所谓?
显示答案
indexer 打分要遍历全部压缩 KV:成本 ∝ 序列长度(1M 时 25 万条 × 每层)。短上下文下 indexer 总量小,精度不是瓶颈;1M 下它成为注意力部分的主要开销项之一,FP4(相对 FP8)把这部分再减半。
L3Q2:论文声称 FP4 专家权重"未来硬件可提 1/3 效率"。指出这个声称里隐含的两个假设。
显示答案(评分要点)
①未来硬件的 FP4×FP8 峰值算力会真正高于 FP8×FP8(当前相同,收益只是理论推算);②模型精度在 FP4 下不损失(依赖 QAT 有效,§5.2.1)。此外还隐含"专家 GEMM 是推理瓶颈之一"——若实际瓶颈在通信/KV 读取,1/3 的算力收益兑现不了 1/3 的端到端提速。
2.5 Muon 优化器(论文 §2.4)
失效模式先行
为什么换掉 AdamWAdamW 按"每个参数各自的历史梯度平方"缩放更新,参数矩阵内部不同方向的更新幅度可能极不均衡(少数奇异值方向主导更新)。Muon 的思路:把每步的更新矩阵做正交化——让所有奇异值都变成 1,各方向"均匀用力"。此前 Muon 只在中小模型验证过,没人证明过它能在 1.6T 参数上稳定工作。【论文声称:更快收敛与更高稳定性;无公开对照曲线,预评 ★★】
公式手术:Algorithm 1 五步
| 步骤 | 操作 | 直觉 |
| 1 | G_t = ∇L(W_{t−1}) | 算梯度 |
| 2 | M_t = μ·M_{t−1} + G_t(μ=0.95) | 动量累积:带着惯性冲过小坑 |
| 3 | O′ = HybridNewtonSchulz(μM_t + G_t) | Nesterov 前瞻 + 正交化:把更新矩阵的所有奇异值拉到 1 |
| 4 | O = O′·√max(n,m)·γ(RMS 重缩放至 0.18) | 让 Muon 的更新量级对齐 AdamW,旧超参直接复用 |
| 5 | W_t = W_{t−1}(1−ηλ) − ηO | 权重衰减 + 应用更新 |
公式 (28):Newton-Schulz 迭代(把矩阵 M 的正交因子 UVᵀ 迭代逼出来)
M_k = a·M_{k−1} + b·(M_{k−1}M_{k−1}ᵀ)M_{k−1} + c·(M_{k−1}M_{k−1}ᵀ)²M_{k−1}
混合迭代(V4 的改动点):共 10 次迭代分两阶段——前 8 步用系数 (3.4445, −4.7750, 2.0315)快速把奇异值推到 1 附近;最后 2 步换成 (2, −1.5, 0.5) 把奇异值精确钉在 1。解读者推断前两步系数是三次多项式的极值配置,牺牲速度换精度;DeepSeek 把"快"和"准"拆到不同阶段,是典型的工程折中。
数字对账:谁不用 Muon?
embedding、预测头、RMSNorm 权重、mHC 的静态偏置与门控因子仍用 AdamW(β₁=0.9, β₂=0.95, ε=1e-20)。【解读者推断】这些都是"非标量语义强、维度极端"的参数(如 128K 词表 embedding 的稀疏更新、RMSNorm 的逐通道缩放),正交化对它们没有意义甚至有害——Muon 只适合"稠密矩阵乘法型"权重。
常见误读
- 误读 1:"Muon 免费"。×——正交化需要完整梯度矩阵,与 ZeRO 分片冲突,§3.4.1 用背包算法 + 冗余计算还债,且 Newton-Schulz 迭代本身要吃 BF16 矩阵乘法。
- 误读 2:"Muon 替代了所有稳定性技巧"。×——V4 仍需要 RMSNorm 防 logits 爆炸(替代 QK-Clip)、仍需要 §4.2.3 的两个训练稳定性土办法。
一句话记住本节:Muon = 动量累积 → Newton-Schulz 把更新矩阵正交化(先快后准 8+2 步)→ RMS 重缩放复用 AdamW 超参;它是 V4 训练 33T token 不出事的"方向盘",但不是唯一的保险。
闭卷自检:
自测题
L1Q1:混合 Newton-Schulz 的两个阶段各几步、系数分别是什么?
显示答案
前 8 步 (3.4445, −4.7750, 2.0315) 快速收敛;后 2 步 (2, −1.5, 0.5) 精确稳定奇异值于 1。
L2Q2:为什么第 4 步"重缩放 RMS 到 0.18"能让团队复用 AdamW 时代的学习率?
显示答案
正交化后的更新矩阵 RMS 量级与 AdamW 的逐参数自适应更新量级不同,直接换优化器会导致有效学习率漂移。把更新 RMS 统一缩放到固定值(0.18),使 η 的含义与 AdamW 下一致,峰值学习率(2.0e-4/2.7e-4)等超参不用重新搜索。
L3Q3:给出一个"Muon 不适合 embedding 层"的具体论据。
显示答案(评分要点)
每步只有被激活词元的 embedding 行有非零梯度,梯度矩阵极端稀疏且秩很低;Newton-Schulz 正交化会把零梯度行对应的奇异方向也"拉满",等价于给没见过的词元凭空施加更新,破坏词表统计。AdamW 的逐参数缩放天然只动被激活的行。
第 3 章 · 基础设施(论文 §3,工程向)
来源:论文 §3.1–3.5
本章学习目标:说清"通信如何被计算完全隐藏"的判据;解释为什么需要 batch-invariant kernel;复述两阶段上下文并行的动机。只想懂原理的读者读每节第一段即可。
3.1 专家并行的细粒度通信-计算重叠(§3.1)
失效模式先行
问题MoE 每层的专家分散在不同 GPU 上(专家并行 EP),token 要在 GPU 之间"寄快递"(Dispatch)再"收结果"(Combine)。传统重叠方案粒度太粗,RL rollout 这种小 batch、长尾延迟场景下通信暴露在外,GPU 大量空转。
方案:把每层的专家切成多个 wave 流水调度:当前 wave 在算、下一 wave 的 token 在传、上一 wave 的结果在回传——三者并发。已开源为 MegaMoE(DeepGEMM 组件)。
手算验证:什么时候通信能被完全藏住?
论文给出的判据(§3.1)
每个 token-expert 对的计算量 = 6hd FLOPs(SwiGLU 的 gate/up/down 三个投影,h=隐藏维 7168,d=专家中间维 3072);通信量 = 3h 字节(FP8 发出 + BF16 收回)。
比值 = 6hd / 3h = 2d = 2×3072 = 6144 FLOPs/Byte。
含义:每 1 GBps 的互联带宽,足以"隐藏"6.1 TFLOP/s 算力对应的通信。一块 3 TFLOP/s 级别利用率的 GPU 只需约 500 GBps 互联——NVLink/昇腾互联都在这个量级之上,所以通信天然可以被计算完全掩盖,重叠方案是"免费"的提速。【实验支持】GPU/NPU 实测:一般推理提速 1.50–1.73×,RL rollout 等延迟敏感场景最高 1.96×。
给硬件厂商的喊话(论文罕见地直接写进报告):带宽超过平衡点后收益递减,不如留足功耗余量支持全并发;Dispatch 用 pull-based 避免通知延迟;建议用低成本逐元素激活替代 SwiGLU。解读者推断这段是写给国产芯片生态看的协同设计建议。
一句话记住本节:MoE 的通信量比计算量小一个 d/量级,只要把专家切成 wave 做细粒度流水,通信就能被计算"白嫖"掩盖,RL rollout 提速近 2 倍。
3.2 TileLang 与确定性 kernel(§3.2 / §3.3)
- TileLang(DSL):新架构本要拆成数百个 Torch 算子,改用 TileLang 写融合 kernel;Host Codegen 把 CPU 端校验开销从每次调用几十~几百微秒压到 1 微秒内;集成 Z3 SMT 求解器做整数分析优化编译;默认关 fast-math,提供 IEEE-754 合规 intrinsics,做到与手写 CUDA 逐位一致。
- Batch-invariant(同一 token 的输出与 batch 内位置无关、逐位一致):attention 不能用 split-KV,改用"双 kernel 策略"(单 SM 跑全序列保吞吐 + 多 SM 处理尾 wave 且累加顺序严格对齐);矩阵乘法端到端用自研 DeepGEMM 替换 cuBLAS,多数场景放弃 split-k 还做到追平甚至反超。
- 确定性:attention 反向弃用 atomicAdd 改为"每 SM 独立缓冲 + 全局确定性求和";MoE 反向做 token 顺序预处理 + 跨 rank 缓冲隔离。
为什么这事值得专门一节(解读者解读)解读者推断Batch-invariant + 确定性是 RL 训练的隐形地基:on-policy RL/蒸馏要求"rollout 时算的 logits"与"训练时重算的 logits"逐位一致,否则策略梯度的优势估计会被数值噪声污染;同时它也是线上服务可复现、可调试的前提。DeepSeek 此前专门为此发过博文,这次把它工程化成库。
一句话记住本节:训练推理逐位一致不是洁癖,是 OPD/RL 正确性的前提;V4 用 DSL + 自研 GEMM + 确定性累加把这件事做成了基础设施。
3.3 训练与推理框架的四个硬仗(§3.4 / §3.5)
| 硬仗 | 矛盾 | 解法(关键数字) |
| Muon × ZeRO(§3.4.1) | Muon 要完整梯度矩阵,ZeRO 要把参数分片 | 限制 ZeRO 规模 + 背包算法分配矩阵(padding 开销 <10%);DP 超限时冗余计算 Muon 更新(以算换存);MoE 参数不设 ZeRO 上限;同形状参数合并批量做 Newton-Schulz;梯度用随机舍入量化到 BF16 同步,通信减半;两阶段 all-to-all + FP32 本地求和避免低精度累加误差 |
| mHC 落地(§3.4.2) | 残差流 ×4 的显存与通信 | 融合 kernel + 重计算层间 hidden states;调整 DualPipe 1F1B;wall-time 开销压到 6.7% |
| 长上下文并行(§3.4.3) | 压缩要跨 CP rank 边界的连续 m 个 KV | 两阶段通信:相邻 rank 先交换边界 m 条 → 本地压缩出定长 s/m+1 条(含 padding)→ all-gather 后 select-and-pad 重组为 cp_size·s/m |
| 张量级激活检查点(§3.4.4) | 手写重计算子图易错 | TorchFX 追踪计算图,自动找最小重计算子图,零额外开销、无显存拷贝 |
| 异构 KV cache 管理(§3.5.1) | CSA/HCA/SWA/indexer 四种 cache 规格各异 | State cache(固定池,存滑窗与尾部未压缩状态)+ Classical KV cache(每 block 覆盖 lcm(m,m′)=128 个原始 token),block padding 对齐 cache line |
| 磁盘 KV cache(§3.5.2) | 共享前缀复用要落盘,SWA 的未压缩 KV 是压缩 KV 的约 8 倍 | 三策略:全存 SWA / 每 p 个 token 做 checkpoint / 完全不存 SWA(用已缓存压缩 KV 重算最后 n_win·L 个 token 恢复) |
自测题
L2Q1:为什么 RL rollout 场景从细粒度重叠中获益(1.96×)比一般推理(1.5×)更多?
显示答案
RL rollout 的 batch 小且长度分布长尾:小 batch 下计算量小、通信占比上升,粗粒度重叠藏不住通信;细粒度 wave 流水在小计算量下仍能填满流水线。长尾还意味着尾波(wave quantization)占比高,细粒度调度削减了尾波空转。
L3Q2:Zero SWA Caching 策略用"重算最后 n_win·L 个 token"恢复滑窗 KV。论证这个数字为什么恰好是 n_win·L 而不是 n_win。
显示答案(评分要点)
第 1 层的滑窗输出依赖最近 n_win 个输入;第 2 层的滑窗依赖第 1 层最近 n_win 个输出,而这又依赖第 1 层再往前 n_win 个输入——依此类推,依赖范围随层数线性扩张,L 层共需重算 n_win·L 个 token。这是"感受野逐层线性扩大"的直接后果。
第 4 章 · 预训练(论文 §4)
4.1 数据:32T+ token 从哪来(§4.1)
来源:论文 §4.1
- 在 V3 数据基础上构建,总量 超过 32T tokens(V3 是 14.8T,翻倍多);词表仍为 128K。
- 网页数据:过滤批量自动生成/模板化内容,防"模型吃自己拉的"导致的能力坍塌(model collapse)。
- 数学与代码仍是核心;mid-training 阶段加入 agentic 数据;多语言与长文档(科学论文、技术报告)重点加强——与 1M 上下文的定位互为表里。
- 工程细节:文档打包最小化截断;与 V3 不同,预训练改用 sample-level attention masking(同序列内不同样本互不偷看)。
【论文没告诉你的】具体配比、去毒/去污染流程、合成数据占比均未披露——这是所有头部实验室的通行做法,但也意味着"数据侧的贡献无法被外界验证"。
4.2 训练设置与数字对账(§4.2)
来源:论文 §4.2.2
| 超参 | Flash | Pro |
| 预训练 token 数 | 32T | 33T |
| 峰值学习率(余弦衰减至) | 2.7e-4(→2.7e-5) | 2.0e-4(→2.0e-5) |
| 最大 batch size | 75.5M tokens | 94.4M tokens |
| 序列长度课程 | 4K → 16K → 64K → 1M 逐步扩展 |
| 稀疏注意力引入 | 先 1T token 稠密预热,64K 阶段引入(先短热身 lightning indexer) | 稠密阶段更长,同为两阶段引入 |
| Muon:动量 / 衰减 / 更新 RMS | 0.95 / 0.1 / 0.18 |
| 负载均衡:bias 更新速度 / balance loss 权重 | 0.001 / 0.0001 |
| MTP loss 权重 | 0.3,学习率衰减后降为 0.1 |
数字总对账①:1.6T 和 49B 对得上吗?(解读者手算)
V4-Pro 参数量核算
专家部分:每层 385 个专家(384 路由 + 1 共享)× 3 个矩阵 × 7168 × 3072 ≈ 25.4B;× 61 层 ≈ 1.55T。
注意力部分:以 CSA 层为例——W^{aKV} 等四个 d×c 投影 ≈ 4×7168×512 ≈ 14.7M;query 低秩 W^{DQ} 7168×1536 ≈ 11M;W^{UQ} 1536×(512×128) ≈ 100M;分组输出投影 ≈ 16×4096×1024 + 16384×7168 ≈ 184M;合计每层约 0.2–0.3B,× 61 ≈ 15B。
embedding:128K × 7168 ≈ 0.9B。
总计 ≈ 1.55T + 15B + 1B ≈ 1.57T ≈ 论文的 1.6T ✓
激活参数:每 token 走 7 个专家(6+1)→ 每层 7×3×7168×3072 ≈ 0.46B × 61 ≈ 28B;加注意力约 15B 全部激活(注意力是稠密的)+ 其他 ≈ 43–49B ≈ 论文的 49B ✓(差额来自 indexer、mHC 等小件及四舍五入)。
Flash 同样自洽:257×3×4096×2048×43 ≈ 278B + 注意力 ≈ 284B ✓;激活 7 个专家 ×43 ≈ 7.6B + 注意力 ≈ 13B ✓。
对账结论:论文的关键规模数字全部可以通过配置表独立复算,无注水迹象。注意力部分占激活参数的近 1/3——这也解释了为什么 V4 把架构创新火力集中在注意力上。
4.3 训练稳定性:两个"土办法"(§4.2.3)
来源:论文 §4.2.3
失效模式万亿 MoE 的经典病:loss spike(损失突然飙飞)。论文明确承认两件事——①spike 与 MoE 层的 outlier 激活高度相关,路由机制本身会制造 outlier;②简单回滚(扔掉坏 checkpoint 重训)治标不治本。
办法一:Anticipatory Routing(预期路由)
把主干网络与路由网络解耦:第 t 步用当前参数 θ_t 算特征,但路由决策用历史参数 θ_{t−Δt} 提前算好缓存(避免重复加载参数)。只在检测到 loss spike 时自动启用 + 短回滚,平时切回标准训练——额外 wall-clock 约 20%(仅触发期),全局开销可忽略。论文声称"不损害模型性能"。
办法二:SwiGLU Clamping
把 SwiGLU 的线性分量截断到 [−10, 10]、门控分量上限截到 10。全程应用于两个模型,实验支持"有效消除 outlier、显著稳定训练"。该技巧最早见于 OpenAI 的 gpt-oss 报告(二手来源确认),DeepSeek 直接借用。
值得注意的坦诚论文原话:两项技术"背后的原理尚未被充分理解",公开出来希望社区一起研究。【解读者评论】这是全文最诚实的段落之一——它同时说明:①V4 的训练确实翻过车;②万亿 MoE 的训练稳定性仍是经验工程而非科学。预评贡献 #5 维持 ★★:有效但无理论。
自测题
L2Q1:Anticipatory Routing 为什么能压住 loss spike?用"路由与主干互相追逐"的视角解释。
显示答案
正常训练中路由网络与主干同步更新:主干一变,旧路由决策立刻"过期",token 被送进与新特征不匹配的专家,激活出现 outlier,梯度进一步恶化路由——正反馈酿成 spike。用 θ_{t−Δt} 的"旧视角"做路由,等于让路由决策与产生数据时的主干状态保持一致,切断这个正反馈环。
L3Q2:SwiGLU Clamping 把门控上限截到 10。论证它为什么"不影响正常训练"这个声称可能是对的,以及什么情况下它会错。
显示答案(评分要点)
对的理由:正常激活的线性/门控分量分布在 ±10 以内,截断只剪掉稀有 outlier 长尾,等效于一个仅在极端值处激活的"安全阀"。错的情况:若某些专家的功能恰好依赖大门控值(强放大某特征),截断会系统性削弱这些专家;且截断点不可导/梯度为零,若训练后期正常分布漂移接近 10,会静默损失表达能力。"未充分理解"恰恰指这种边界。
4.4 基座模型评测(§4.3,Table 1)
数值来源:DeepSeek 官方 HuggingFace 模型卡(与论文 Table 1 一致的第一方数据)。同框架同设置评测;差距 ≤0.3 视为同水平
| 基准 | V3.2-Base (671B/37B) | V4-Flash-Base (284B/13B) | V4-Pro-Base (1.6T/49B) |
| MMLU (5-shot) | 87.8 | 88.7 | 90.1 |
| MMLU-Pro (5-shot) | 65.5 | 68.3 | 73.5 |
| SimpleQA-verified (25-shot) | 28.3 | 30.1 | 55.2 |
| FACTS Parametric (25-shot) | 27.1 | 33.9 | 62.6 |
| MultiLoKo (5-shot) | 38.7 | 42.2 | 51.1 |
| BBH (3-shot) | 87.6 | 86.9 | 87.5 |
| BigCodeBench (3-shot) | 63.9 | 56.8 | 59.2 |
| HumanEval (0-shot) | 62.8 | 69.5 | 76.8 |
| MATH (4-shot) | 60.5 | 57.4 | 64.5 |
| MGSM (8-shot) | 81.3 | 85.7 | 84.4 |
| CMath (3-shot) | 92.6 | 93.6 | 90.9 |
| LongBench-V2 (1-shot) | 40.2 | 44.7 | 51.5 |
(完整 24 项中还有 AGIEval 80.1/82.6/83.1、MMLU-Redux 87.5/89.4/90.8、C-Eval 90.4/92.1/93.1、TriviaQA 83.3/82.8/85.6、SuperGPQA 45.0/46.5/53.9、GSM8K 91.1/90.8/92.6 等,可在模型卡查阅。)
怎么读这张表(批判性预演,详见第 6 章)
- 最抢眼的跳跃:SimpleQA 28.3→55.2、FACTS 27.1→62.6——事实性记忆几乎翻倍。解读者推断主因是数据量 14.8T→33T + 长文档/知识语料加强,而非架构。
- 被论文淡化的回退:BigCodeBench 上 V4 两个基座都不如 V3.2(56.8/59.2 vs 63.9),BBH、MGSM、CMath 上 Pro 也非最优。解读者推断可能与注意力结构改变后代码/数学的短上下文归纳偏好变化、或数据配比向长文/知识倾斜有关——论文未解释。
- Flash 的效率奇迹:13B 激活参数(V3.2 的 1/3)在多数基准追平或超过 37B 激活的 V3.2——架构效率主张的最硬证据。实验支持
一句话记住本章:33T token + 渐进式上下文课程(4K→1M)+ 两个稳定性土办法,产出知识能力跳档、但代码基座略有回退的两个基座模型;所有规模数字可独立复算自洽。
第 5 章 · 后训练(论文 §5)
来源:论文 §5.1–5.2(部分细节经二手来源 DeepTech/深科技报道核对,单独标注)
本章学习目标:画出"专家培养 → OPD 整合"的两阶段流水线;解释 reverse KL 为什么是"防遗忘"的;说出 FP4 QAT 与教师调度的工程解法。
5.1 两阶段范式:先分头培养偏科生,再合成通才(§5.1)
失效模式先行
V3.2 的 mixed RL 出了什么问题把数学、代码、agent 等所有领域的奖励混在一起做一锅 RL:各领域梯度互相拉扯(能力冲突),多目标权重合并时性能退化。【论文声称】V4 把 mixed RL 阶段整体替换为 On-Policy Distillation。这是 V3→V4 方法论上最大的分岔。
阶段一:Specialist Training(领域专家独立培养)
- 对数学、代码、Agent、指令遵循等领域各训一个专家:先 SFT 打底,再用 GRPO + 领域定制奖励模型练到极致(二手来源:十几个专家模型)。
- 配套技术(目录级确认 + 二手来源):Reasoning Efforts(多档推理力度,即 Non-think/High/Max 三档的来源)、生成式奖励模型、工具调用 schema(特殊 token
|DSML| + XML 替代 JSON,官方理由是"有效减少转义错误和调用失败")、交错思考(Interleaved Thinking)、Quick Instruction(追加特殊 token,让意图识别/搜索词生成/是否读 URL 复用已算好的 KV cache,直接降 TTFT)。
阶段二:On-Policy Distillation(OPD 统一整合)
OPD 的核心:student 自己答题,teacher 在 student 的轨迹上算 reverse KL
L = DKL( π_student ‖ π_teacher ), 采样自 π_student 自己的 rollout
| 对比维度 | 传统蒸馏 / SFT(forward KL) | OPD(reverse KL) |
| 学谁的数据 | teacher 生成的静态答案 | student 自己生成的轨迹 |
| 暴露偏差 | 有:推理时遇到自己的分布就崩 | 无:训练分布=推理分布 |
| 模式行为 | mode-covering:老师的口音也学 | mode-seeking:只在自己会的区域向老师对齐 |
| 灾难性遗忘 | 重 | 轻(这是多专家融合选它的核心理由) |
类比:SFT 是"看老师的板书抄一百遍";OPD 是"我先做题,老师只在我的卷子上逐题批改"。后者学生保留自己的书写风格,只学老师的判断。
类比失效处:OPD 有前提——student 与 teacher 的分布重叠度要够高,否则"老师改不动一张离题千里的卷子"(社区研究已证实 top-k 重叠率低时 OPD 失败,需 off-policy 冷启动)。
谱系备注【二手来源】:V3.2 已有"5 个专家蒸馏"雏形但仍是 off-policy + mixed RL 收尾;Qwen3/GLM-5 等已把 OPD 用于强→弱蒸馏;V4 的增量是把 OPD 推为多专家融合的唯一主线,直接替代 mixed RL。
工程配套(§5.2,教师调度)
- 全词表 OPD 的显存灾难与解法【二手来源核对】:128K 词表 × 长序列的 logits 无法直接物化。解法:teacher 权重卸载到分布式存储按需加载;每个 teacher 只缓存 last-layer hidden states,训练时再过一次 prediction head 重构 logits。
- FP4 QAT(§5.2.1):对 MoE 专家权重与 indexer QK 路径做 FP4 量化感知训练——不是训完再量化,而是训练中就让模型"习惯"FP4,保住精度。
- 可抢占容错 rollout 服务(§5.2.3)+ 百万 token RL 框架(§5.2.4):长上下文 RL 的一条轨迹可能占巨量资源,必须支持随时抢占、从断点恢复。
- DSec 沙箱(§5.2.5)【二手来源核对】:Rust 实现的 agent 执行平台,四种执行底座(函数调用 / 容器 / Firecracker microVM / QEMU 虚拟机)统一 Python SDK;单集群支撑数十万并发沙箱;3FS 分层存储秒级启动镜像;全局 trajectory log 记录每条命令与结果,支持"抢占后精确续跑"。
为什么沙箱写进模型论文解读者推断Agent 能力 = 模型 × 训练环境。没有可抢占、可复现、可大规模并发的代码执行环境,"agentic RL"根本无法产生训练信号。DSec 出现在正文而非附录,说明 DeepSeek 把 agent 基础设施视为研究问题本身。
一句话记住本章:V4 后训练 = 各领域专家各自 SFT+GRPO 练到顶,再用 reverse KL 的 OPD 把十几个老师在 logits 空间蒸进一个学生——用"学生答题、老师批改"换来多能力共存不打架。
闭卷自检:
自测题
L1Q1:V4 后训练替代了 V3.2 的哪个阶段?专家培养阶段用的 RL 算法是什么?
显示答案
替代 mixed RL 整合阶段;专家培养用 GRPO。
L2Q2:为什么 OPD 阶段不直接物化 teacher 的 logits?缓存 hidden states 的方案省了多少?
显示答案
logits 维度 = 词表 128K,长序列 × 多 teacher 下显存不可承受。hidden states 只有 d=7168 维,比 128K 小约 18 倍;训练时过一次 prediction head(7168→128K 矩阵乘)即可重构 logits——用一次矩阵乘换 18 倍存储。
L4Q3:分析"OPD 多专家融合"与"模型合并(model merging/权重平均)"两条路线的根本差异,以及为什么前者适合反向 KL 敏感的万亿模型。
显示答案(评分要点)
权重合并在参数空间操作,隐含"各专家损失盆地线性连通"的强假设,万亿 MoE 上该假设不成立,表现为合并即退化。OPD 在输出分布空间对齐:不动专家权重,只让 student 的行为逼近各 teacher 在 student 轨迹上的分布,无需盆地连通假设;reverse KL 的 mode-seeking 特性保证 student 已有能力不被稀释。代价:要持续跑 student rollout + 多 teacher 前向,工程成本远高于权重平均。
第 6 章 · 评测批判性阅读:如何不被数字带节奏
6.1 主结果表:V4-Pro-Max vs 前沿模型(论文 §5.3)
数值来源:DeepSeek 官方 HuggingFace 模型卡(与论文 §5.3.2 结果表一致)。均为各模型"尽力模式"对比(Max / xHigh / High / Thinking)
| 基准 | Opus-4.6 Max | GPT-5.4 xHigh | Gemini-3.1-Pro High | K2.6 Thinking | GLM-5.1 Thinking | DS-V4-Pro Max |
| MMLU-Pro | 89.1 | 87.5 | 91.0 | 87.1 | 86.0 | 87.5 |
| SimpleQA-Verified | 46.2 | 45.3 | 75.6 | 36.9 | 38.1 | 57.9 |
| Chinese-SimpleQA | 76.4 | 76.8 | 85.9 | 75.9 | 75.0 | 84.4 |
| GPQA Diamond | 91.3 | 93.0 | 94.3 | 90.5 | 86.2 | 90.1 |
| HLE | 40.0 | 39.8 | 44.4 | 36.4 | 34.7 | 37.7 |
| LiveCodeBench | 88.8 | — | 91.7 | 89.6 | — | 93.5 |
| Codeforces (Elo) | — | 3168 | 3052 | — | — | 3206 |
| HMMT 2026 Feb | 96.2 | 97.7 | 94.7 | 92.7 | 89.4 | 95.2 |
| IMOAnswerBench | 75.3 | 91.4 | 81.0 | 86.0 | 83.8 | 89.8 |
| Apex | 34.5 | 54.1 | 60.9 | 24.0 | 11.5 | 38.3 |
| Apex Shortlist | 85.9 | 78.1 | 89.1 | 75.5 | 72.4 | 90.2 |
| MRCR 1M(长上下文) | 92.9 | — | 76.3 | — | — | 83.5 |
| CorpusQA 1M | 71.7 | — | 53.8 | — | — | 62.0 |
| Terminal Bench 2.0 | 65.4 | 75.1 | 68.5 | 66.7 | 63.5 | 67.9 |
| SWE Verified | 80.8 | — | 80.6 | 80.2 | — | 80.6 |
| SWE Pro | 57.3 | 57.7 | 54.2 | 58.6 | 58.4 | 55.4 |
| BrowseComp | 83.7 | 82.7 | 85.9 | 83.2 | 79.3 | 83.4 |
| GDPval-AA (Elo) | 1619 | 1674 | 1314 | 1482 | 1535 | 1554 |
| MCPAtlas Public | 73.8 | 67.2 | 69.2 | 66.6 | 71.8 | 73.6 |
| Toolathlon | 47.2 | 54.6 | 48.8 | 50.0 | 40.7 | 51.8 |
高亮行为 V4-Pro-Max 夺冠或明显突出的项目。另:形式化数学 Putnam-2025 获 120/120 满分(二手来源 DeepTech 报道)。
6.2 先问"它测什么",再问"比谁、怎么比"
来源:解读者按批判性阅读检查清单整理
| 基准 | 实际测什么 | 阅读时的注意事项 |
| SimpleQA / Chinese-SimpleQA | 参数化事实记忆(不联网的"冷知识") | 对训练数据量与覆盖极敏感——V4 的领先很大程度上是 33T 数据的胜利,不是架构的胜利 |
| HLE | 跨学科超难题(Humanity's Last Exam) | 37.7 vs 44.4 的差距是"最难推理"的差距,比 MMLU-Pro 的差距更真实 |
| Codeforces / LiveCodeBench | 竞赛编程 / 真实代码题 | V4 主场;Codeforces 3206 ≈ 人类排行第 23 名(二手来源)。注意 LCB 上 GPT-5.4/GLM 缺数据("—"),对比不完整 |
| MRCR / CorpusQA 1M | 百万 token 长上下文检索与问答 | GPT/Kimi/GLM 大量缺项(不支持或预算不足),"超过 Gemini-3.1-Pro"属实,但"全胜"是因为对手没上桌 |
| GDPval-AA | 白领工作任务(Elo 制) | 评测方与评分细则第三方可见度低,Elo 差 120 ≈ 胜率约 67%,差距不小 |
配置里的魔鬼
- 模式不对称:表中各家用的都是最高推理档(Max / xHigh / High / Thinking),但各家的"最高档"对应的实际 token 预算不公开、不可比。解读者推断"推理预算相同"这一公平性前提无法核实。
- 官方推荐采样参数:temperature=1.0, top_p=1.0(模型卡);Think Max 模式建议上下文窗口 ≥384K——意味着 Max 档的成绩是在极大思考预算下取得的,直接部署成本远高于表观分数给人的印象。
- 缺项(—)的不对称:多家对手在长上下文与部分代码基准缺数据,论文表格视觉上偏向"V4 夺冠多"。
6.3 证据分级:哪些数字该打几折
| 证据等级 | 内容 | 可信度建议 |
| A · 第三方独立评测 | NIST AI 标准与创新中心 2026-04 对 V4-Pro 的评测(含防污染的 ARC-AGI-2 半私有集与内部 PortBench) | 最高。结论见 6.4 |
| B · 公开基准、官方自测 | §5.3 主结果表(MMLU-Pro、GPQA、SWE 等) | 较高:题目公开、但执行与配置是作者自己跑的 |
| C · 作者内部自造评测 | 中文写作对比、30 个白领任务、30 个内部代码 agent 任务(来自 50+ 自家工程师的 200+ 真实任务) | 打折:自己出题自己评分,只反映"DeepSeek 用户画像"下的表现 |
| D · 叙事性概括 | "落后前沿 3–6 个月"、"重新定义开源 SOTA" | 当观点读,不当事实读 |
C 级证据里值得知道的结果(论文 §5.4,二手来源核对)
- 中文写作:功能性写作 62.7% vs Gemini-3.1-Pro 34.1%;但最难任务(高复杂度约束、多轮)被 Opus 4.5 以 52.0% vs 45.9% 反超。
- 白领任务:V4-Pro-Max 整体非输率 63%;任务完成与内容质量优于 Opus-4.6-Max,格式审美与指令遵循略输。
- 代码 Agent(内部 30 任务通过率):Haiku 4.5 13% < Sonnet 4.5 47% < V4-Pro-Max 67% < Opus 4.5 70% < Opus 4.5 Thinking 73% < Opus 4.6 Thinking 80%。85 人内部调研:52% 开发者认为可作主力编程模型,39% "倾向于可以"。
6.4 第二坐标轴与第三方复核:NIST 评测泼的冷水
来源:TechTimes 对 NIST(美国国家标准与技术研究院 AI 标准与创新中心)2026 年 4 月评测的报道——与论文无关的第三方数据
- NIST 结论:V4-Pro 的实际水平最接近 GPT-5(比评测早约 8 个月发布),而非论文对比的 GPT-5.4 / Opus 4.6;同时称其为"其评测过最强的中国 AI 模型"。
- 分项:数学基准 97%(距 GPT-5.5 仅 2–3 个点);但网络安全 CTF 32% vs 71%、抽象推理 ARC-AGI-2 46% vs 79%、agentic 软件工程 44% vs 78%(均对 GPT-5.5)。
- NIST 方评价(报道转述):DeepSeek 自报成绩"并非造假,但系统性地高估了企业最需要的任务上的能力"。
怎么调和"论文表"与"NIST 表"解读者推断两者并不矛盾,它们测的是不同分布:论文基准(AIME/LCB/SWE 系)是"干净、确定、有标准答案"的任务,恰是专家训练 + GRPO 可验证奖励的主场;NIST 的 CTF/ARC-AGI-2/PortBench 是"开放、跨域、长程规划"任务,没有现成奖励信号,专家流水线覆盖不到。结构洞见:V4 的两阶段范式在"领域边界清晰 + 奖励可验证"时威力最大,在"需要跨域综合"时存在方法论盲区。这也解释了论文内部评测"超 Sonnet 4.5、接近 Opus 4.5"与 NIST agentic SWE 落后 34 个点之间的落差。
成本坐标轴(精读必看的第二轴)
- V4-Flash-Max 在加大思考预算后推理成绩≈Pro-Max(HMMT 94.8 vs 95.2、LCB 91.6 vs 93.5),但激活参数仅 13B——同等智能下成本约为 Pro 的 1/4(27%→10% FLOPs)。日常生产环境 Flash 的性价比远高于 Pro。
- Pro-Max 的高分是"用大思考预算换的":从 Non-think 到 Max,HLE 从 7.7→37.7,提升 5 倍——意味着部署时若预算给不足,你买到的不是表上那个模型。
6.5 论文没有告诉你的事
- 训练成本与碳排放:全文无 GPU 小时数、无美元成本(V3 曾披露 557.6 万美元,V4 不再披露)。
- 数据配方:32T 的构成比例、合成数据占比、去污染方法均未披露。
- 架构消融:CSA-only vs HCA-only vs 混合的消融、n_hc=4 的选型消融、Muon vs AdamW 的对照曲线——全部没有。贡献 #1/#3/#4 的归因因此无法严格成立。
- 失败案例:压缩注意力的长程精细检索盲区(本报告 2.3 节 L3 题构造的场景)未被讨论。
- 基座代码回退:BigCodeBench 上 V4 基座低于 V3.2(4.4 节),正文未解释。
- 多模态缺席:V4 仍是纯文本模型(二手来源:此前爆料的"原生多模态"未兑现),报告未来方向提及"更稀疏的 embedding 模块"并引用 2026-01 的 Conditional Memory 论文——Engram 式条件记忆留给了下一代。
- Preview 身份:本文是预览版技术报告,部分结论可能在正式版修订。
第 7 章 · 综合考核(毕业关)
规则:先自己作答再点开参考答案。可机批题给标准答案;开放题给评分要点,建议把"题目 + 参考答案 + 你的答案"交给任意 LLM 当裁判。
考核一 · 重建因果链
综合只给你摘要里的三个数字:"1.6T 总参 / 49B 激活 / 1M 上下文"。请推演:这篇论文必须解决哪几类工程问题?每个数字逼出了哪一类?
显示参考答案
1.6T 总参 → 逼出:①MoE 专家并行的通信工程(§3.1 wave 重叠);②Muon 完整梯度 × ZeRO 分片的矛盾(§3.4.1);③万亿级训练稳定性(§4.2.3 两个土办法);④FP4 权重压缩(§5.2.1)。
49B 激活 → 逼出:负载均衡(无辅助损失 + sequence-wise loss),否则 6/384 的稀疏激活会塌缩到少数热门专家。
1M 上下文 → 逼出:①KV cache 压缩(CSA/HCA);②注意力算力压缩(indexer + top-k);③上下文并行的跨 rank 压缩(§3.4.3);④异构 KV cache 管理与磁盘分级(§3.5);⑤百万 token 的 RL/评测基础设施(§5.2.4、DSec)。
评分要点:三类问题(并行/显存/稳定性 × 长上下文特化)答出两类且能对应到具体解法即合格;能指出"1M 上下文同时逼出架构与系统两条线的创新"为优秀。
考核二 · 数字总对账
迁移以下数字链条来自论文不同章节,请验证其一致性,并指出无法验证的一环:
①Pro:61 层、385 专家/层、7168×3072 专家矩阵 → 总参数 1.6T;②激活 49B;③1M 上下文 KV cache = V3.2 的 10% = GQA8 基线的 2%;④33T tokens、94.4M 最大 batch。
显示参考答案
①可验证:385×3×7168×3072×61 ≈ 1.55T + 注意力约 15B + embedding 约 0.9B ≈ 1.57T ≈ 1.6T ✓
②可验证:7 个激活专家 ×3×7168×3072×61 ≈ 28B + 注意力全激活 ≈ 43–49B ✓
③半可验证:CSA/HCA 每层 KV 可从配置直算(≈5GB/1M token,对 GQA8 基线 ≈2% ✓);但"对 V3.2 = 10%"依赖 V3.2 的 MLA+DSA 实际占用,只能用 MLA 公开配置估算,论文未给 V3.2 的逐层数字——这是链条中无法完全独立验证的一环。
④可验证其合理性:33T / 94.4M ≈ 35 万步,量级合理。
评分要点:三个 ✓ 各 2 分,指出 ③ 中 V3.2 侧不可独立验证 +4 分。
考核三 · 设计决策答辩
构造反例Q1:为什么 CSA 和 HCA 要交错,而不是全 CSA 或全 HCA?请回答"不这样做会怎样"。
显示参考答案
全 CSA:KV cache ∝ n/4,1M 时 25 万条/层 × 61 层,显存与 indexer 扫描成本仍随长度线性大涨,百万上下文不可日常化。全 HCA:1/128 压缩的信息损失对"中距离精细检索"是致命的(2.3 节 L3 题的密码场景),长上下文问答质量会崩。交错 = 用一半层保全局轮廓(HCA),一半层保中距离精细(CSA),总成本 = (1/4 + 1/128)/2 ≈ 13% 的条目数取得两者的并集能力。论文没有给出配比的消融,这是该决策证据链的缺口。
构造反例Q2:为什么 query 要走低秩潜向量 c_t^Q(d_c=1536)而不是直接从 h_t 生成 128 个 512 维头?
显示参考答案
直接生成需要 7168×65536 ≈ 4.7 亿参数的矩阵/层;低秩分解为 7168×1536 + 1536×65536 ≈ 1.1 亿,省约 77%。更重要的是 c_t^Q 被 indexer query 与主注意力 query 共享——检索意图与实际关注内容来自同一个"意图表示",两者天然对齐,避免 indexer 选出的 KV 与主注意力真正需要的 KV 错位。不这样做:参数翻倍 + 检索与注意力"两张皮"。
构造反例Q3:为什么负载均衡还要保留一个权重仅 0.0001 的 sequence-wise balance loss?无辅助损失策略不是已经够了吗?
显示参考答案
无辅助损失策略(bias 调整)保证的是全局/批次级均衡;单条序列内部仍可能极端倾斜(比如一个长代码文件的 token 全涌向少数代码专家),造成单序列质量崩塌与局部显存尖峰。0.0001 的权重小到几乎不影响主损失,但足以在单序列内"兜底"。不这样做:1M 长序列训练时单序列失衡会被放大,与 §4.2.3 的 outlier 问题合流。
考核四 · 证据审计(回看第 1.3 节预评)
| # | 贡献 | 预评 | 读后修正 | 修正理由 |
| 1 | CSA+HCA 效率(27%/10% FLOPs) | ★★ | ★★(维持) | 架构数字可手算复现 KV 侧(≈2% 对账成功),但 FLOPs 侧与 V3.2 侧数字无法完全独立验证;无消融 |
| 2 | KV cache 压缩 | ★★★ | ★★★(维持) | 从配置表可逐字节复算,最强证据 |
| 3 | mHC | ★★ | ★★(维持) | 6.7% 开销有数;收益侧依赖 HC 前作与本文训练成功,无 V4 内部消融 |
| 4 | Muon 万亿规模落地 | ★★ | ★★(维持) | "能训成"本身是硬证据;"更快收敛"无对照曲线,属声称 |
| 5 | 稳定性双土办法 | ★★ | ★★(维持) | 作者自认机制不明;SwiGLU Clamping 源自 gpt-oss,原创性再降半格 |
| 6 | OPD 替代 mixed RL | ★★ | ★★(维持偏上) | 最终成绩强 + NIST 的"领域外盲区"反向印证了专家范式的边界;仍无直接消融 |
| 7 | "最强开源、差前沿 3–6 个月" | ★★ | ★(下调) | NIST 第三方评测显示实际最接近 GPT-5(约 8 个月前),开放/跨域任务差距 30+ 点;自报结论系统性偏乐观 |
| 8 | 基础设施全家桶 | ★★★ | ★★★(维持) | MegaMoE/TileLang/DeepGEMM 已开源,可独立检验 |
加分项 · 开放研究问题与动手练习
论文留下的开放方向:
- 压缩注意力的理论理解:什么信息必然丢失?能否给出"压缩率—任务保真度"的边界曲线?
- Anticipatory Routing 与 SwiGLU Clamping 的机制解释(作者自己点名的开放问题)。
- 更稀疏的 embedding / 条件记忆(论文 Future Directions 已点名)。
动手练习(把论文变成肌肉记忆):
- 用 200 行 NumPy 实现 CSA 的压缩 + indexer top-k 前向,在 10K token 文本上对比稠密注意力的检索召回率。
- 复算本报告 2.4 节的 KV cache 账,换成 Flash 配置(43 层、top-k=512)重算一遍。
- 实现 4×4 双随机矩阵的 Sinkhorn 迭代,验证 20 轮后行列和的误差量级。
- 克隆 DeepGEMM 仓库,阅读 MegaMoE(PR #304)的 wave 调度代码,画出它的流水线时序图。
附录
A · 论文信息
- 标题:DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence(arXiv:2606.19348,2026-04-26;技术报告编号 001,58 页,预览版)
- 权重:HuggingFace / ModelScope,MIT 协议;Base 为 FP8 混合精度,Instruct 为 FP4+FP8 混合
- 开源组件:MegaMoE(DeepGEMM PR #304)、TileLang、DeepGEMM、推理参考实现(模型仓库 inference 目录)
- 推荐部署参数:temperature=1.0, top_p=1.0;Think Max 模式上下文窗口 ≥384K
B · 时间线速查
| 日期 | 事件 |
| 2024-12-26 | DeepSeek-V3 发布(671B/37B,MLA + 无辅助损失 MoE,14.8T tokens) |
| 2025-01 | DeepSeek-R1(RL 推理范式) |
| 2025-09 / 2025-12 | V3.2-Exp 引入 DSA / V3.2 正式版 |
| 2026-04-24 | DeepSeek-V4 预览版发布(距 V3 共 484 天) |
C · 精读方法说明
本报告遵循"来源透明 / 数字强迫 / 反自欺"三原则:所有论断标注论文声称实验支持解读者推断之一;论文给出的关键数字均做手算或对账;自测题分 L1 直接应用 / L2 迁移 / L3 构造反例 / L4 综合四级,机批题附标准答案,开放题附评分要点。
免责:本报告为学习材料,数字均引自论文/官方模型卡/注明出处的报道,未做独立实验复现;论文为预览版,正式版可能修订。