DeepSeek-V4 技术报告深度解读 — 迈向高效百万 Token 上下文智能
深度解析 DeepSeek-V4 系列的全部技术创新,涵盖混合注意力架构(CSA+HCA)、流形约束超连接(mHC)、Muon 优化器、基础设施优化与后训练流水线。
- DeepSeek-V4 系列包含两个 MoE 模型:V4-Pro(1.6T 参数,49B 激活)和 V4-Flash(284B 参数,13B 激活),均原生支持 100 万 token 上下文
- 核心架构创新:混合 CSA(压缩稀疏注意力)+ HCA(重压缩注意力)让 1M 上下文下 FLOPs 仅为 V3.2 的 27%,KV Cache 仅为 10%
- 流形约束超连接(mHC)将残差映射约束到双随机矩阵流形上,保证深层训练数值稳定
- 采用 Muon 优化器替代 AdamW,配合混合 Newton-Schulz 迭代实现更快收敛
- 后训练采用领域专家独立训练 + On-Policy 蒸馏(OPD)范式,V4-Pro-Max 在开源模型中重新定义了 SOTA
1. 模型概览
DeepSeek-V4 是 DeepSeek 系列大语言模型的第四代迭代,延续了混合专家(Mixture of Experts, MoE)架构路线。本次发布包含两款模型:V4-Pro(旗舰级,1.6T 总参数)和 V4-Flash(轻量高效,284B 总参数)。两款模型均原生支持 100 万 token 上下文窗口,这是开源模型首次在如此规模的上下文长度上实现端到端原生训练与推理。
相比前代 V3.2,V4 系列在架构层面进行了全面革新:用 CSA+HCA 混合注意力替代 MLA+DSA、引入流形约束超连接(mHC)替代传统残差连接、将 Muon 优化器作为主力训练优化器。这些改进共同作用,使得百万 token 上下文从理论可行变为实际高效。
整体架构
每个 Transformer Block 内部由注意力模块和前馈(MoE)模块组成,两者均包裹在 mHC(Manifold-Constrained HyperConnection)的 Pre-Block Mixing、Post-Block Mixing 和 Residual Mixing 三层操作中。整体结构如下图所示:
模型规格对比
下表详细对比了 V4-Pro、V4-Flash 与前代 V3.2 在关键维度上的差异:
| 特性 | DeepSeek-V3.2 | V4-Flash | V4-Pro |
|---|---|---|---|
| 总参数 | 671B | 284B | 1.6T |
| 激活参数 | 37B | 13B | 49B |
| Transformer 层数 | - | 43 | 61 |
| 隐藏维度 | - | 4096 | 7168 |
| 注意力类型 | MLA + DSA | CSA + HCA 混合 | CSA + HCA 混合 |
| 上下文长度 | 128K | 1M | 1M |
| 1M FLOPs(相对 V3.2) | 100% | 10% | 27% |
| 1M KV Cache(相对 V3.2) | 100% | 7% | 10% |
2. 混合注意力架构(CSA + HCA)
DeepSeek-V4 最核心的架构创新在于其混合注意力机制。传统 Transformer 在处理超长上下文时面临两个根本性挑战:注意力计算的二次复杂度导致 FLOPs 爆炸,以及 KV Cache 的线性增长导致显存耗尽。V4 通过将 CSA(Compressed Sparse Attention)和 HCA(Heavily Compressed Attention)组合使用,同时解决了这两个问题。
2.1 Compressed Sparse Attention(CSA)— 压缩稀疏注意力
CSA 是 V4 注意力架构的主力模块,核心思想是:先将 KV 序列压缩为短序列,再用稀疏选择机制挑出最相关的部分进行注意力计算。具体包含以下五个关键组件:
Token-Level Compressor(Token 级压缩器)
每 m 个连续 token 的 KV 表征被压缩为 1 个条目。压缩过程并非简单的池化,而是通过两组可学习的 KV 投影 C^a、C^b 和对应的压缩权重 Z^a、Z^b,使用 Softmax 加权求和得到压缩后的 KV 条目 C^Comp。这种方式保留了 token 间的相对重要性信息,而非均匀池化。
Lightning Indexer(闪电索引器)
用低秩查询(low-rank query)为每个压缩 KV 块生成索引分数 I_{t,s}。通过 Top-k 选择器从所有压缩块中筛选出与当前查询最相关的 k 个块用于后续的稀疏注意力计算。这一步骤的计算开销极低,因为使用的是低秩投影而非全维查询。
Shared Key-Value MQA(共享键值多查询注意力)
被选中的压缩 KV 条目同时作为 Key 和 Value(即 K=V),使用 Multi-Query Attention(MQA)方式执行核心注意力运算。共享 KV 的设计进一步减少了存储开销。
Grouped Output Projection(分组输出投影)
将 n_h 个注意力头分成 g 组。每组头先投影到低维空间,再拼接合并回原始维度。这一设计在不损失表达能力的前提下显著减少了输出投影的计算量。
Sliding Window(滑动窗口)
额外保留最近 n_win = 128 个未压缩 KV 用于捕获局部依赖关系。滑动窗口部分的注意力与稀疏注意力部分的结果通过拼接方式合并,确保模型在关注全局信息的同时不丢失近邻上下文。
m 是一个关键超参数。V4-Pro 使用 m=4,意味着每 4 个 token 压缩为 1 个。过大的 m 会导致信息丢失,过小则无法有效减少计算量。Lightning Indexer 的 Top-k 值同样需要在召回率和效率之间权衡。2.2 Heavily Compressed Attention(HCA)— 重压缩注意力
HCA 是 CSA 的"极端版本",使用更激进的压缩率 m',其中 m' >> m。在 V4-Pro 中,HCA 的压缩率达到了 m' = 128,相比 CSA 的 m = 4 高出 32 倍。
HCA 与 CSA 的关键区别在于:
- 不使用稀疏选择:由于压缩率极高,序列已经足够短,因此 HCA 保持稠密注意力(Dense Attention),不需要 Lightning Indexer 进行 Top-k 筛选
- 共享 KV MQA:同 CSA 一样使用共享键值的 Multi-Query Attention
- 分组输出投影:同 CSA 一样使用 Grouped Output Projection 减少计算
- Sliding Window 分支:同样保留一个滑动窗口分支用于近邻上下文捕获
HCA 的设计哲学是:用极端压缩换取全局视野。虽然单个 HCA 层的信息保真度不如 CSA,但通过与 CSA 交替堆叠,模型能够在不同层级上兼顾全局概览和局部细节。
2.3 混合配置策略
CSA 和 HCA 并非孤立使用,而是按照精心设计的混合策略在不同层间交替部署:
- 前 2 层:使用纯 Sliding Window Attention(SWA)。这是因为浅层主要负责局部特征提取,全局注意力的收益有限
- 后续层:交替使用 CSA 和 HCA。CSA 负责中粒度的稀疏全局关注,HCA 负责粗粒度的稠密全局概览
- 部分 RoPE:仅对隐藏维度的最后 64 维应用旋转位置编码(RoPE),其余维度不携带位置信息。这有助于在长上下文场景下保持位置编码的有效性
- Attention Sink 机制:引入可学习的 sink logit,防止 Softmax 分母趋近于零时注意力分数爆炸。这是处理超长序列时的关键数值稳定性技巧
- 混合精度 KV Cache:CSA/HCA 的压缩 KV Cache 使用 BF16 + FP8 混合精度存储,进一步节省显存
KV Cache 节省量对比
3. 流形约束超连接(Manifold-Constrained HyperConnection, mHC)
残差连接(Residual Connection)是深度网络训练的基石。传统 Transformer 使用简单的加法残差 x + F(x),而 DeepSeek-V3 引入了超连接(HyperConnection, HC)扩展残差宽度。然而,V4 的工程实践发现,原始 HC 在深层堆叠时会出现数值不稳定问题。mHC 是对此问题的系统性解决方案。
标准超连接(HC)回顾
标准 HC 在残差流中引入三个线性映射 A_l、B_l、C_l。其中 A_l 控制子模块的输入混合,C_l 控制子模块输出混合,而 B_l 负责残差流的直接传播映射。当这三个矩阵可自由学习时,深层网络中 B_l 的连续乘积 B_L * B_{L-1} * ... * B_1 可能出现爆炸或消失。
mHC 的约束方案
mHC 的核心思想是将残差映射矩阵 B_l 约束到双随机矩阵流形 M(Birkhoff 多面体)上:
// 双随机矩阵流形的数学定义
M = {M in R^{n x n} | M * 1_n = 1_n,
M^T * 1_n = 1_n,
M >= 0}
// 关键性质: 谱范数 ||B_l||_2 <= 1(非扩张性)
// 使用 Sinkhorn-Knopp 算法(20 次迭代)投影到流形
Math
双随机矩阵的三个约束条件保证了每行和每列之和为 1,且所有元素非负。这意味着:
- 谱范数
||B_l||_2 ≤ 1:保证映射是非扩张的,连续乘积不会爆炸 - 行和列归一化:残差流的"信息总量"在每层传播中保持守恒
- 非负约束:避免残差分量间的相消干涉
Sinkhorn-Knopp 投影
在每次前向传播中,B_l 的原始参数通过 Sinkhorn-Knopp 算法(固定 20 次迭代)投影到双随机矩阵流形上。该算法交替进行行归一化和列归一化,收敛速度极快。
A_l 和 C_l 的约束
输入混合矩阵 A_l 和输出混合矩阵 C_l 通过 Sigmoid 函数约束为非负有界值。这确保了子模块的输入和输出混合不会出现符号翻转。
动态参数化(Dynamic Parameterization)
mHC 的参数分解为两部分:
- Dynamic(输入依赖):根据当前 token 的隐藏状态动态生成,捕获上下文特定的残差路由
- Static(输入无关):全局共享的偏置项,提供稳定的基础残差通路
4. Muon 优化器
DeepSeek-V4 在优化器选择上做出了重大转变:对大部分模块使用 Muon 优化器 替代了传统的 AdamW。Muon 的核心特点是在参数更新前对梯度矩阵进行正交化处理,使得更新方向更加均匀地分布在参数空间中。
适用范围
并非所有模块都使用 Muon。具体分配如下:
| 模块 | 优化器 | 原因 |
|---|---|---|
| Attention、FFN/MoE 权重 | Muon | 矩阵参数,正交化有效 |
| Embedding | AdamW | 稀疏更新,正交化不适用 |
| Prediction Head | AdamW | 与 Embedding 共享/对称 |
| mHC 静态偏置 | AdamW | 低维向量,非矩阵 |
| RMSNorm | AdamW | 缩放参数,非矩阵 |
混合 Newton-Schulz 迭代
Muon 优化器的关键步骤是对梯度矩阵进行正交化。V4 使用了混合 Newton-Schulz 迭代来实现高效的正交化近似:
- 前 8 步:使用系数
(a, b, c) = (3.4445, -4.7750, 2.0315),追求快速收敛到正交矩阵的近似解 - 后 2 步:使用系数
(a, b, c) = (2, -1.5, 0.5),追求精确稳定的最终结果
总共 10 步迭代就能将梯度矩阵正交化到足够的精度,且全部操作可以在 GPU 上以矩阵乘法形式高效执行。
QK-Clip 不再需要
由于 V4 在 Q/KV 投影输出上直接应用了 RMSNorm,注意力 logit 的数值范围天然有界,因此不需要 QK-Clip(V3 中用于防止注意力 logit 溢出的技巧)。这简化了训练流水线并减少了一个超参数。
混合 ZeRO 策略
Muon 优化器的状态(一阶和二阶矩估计)需要在多 GPU 间分片。V4 使用背包算法(Knapsack Algorithm)将参数矩阵最优地分配到各个 rank 上,确保每个 rank 的 Muon 状态内存占用尽量均衡。
5. 基础设施创新
DeepSeek-V4 的技术报告用了相当大的篇幅介绍基础设施层面的创新。这些底层优化往往是百万 token 上下文从"理论可行"到"实际可部署"的关键。
5.1 细粒度通信-计算重叠(Expert Parallelism)
MoE 模型的 Expert Parallelism 面临一个核心瓶颈:专家分布在不同 GPU 上,token 需要通过 All-to-All 通信路由到目标专家。传统方案中,通信和计算是串行执行的,浪费了大量 GPU 算力。
V4 将 MoE 层的执行分为 4 个阶段:Dispatch(发送 token 到目标 GPU)、Linear-1(第一层线性变换)、Linear-2(第二层线性变换)、Combine(收集结果回原始 GPU)。通过将专家拆分为多个 wave,实现了细粒度的流水线式通信-计算重叠。
| 方案 | 策略 | 理论加速 |
|---|---|---|
| Naive | 串行执行所有阶段 | 1.0x |
| Comet | Dispatch+L1, L2+Combine 两组重叠 | 1.42x |
| DeepSeek-V4 | 细粒度 wave 级流水线 | 1.92x |
该方案的开源实现名为 MegaMoE,集成在 DeepGEMM 项目中。
5.2 TileLang DSL
V4 的训练和推理框架使用 TileLang(一种领域专用语言)替代了数百个手写的 Torch ATen 算子。TileLang 带来了以下改进:
- Host Codegen:将主机端逻辑编译为生成代码。传统的 Python host-side 调用开销在数十微秒级别,而 TileLang 的 codegen 将其降至亚微秒。对于 MoE 这类需要频繁 dispatch 的场景,这一优化意义重大
- Z3 SMT Solver 集成:在编译期使用 Z3 求解器进行形式化整数分析(如 tile size 合法性验证、内存访问越界检查),将运行时错误提前到编译期发现
- 数值精度保障:默认关闭
fast-math编译选项,牺牲少量性能换取严格的数值精度。对于大规模训练(33T tokens),微小的数值偏差可能在数十万步后累积为严重的训练偏差
5.3 Batch-Invariant & Deterministic Kernel
训练的可复现性(reproducibility)是调试和科学研究的基础。V4 在多个关键算子上实现了 batch-invariant 和确定性计算:
- Attention:采用双 kernel 策略实现 batch-invariant 解码。第一个 kernel 计算局部注意力结果,第二个 kernel 进行跨 batch 的归一化,消除 batch 内 token 排列对结果的影响
- GEMM:用 DeepGEMM 替代 cuBLAS,并放弃 split-k 策略。split-k 虽然能提高 GPU 利用率,但引入了非确定性规约。DeepGEMM 使用单一 k 分块保证结果确定性
- MoE Backward:通过 token order pre-processing 和 buffer isolation 确保反向传播的确定性。每个专家的 token 按固定顺序处理,不同专家的梯度缓冲区互不干扰
- mHC:split-k 分段输出 + 确定性规约。Sinkhorn-Knopp 迭代中的中间结果按固定分段写入独立缓冲区,再进行确定性求和
5.4 FP4 量化感知训练
V4 在训练期间对部分权重和激活进行了 FP4(MXFP4)量化感知训练,以减少内存占用和通信开销:
- MoE 专家权重:每个专家的前馈层权重在前向传播中以 FP4 精度执行矩阵乘法
- CSA Indexer 的 QK 路径:Lightning Indexer 的低秩查询和键的点积计算使用 FP4 精度
FP4 到 FP8 的无损反量化
MXFP4 使用 E2M1 格式(2 位指数 + 1 位尾数),而 FP8 使用 E4M3 格式(4 位指数 + 3 位尾数)。由于 FP8 的指数位比 FP4 多 2 位,FP4 到 FP8 的反量化是无损的 -- 每个 FP4 值都能精确表示为 FP8 值。这意味着在需要 FP8 精度的计算路径上,可以直接从 FP4 存储恢复而不引入额外误差。
Index 分数量化
Lightning Indexer 的 Top-k 选择分数从 FP32 量化到 BF16,Top-k 召回率达到 99.7%。这意味着仅 0.3% 的 token 会因为量化误差选错压缩块,对最终性能的影响微乎其微。
5.5 推理框架 KV Cache 设计
V4 的推理框架设计了异构 KV Cache 体系,针对 CSA/HCA 混合注意力的特殊需求进行优化:
State Cache vs Classical KV Cache
- State Cache:存储 Sliding Window Attention(SWA)的未压缩 KV 和尚未完成压缩的尾部 token。这部分数据热度高、更新频繁,保留在 GPU HBM 中
- Classical KV Cache:存储 CSA/HCA 的压缩 KV 条目。这部分数据生成后不再更新,可以移至低速存储
On-Disk KV Cache 三种策略
针对不同的延迟和存储需求,V4 提供了三种 KV Cache 管理策略:
| 策略 | 描述 | 显存占用 | 首 Token 延迟 | 适用场景 |
|---|---|---|---|---|
| Full SWA Caching | 完整缓存所有 SWA KV | 高 | 低 | 低延迟在线推理 |
| Periodic Checkpointing | 周期性保存 SWA 检查点 | 中 | 中 | 平衡型部署 |
| Zero SWA Caching | 不缓存 SWA KV,按需重算 | 低 | 高 | 极长上下文/离线批处理 |
6. 预训练
V4 的预训练遵循"从短到长、从稠密到稀疏"的渐进策略,在 33T+ tokens 的数据上完成训练。
数据准备
- 总量:32T+ tokens,相比 V3 的数据集更大,且包含更多长文档和学术论文
- 有效上下文更长:通过数据筛选和打包策略,确保训练样本中包含大量真正需要长距离依赖的文档
- 多语言覆盖:中英双语为主,同时包含代码、数学公式和结构化数据
序列长度渐进扩展
训练过程中序列长度逐步扩展,使模型渐进适应更长的上下文:
注意力模式切换
训练先以稠密注意力(Full Attention)warmup 约 1T tokens,让模型在完整注意力模式下建立基础语言能力。之后再引入 CSA+HCA 的稀疏注意力机制,让模型在保持基础能力的同时学习高效的长上下文处理策略。
训练稳定性技巧
大规模预训练中的两个关键稳定性技巧:
Anticipatory Routing(前瞻性路由)
MoE 的路由模块使用历史参数 θ_{t-Δt} 进行前向计算,而非当前步的参数。这一设计解耦了骨干网络和路由的同步更新,防止路由决策和专家参数之间的反馈循环导致训练振荡。
SwiGLU Clamping
SwiGLU 激活函数的两个分量分别进行数值裁剪:
- 线性分量:clamp 到 [-10, 10] 范围
- 门控分量:上界 clamp 到 10(Swish 函数的下界天然有界)
这防止了 FP16/BF16 训练中偶发的激活值溢出问题。
7. 后训练
V4 的后训练流水线包含两个核心阶段:Specialist Training(领域专家独立训练)和 On-Policy Distillation(在线策略蒸馏)。这一范式使得最终的 V4-Pro-Max 模型在多个基准上达到了开源模型的新 SOTA。
7.1 Specialist Training(领域专家训练)
不同于传统的"一锅炖"后训练策略,V4 将后训练拆解为多个独立的领域专家训练任务。每个专家针对特定领域进行深度优化:
- 数学专家:在竞赛数学数据上进行 SFT + GRPO 强化学习
- 编程专家:在代码生成、调试和重构数据上训练
- Agent 专家:在工具调用和多步推理数据上训练
- 指令遵循专家:在复杂指令和对话数据上训练
两阶段训练流程
每个领域专家遵循相同的两阶段训练流程:
- SFT(Supervised Fine-Tuning):在领域特定的标注数据上进行监督微调
- GRPO(Group Relative Policy Optimization):基于奖励模型的强化学习训练,进一步提升推理能力和输出质量
三种推理模式
训练完成的模型支持三种推理模式,可根据任务复杂度动态选择:
| 模式 | 描述 | 延迟 | 适用场景 |
|---|---|---|---|
| Non-think | 直接输出,不进行链式推理 | 低 | 简单问答、翻译等 |
| Think High | 中等深度的链式推理 | 中 | 数学题、代码生成 |
| Think Max | 最大深度的链式推理 | 高 | 竞赛题、复杂 Agent 任务 |
Generative Reward Model(GRM)
V4 使用模型自身作为奖励模型(Generative Reward Model),而非训练一个独立的 Reward Model。GRM 通过生成式的方式对候选回复进行评估打分,这避免了传统标量奖励模型的信息瓶颈问题。
XML-based Tool-Call Schema
V4 使用基于 XML 的工具调用模式(|DSML|),替代了传统的 JSON function-calling 格式。XML 格式在嵌套结构和流式输出方面具有天然优势。
Interleaved Thinking
在工具调用场景中,V4 保留了全部推理历史(interleaved thinking),而非仅保留最终的工具调用决策。这使得模型在多步工具调用链中能够回溯先前的推理过程,做出更连贯的决策。
Quick Instruction
引入特殊 token 实现 KV Cache 复用的辅助任务并行。当用户发起一个辅助查询(如"顺便帮我查一下...")时,Quick Instruction 允许模型在不清空主任务 KV Cache 的前提下并行处理辅助任务。
7.2 On-Policy Distillation(OPD)
OPD 是将多个领域专家的知识融合到单一学生模型中的关键步骤。其核心特点:
- 多教师到单学生的 reverse KL 散度蒸馏。每个领域专家作为一个教师模型,学生模型同时学习所有教师的知识
- Full-vocabulary logit distillation:在完整词表维度上进行 logit 对齐,而非仅在 token 级别进行近似匹配。这确保了学生模型忠实地继承每个教师的输出分布
- 教师权重按需加载:10+ 个教师模型的权重不会同时驻留在 GPU 显存中,而是根据当前 batch 的领域标签按需加载。仅缓存最后一层的 hidden states 用于 logit 计算
- "On-Policy":蒸馏过程中使用学生模型自身的采样结果作为训练数据(而非教师的采样结果),确保学生在自己的分布上优化,避免分布偏移
8. 评估结果
V4-Pro-Max 在多个权威基准测试上展示了与顶级闭源模型匹配甚至超越的性能。以下数据来源于技术报告 Table 6:
| Benchmark | Opus 4.6 Max | GPT-5.4 xHigh | Gemini-3.1 High | DS-V4-Pro Max |
|---|---|---|---|---|
| MMLU-Pro | 89.1 | 87.5 | 91.0 | 87.5 |
| SimpleQA-Verified | 46.2 | 45.3 | 75.6 | 57.9 |
| Codeforces | - | 3168 | 3052 | 3206 |
| HMMT 2026 | 96.2 | 97.7 | 94.7 | 95.2 |
| MRCR 1M | 92.9 | - | 76.3 | 83.5 |
| Terminal Bench 2.0 | 65.4 | 75.1 | 68.5 | 67.9 |
| SWE Verified | 80.8 | - | 80.6 | 80.6 |
| Toolathlon | 47.2 | 54.6 | 48.8 | 51.8 |
关键亮点解读
其他重要成绩
- 1M 上下文 MRCR 83.5:超越 Gemini-3.1-Pro(76.3),仅次于 Opus 4.6 Max(92.9),验证了 CSA+HCA 混合注意力在超长上下文上的有效性
- 中文写作胜率 62.7%:在与 Gemini-3.1-Pro 的中文写作对比中胜率 62.7%,体现了强大的中文生成能力
- 白领任务非败率 63%:在与 Opus-4.6-Max 的白领任务对比中,非败率(不输的概率)达到 63%
- Code Agent Pass Rate 67%:超越 Sonnet 4.5,接近 Opus 4.5 的水平。这表明 V4 在复杂多步代码 Agent 任务上已经具备了实战部署能力
性能对比可视化
Codeforces 评分
MRCR 1M 上下文
SWE Verified
参考资料
- DeepSeek-V4 Technical Report — 官方技术报告与模型权重合集
- DeepSeek-V4-Pro 开源推理实现 — 官方推理框架代码,包含 CSA/HCA 注意力和异构 KV Cache 实现
- MegaMoE 开源实现 — 细粒度通信-计算重叠的 Expert Parallelism 实现,集成在 DeepGEMM 项目中