DeepSeek-V4 技术报告简要解读

344 阅读4分钟

DeepSeek-V4 技术解读报告

基于论文《DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence》及官方公众号文章整理


一、总览

DeepSeek-V4 是深度求索推出的全新大语言模型系列,包含两个 MoE(混合专家)模型,均原生支持 1M(一百万)token 上下文长度。核心目标:打破超长上下文的效率壁垒,使百万 token 上下文从"技术上可行"变为"经济上标配"。

模型总参数激活参数训练数据定位
DeepSeek-V4-Pro1.6T49B33T tokens旗舰级,性能比肩顶级闭源模型
DeepSeek-V4-Flash284B13B32T tokens高效经济型,推理能力接近 Pro

三大核心升级:

  1. 混合注意力架构(CSA + HCA),大幅提升长上下文效率
  2. 流形约束超连接(mHC),增强残差连接的信号传播稳定性
  3. Muon 优化器,更快的收敛速度和训练稳定性

二、架构创新详解

2.1 继承自 V3 的设计

  • DeepSeekMoE 框架:细粒度路由专家 + 共享专家
    • V4 变化:路由亲和度函数从 Sigmoid()\mathrm{Sigmoid}(\cdot) 改为 Softplus()\sqrt{\mathrm{Softplus}(\cdot)}
    • 移除路由目标节点数限制,重新设计并行策略
    • 前几层 Dense FFN 替换为 Hash 路由的 MoE 层
    • 辅助损失无关的负载均衡 + 轻量序列级平衡损失
  • 多 Token 预测(MTP):与 V3 完全一致

2.2 流形约束超连接(Manifold-Constrained Hyper-Connections, mHC)

问题:传统残差连接在深层堆叠时信号传播不稳定;标准超连接(HC)虽扩展了残差流宽度,但训练中频繁出现数值不稳定。

2.2.1 标准超连接(HC)

HC 将残差流的宽度扩展 nhcn_\text{hc} 倍,残差状态形状从 Rd\mathbb{R}^{d} 扩展为 Rnhc×d\mathbb{R}^{n_\text{hc} \times d}。设第 ll 层之前的残差状态为:

Xl=[xl,1;;xl,nhc]TRnhc×dX_l = [\mathbf{x}_{l,1}; \ldots; \mathbf{x}_{l,n_\text{hc}}]^T \in \mathbb{R}^{n_\text{hc} \times d}

HC 引入三个线性映射——输入映射 AlR1×nhcA_l \in \mathbb{R}^{1 \times n_\text{hc}}、残差变换 BlRnhc×nhcB_l \in \mathbb{R}^{n_\text{hc} \times n_\text{hc}}、输出映射 ClRnhc×1C_l \in \mathbb{R}^{n_\text{hc} \times 1},残差状态更新为:

Xl+1=BlXl+Cl,Fl(AlXl)(1)X_{l+1} = B_l X_l + C_l , F_l(A_l X_l) \tag{1}

其中 FlF_l 表示第 ll 层(如 MoE 层),输入输出形状均为 Rd\mathbb{R}^{d}。注意实际层输入 AlXlRdA_l X_l \in \mathbb{R}^{d} 也是 dd 维的,因此扩展残差宽度不影响内层设计。

2.2.2 流形约束残差映射

mHC 的核心创新是将残差映射矩阵 BlB_l 约束到双随机矩阵流形(Birkhoff 多面体)M\mathcal{M}

MMRn×nM1n=1n,;1nTM=1nT,;M0(2)\mathcal{M} \coloneqq {M \in \mathbb{R}^{n \times n} \mid M\mathbf{1}_n = \mathbf{1}_n,; \mathbf{1}_n^T M = \mathbf{1}_n^T,; M \geqslant 0} \tag{2}

该约束确保 Bl21|B_l|_2 \leqslant 1,残差变换为非扩展映射,增强前向和反向传播的数值稳定性。此外,M\mathcal{M} 在矩阵乘法下封闭,保证深层堆叠的稳定性。

2.2.3 动态参数化

三个映射的参数由静态分量(可学习偏置)和动态分量(输入相关)组合生成。给定输入 XlRnhc×dX_l \in \mathbb{R}^{n_\text{hc} \times d},先展平并归一化:

X^l=RMSNorm(vec(Xl))R1×nhcd\hat{X}_l = \mathrm{RMSNorm}(\mathrm{vec}(X_l)) \in \mathbb{R}^{1 \times n_\text{hc} d}

然后生成无约束的原始参数:

A~l=αlpre(X^lWlpre)+Slpre(3)\tilde{A}_l = \alpha_l^\text{pre} \cdot (\hat{X}_l W_l^\text{pre}) + S_l^\text{pre} \tag{3}
B~l=αlresMat(X^lWlres)+Slres(4)\tilde{B}_l = \alpha_l^\text{res} \cdot \mathrm{Mat}(\hat{X}_l W_l^\text{res}) + S_l^\text{res} \tag{4}
C~l=αlpost(X^lWlpost)T+Slpost(5)\tilde{C}_l = \alpha_l^\text{post} \cdot (\hat{X}_l W_l^\text{post})^T + S_l^\text{post} \tag{5}

其中 Wlpre,WlpostRnhcd×nhcW_l^\text{pre}, W_l^\text{post} \in \mathbb{R}^{n_\text{hc} d \times n_\text{hc}}WlresRnhcd×nhc2W_l^\text{res} \in \mathbb{R}^{n_\text{hc} d \times n_\text{hc}^2} 为动态分量的可学习参数;Mat()\mathrm{Mat}(\cdot) 将长度为 nhc2n_\text{hc}^2 的向量重塑为 nhc×nhcn_\text{hc} \times n_\text{hc} 矩阵;SlpreR1×nhcS_l^\text{pre} \in \mathbb{R}^{1 \times n_\text{hc}}SlpostRnhc×1S_l^\text{post} \in \mathbb{R}^{n_\text{hc} \times 1}SlresRnhc×nhcS_l^\text{res} \in \mathbb{R}^{n_\text{hc} \times n_\text{hc}} 为可学习静态偏置;αlpre,αlres,αlpostR\alpha_l^\text{pre}, \alpha_l^\text{res}, \alpha_l^\text{post} \in \mathbb{R} 为初始化为小值的可学习门控因子。

2.2.4 参数约束应用

对原始参数施加前述约束。输入映射和输出映射通过 Sigmoid 函数确保非负有界性:

Al=σ(A~l)(6)A_l = \sigma(\tilde{A}_l) \tag{6}
Cl=2σ(C~l)(7)C_l = 2\sigma(\tilde{C}_l) \tag{7}

对残差映射 B~l\tilde{B}_l,通过 Sinkhorn-Knopp 算法投影到双随机矩阵流形。先取指数保证正性:

M(0)=exp(B~l)M^{(0)} = \exp(\tilde{B}_l)

然后迭代执行行列归一化:

M(t)=Tr(Tc(M(t1)))(8)M^{(t)} = T_r(T_c(M^{(t-1)})) \tag{8}

其中 TrT_rTcT_c 分别为行、列归一化。迭代收敛到约束双随机矩阵 Bl=M(tmax)B_l = M^{(t_\text{max})},取 tmax=20t_\text{max} = 20

效果:mHC 的 wall-time 开销仅占 pipeline stage 的 6.7%,用极小的计算代价换来了深层网络训练的数值稳定性。

2.3 混合注意力架构(CSA + HCA)—— 最核心创新

这是 V4 实现百万 token 上下文的关键。设计了两类高效注意力层,交替使用:

2.3.1 压缩稀疏注意力(CSA)

三步流程:

原始 KV → 压缩(m 倍) → 闪电索引器稀疏选择(top-k) → 核心 MQA 注意力

(a)压缩 KV 条目

设输入隐状态序列为 HRn×dH \in \mathbb{R}^{n \times d},CSA 先计算两系列 KV 条目及其压缩权重:

Ca=HWaKV,Cb=HWbKV(9)C_a = H \cdot W_{aKV}, \quad C_b = H \cdot W_{bKV} \tag{9}
Za=HWaZ,Zb=HWbZ(10)Z_a = H \cdot W_{aZ}, \quad Z_b = H \cdot W_{bZ} \tag{10}

其中 WaKV,WbKV,WaZ,WbZRd×cW_{aKV}, W_{bKV}, W_{aZ}, W_{bZ} \in \mathbb{R}^{d \times c} 为可学习参数,cc 为头维度。

mm 个 KV 条目通过加权求和压缩为一个条目,权重由 Softmax 归一化确定:

[Sami:m(i+1)1;;Sbm(i1):mi1]=Softmaxrow(Zami:m(i+1)1+Ba;;Zbm(i1):mi1+Bb)(11)[S_a^{mi:m(i+1)-1};; S_b^{m(i-1):mi-1}] = \mathrm{Softmax}_\text{row}(Z_a^{mi:m(i+1)-1} + B_a;; Z_b^{m(i-1):mi-1} + B_b) \tag{11}
CiComp=j=mim(i+1)1Sa,jCa,j+j=m(i1)mi1Sb,jCb,j(12)C_i^\text{Comp} = \sum_{j=mi}^{m(i+1)-1} S_{a,j} \odot C_{a,j} + \sum_{j=m(i-1)}^{mi-1} S_{b,j} \odot C_{b,j} \tag{12}

其中 \odot 为 Hadamard 积;Ba,BbRm×cB_a, B_b \in \mathbb{R}^{m \times c} 为可学习位置偏置;Softmaxrow()\mathrm{Softmax}_\text{row}(\cdot) 沿行维度归一化,对 ZaZ_aZbZ_b2m2m 个元素进行归一化。当 i=0i=0 时,ZbZ_b 填充负无穷、CbC_b 填充零。注意每个 CiCompC_i^\text{Comp} 来自 2m2m 个 KV 条目,但 CbC_b 的索引与相邻压缩块重叠,因此 CSA 实际将序列长度压缩为 1m\frac{1}{m} 倍。

(b)闪电索引器(Lightning Indexer)稀疏选择

对压缩后的 KV 条目 CCompC^\text{Comp},CSA 使用 DSA 策略选择 top-k 压缩块。首先以同样的压缩操作得到索引器键 KICompRnm×cIK^\text{IComp} \in \mathbb{R}^{\frac{n}{m} \times c_I},然后以低秩方式生成索引器查询和权重:

ctQ=htWDQ(13)\mathbf{c}_t^Q = \mathbf{h}_t \cdot W_{DQ} \tag{13}
[qt,1I;;qt,nhII]=qtI=ctQWIUQ(14)[\mathbf{q}_{t,1}^I; \ldots; \mathbf{q}_{t,n_h^I}^I] = \mathbf{q}_t^I = \mathbf{c}_t^Q \cdot W_{IUQ} \tag{14}
[wt,1I;;wt,nhII]=wtI=htWw(15)[w_{t,1}^I; \ldots; w_{t,n_h^I}^I] = \mathbf{w}_t^I = \mathbf{h}_t \cdot W_w \tag{15}

其中 htRd\mathbf{h}_t \in \mathbb{R}^{d} 为查询 token tt 的输入隐状态;ctQRdc\mathbf{c}_t^Q \in \mathbb{R}^{d_c} 为查询压缩潜向量;dcd_c 为查询压缩维度;nhIn_h^I 为索引器查询头数;cIc_I 为索引器头维度;WDQRd×dcW_{DQ} \in \mathbb{R}^{d \times d_c}WIUQRdc×cInhIW_{IUQ} \in \mathbb{R}^{d_c \times c_I n_h^I}WwRd×nhIW_w \in \mathbb{R}^{d \times n_h^I} 分别为下投影、上投影和权重矩阵。

查询 token tt 与压缩块 sss<t/ms < \lfloor t/m \rfloor)的索引分数为:

It,s=h=1nhIwt,hIReLU(qt,hIKsIComp)(16)I_{t,s} = \sum_{h=1}^{n_h^I} w_{t,h}^I \cdot \mathrm{ReLU}(\mathbf{q}_{t,h}^I \cdot K_s^\text{IComp}) \tag{16}

其中 wt,hIRw_{t,h}^I \in \mathbb{R} 为第 hh 个索引器头的动态权重(由输入隐状态生成,非静态参数)。最终选择 top-k 压缩 KV 条目:

CtSprsComp=CsCompIt,sTop-k(It,:)(17)C_t^\text{SprsComp} = {C_s^\text{Comp} \mid I_{t,s} \in \text{Top-k}(I_{t,:})} \tag{17}

(c)共享 KV 多查询注意力(MQA)

CSA 以 MQA 方式执行核心注意力,每个压缩 KV 条目同时充当 Key 和 Value。从共享的压缩潜向量生成注意力查询:

[qt,1;;qt,nh]=qt=ctQWUQ(18)[\mathbf{q}_{t,1}; \ldots; \mathbf{q}_{t,n_h}] = \mathbf{q}_t = \mathbf{c}_t^Q \cdot W_{UQ} \tag{18}

其中 nhn_h 为查询头数,WUQRdc×cnhW_{UQ} \in \mathbb{R}^{d_c \times c n_h} 为上投影矩阵。注意 ctQ\mathbf{c}_t^Q 与索引器查询共享。

然后执行 MQA:

ot,i=CoreAttn(query=qt,i,;key=CtSprsComp,;value=CtSprsComp)(19)\mathbf{o}_{t,i} = \mathrm{CoreAttn}(\text{query}=\mathbf{q}_{t,i},; \text{key}=C_t^\text{SprsComp},; \text{value}=C_t^\text{SprsComp}) \tag{19}

其中 ot,iRc\mathbf{o}_{t,i} \in \mathbb{R}^{c} 为第 ii 个头在第 tt 个 token 的核心注意力输出。

(d)分组输出投影

由于 cnhc \cdot n_h 维度很大,直接投影到 dd 维计算代价高。CSA 将 nhn_h 个头分为 gg 组,每组输出 ot,iGRcnhg\mathbf{o}_{t,i}^G \in \mathbb{R}^{\frac{c n_h}{g}},先投影到 dgd_g 维中间输出(dg<cnhgd_g < \frac{c n_h}{g}),再合并投影到最终 dd 维输出 o^tRd\hat{\mathbf{o}}_t \in \mathbb{R}^{d}

CSA 参数配置:

参数符号V4-FlashV4-Pro
压缩率mm44
索引器头数nhIn_h^I6464
索引器头维度cIc_I128128
注意力 top-kkk5121024
查询头数nhn_h64128
头维度cc512512
查询压缩维度dcd_c10241536
输出投影组数gg816
每组中间维度dgd_g10241024
滑动窗口大小nwinn_\text{win}128128
2.3.2 重压缩注意力(HCA)
  • 更激进的压缩:每 mm'mmm' \gg m)个 token 压缩为 1 个 KV 条目
  • HCA 只有一个系列的 KV 条目,不使用重叠压缩:
C=HWKV,Z=HWZ(20, 21)C = H \cdot W_{KV}, \qquad Z = H \cdot W_Z \tag{20, 21}

其中 WKV,WZRd×cW_{KV}, W_Z \in \mathbb{R}^{d \times c} 为可学习参数。

  • 压缩权重由 Softmax 归一化确定:
Smi:m(i+1)1=Softmaxrow(Zmi:m(i+1)1+B)(22)S_{m'i:m'(i+1)-1} = \mathrm{Softmax}_\text{row}(Z_{m'i:m'(i+1)-1} + B) \tag{22}
CiComp=j=mim(i+1)1SjCj(23)C_i^\text{Comp} = \sum_{j=m'i}^{m'(i+1)-1} S_j \odot C_j \tag{23}

其中 BRm×cB \in \mathbb{R}^{m' \times c} 为可学习位置偏置。HCA 将序列长度压缩为 1m\frac{1}{m'} 倍。

  • 不做稀疏选择,在压缩后的 KV 上做全量密集注意力
  • 同样使用共享 KV MQA + 分组输出投影
  • 压缩率 m=128m' = 128(V4-Flash 与 V4-Pro 一致)
2.3.3 辅助设计
  • QK 归一化:核心注意力前对每个查询头和唯一的压缩 KV 头做 RMSNorm,防止注意力 logit 爆炸
  • 部分 RoPE:仅对查询、KV 条目、注意力输出的最后 64 维施加旋转位置编码。由于 KV 条目同时充当 Key 和 Value,核心注意力输出 ot,i\mathbf{o}_{t,i} 将携带绝对位置编码(来自 KV 条位的加权和)。作为对策,对 ot,i\mathbf{o}_{t,i} 的最后 64 维施加位置 i-i 的反向 RoPE,使核心注意力输出携带相对位置信息——每个 KV 条目对输出的贡献与查询到 KV 条目的距离相关
  • 滑动窗口注意力:附加一个小窗口(nwin=128n_\text{win}=128)的未压缩 KV 条目,与压缩 KV 条目一起参与核心注意力,保留局部精细依赖;同时严格保证因果性(每个查询只关注前面的压缩块)
  • Attention Sink:可学习的 sink logits z1,z2,,znh{z_1', z_2', \ldots, z_{n_h}'},第 hh 个注意力头的注意力分数为:
sh,i,j=exp(zh,i,j)kexp(zh,i,k)+exp(zh)(27)s_{h,i,j} = \frac{\exp(z_{h,i,j})}{\sum_k \exp(z_{h,i,k}) + \exp(z_h')} \tag{27}

其中 sh,i,j,zh,i,jRs_{h,i,j}, z_{h,i,j} \in \mathbb{R} 分别为第 hh 个注意力头在第 ii 个查询 token 与第 jj 个前驱 token/压缩块之间的注意力分数和 logit。该技巧允许每个查询头的总注意力分数不严格等于 1,甚至可接近 0。

2.3.4 效率对比

以 BF16 GQA8(头维度128)为基线,V4 在 1M 上下文场景下的 KV cache 仅为基线的 约 2%

与 DeepSeek-V3.2 对比:

指标V4-Pro(1M ctx)V4-Flash(1M ctx)
单 token 推理 FLOPs(等效 FP8)27% of V3.210% of V3.2
KV Cache 大小10% of V3.27% of V3.2

关键效率技术

  • KV 存储采用混合精度:RoPE 维度 BF16 + 其余维度 FP8,KV cache 近乎减半
  • 闪电索引器计算使用 FP4 精度
  • 比 V3.2 更小的注意力 top-k
  • V4 路由专家参数使用 FP4 精度,虽然当前硬件 FP4×FP8 峰值算力与 FP8×FP8 相同,但在未来硬件上理论上可提升 13\frac{1}{3} 效率

三、优化器:Muon

DeepSeek-V4 大量使用 Muon 优化器(替代 AdamW),这是首个在大规模 MoE 模型上成功应用 Muon 的工作。

3.1 Muon 核心算法

Algorithm 1:Muon Optimizer for DeepSeek-V4

Require: 学习率 η\eta,动量 μ\mu,权重衰减 λ\lambda,更新重缩放因子 γ\gamma

for 每个训练步骤 tt do

  for 每个逻辑独立权重矩阵 WRn×mW \in \mathbb{R}^{n \times m} do

   1. 计算梯度:Gt=WLt(Wt1)G_t = \nabla_W \mathcal{L}_t(W_{t-1})

   2. 累积动量:Mt=μMt1+GtM_t = \mu M_{t-1} + G_t

   3. 混合 Newton-Schulz 迭代(Nesterov 技巧):Ot=HybridNewtonSchulz(μMt+Gt)O_t' = \text{HybridNewtonSchulz}(\mu M_t + G_t)

   4. 重缩放更新 RMS:Ot=Otmax(n,m)γO_t = O_t' \cdot \sqrt{\max(n,m)} \cdot \gamma

   5. 权重衰减与更新:Wt=(1ηλ)Wt1ηOtW_t = (1 - \eta\lambda) W_{t-1} - \eta O_t

  end for

end for

3.2 混合 Newton-Schulz 迭代

对矩阵 MM 做近似正交化(M=UΣVTUVTM = U\Sigma V^T \to UV^T)。先归一化 M0=M/MFM_0 = M / |M|_F,每次迭代执行:

Mk=aMk1+b(Mk1Mk1T)Mk1+c(Mk1Mk1T)2Mk1(28)M_k = aM_{k-1} + b(M_{k-1}M_{k-1}^T)M_{k-1} + c(M_{k-1}M_{k-1}^T)^2 M_{k-1} \tag{28}

两阶段策略

  • 前 8 步:(a,b,c)=(3.4445,;4.7750,;2.0315)(a, b, c) = (3.4445,; -4.7750,; 2.0315)——快速收敛,将奇异值逼近 1
  • 后 2 步:(a,b,c)=(2,;1.5,;0.5)(a, b, c) = (2,; -1.5,; 0.5)——精确稳定,将奇异值精确固定在 1

3.3 关键设计决策

  • 分区使用:Embedding、预测头、RMSNorm、mHC 静态偏置/门控仍用 AdamW;其余全部用 Muon
  • 无需 QK-Clip:V4 注意力架构允许直接对 QK 做 RMSNorm,天然防止 logit 爆炸
  • 与 ZeRO 的混合策略:Dense 参数限制最大 ZeRO 并行度,用背包算法分配;MoE 参数按专家独立优化;同形状连续参数自动合并以批量执行 Newton-Schulz 迭代

3.4 通信优化

  • MoE 梯度用 BF16 随机舍入同步,通信量减半
  • 用 all-to-all + 本地 FP32 求和替代传统 reduce-scatter,保证数值稳健

四、基础设施创新

4.1 专家并行的细粒度通信-计算重叠

  • MegaMoE 超级内核:将 MoE 层的 Dispatch → Linear-1 → Linear-2 → Combine 四阶段融合为单一流水线内核
  • 波次调度:专家分组为 wave,当前 wave 计算、下一 wave 令牌传输、已完成专家结果发送三者并行
  • 效果:通用推理加速 1.501.73×1.50{\sim}1.73\times,RL rollout 等延迟敏感场景可达 1.96×1.96\times
  • 关键洞察:通信可被计算完全隐藏的条件为:
CBVcompVcomm=2d=6144;FLOPs/Byte\frac{C}{B} \leqslant \frac{V_\text{comp}}{V_\text{comm}} = 2d = 6144 ;\text{FLOPs/Byte}

即每 GBps 带宽可隐藏 6.1 TFLOP/s 的计算。一旦带宽满足此阈值,便不再是瓶颈。

4.2 TileLang:高效算子开发 DSL

  • 平衡开发效率与运行性能
  • Host Codegen:将 Python 端固定开销降至 <1μs<1\mu\text{s}/调用
  • 集成 Z3 SMT 求解器进行形式化整数分析(QF_NIA)
  • 支持 IEEE-754 严格语义和位级可复现性

4.3 批次不变性与确定性内核

  • 批次不变性:同一 token 无论在 batch 中何位置,输出逐位一致
    • 注意力:双内核策略(大 batch 用单 SM 内核,小 batch 用多 SM 内核 + distributed shared memory)
    • 矩阵乘法:用 DeepGEMM 替代 cuBLAS,不用 split-k
  • 确定性训练:消除所有 atomicAdd,使用独立累积缓冲区 + 确定性规约
    • 注意力反向:为每个 SM 分配独立累积缓冲区 + 全局确定性求和
    • MoE 反向:token 顺序预处理 + 跨 rank 缓冲隔离
    • mHC 矩阵乘:输出各 split 部分 + 后续确定性规约

4.4 FP4 量化感知训练(QAT)

  • MoE 专家权重:FP32 主权重 → FP4 量化 → FP8 反量化(无损)→ FP8 计算
    • FP4(E2M1)→ FP8(E4M3)反量化是无损的:FP8 多 2 个指数位,更大动态范围可吸收 FP4 子块(1×32 tiles)的细粒度缩放因子
    • 前向使用 FP8 权重,梯度直接回传到 FP32 主权重(等效 STE),避免重新量化转置权重
    • 推理和 RL rollout 阶段直接使用真实 FP4 量化权重
  • CSA 索引器 QK 路径:QK 激活在 FP4 下缓存、加载和相乘
  • 效果:索引分数从 FP32 量化到 BF16,top-k 选择器加速 2×2\times,KV 条目召回率保持 99.7%

4.5 训练框架扩展

  1. Muon 高效实现:混合 ZeRO 策略 + BF16 梯度通信
  2. mHC 低开销实现:融合内核 + 选择性重计算(重计算大部分层间隐状态和归一化层输入,避免重计算计算密集型操作)+ DualPipe 1F1B 调整
  3. 长上下文上下文并行:两阶段通信解决压缩 KV 跨 rank 边界问题
  4. 张量级激活检查点:基于 TorchFX 追踪计算图,自动推断最小重计算子图

4.6 推理框架

  • 异构 KV Cache 布局
    • 状态缓存(State Cache):SWA + 未压缩尾部 token,预分配固定大小
    • 经典 KV Cache:CSA/HCA 压缩 KV,按 lcm(m,m)\mathrm{lcm}(m, m') 原始 token 为单位分配
  • 磁盘 KV Cache 存储:共享前缀复用,三种策略:
    • 全量 SWA 缓存(零冗余,存储大——仅访问少量缓存导致写密集型访问模式低效)
    • 周期性检查点(每 pp 个 token 检查点一次,可调 trade-off)
    • 零 SWA 缓存(最小存储,需重计算最后 nwinLn_\text{win} \cdot L 个 token 恢复 SWA KV 条目)

五、预训练

5.1 数据构建

  • 在 V3 数据基础上,构建更多样、更高质量的训练语料
  • 过滤批量自动生成和模板内容,避免模型坍缩
  • 数学与编程仍是核心;中期训练加入 agentic 数据
  • 强化长文档数据(科学论文、技术报告)
  • 扩大多语言语料,提升跨文化长尾知识
  • 总计 超过 32T tokens,词表 128K
  • 新增特殊 token 用于上下文构建;采用 sample-level attention masking

5.2 训练配置

配置项符号V4-FlashV4-Pro
层数LL4361
隐藏维度dd40967168
路由专家数-256384
每专家中间维度-20483072
每 token 激活专家-66
mHC 扩展因子nhcn_\text{hc}44
最大 batch size-75.5M tokens94.4M tokens
峰值学习率η\eta2.7×1042.7 \times 10^{-4}2.0×1042.0 \times 10^{-4}
终止学习率-2.7×1052.7 \times 10^{-5}2.0×1052.0 \times 10^{-5}
序列长度阶段-4K → 16K → 64K → 1M4K → 16K → 64K → 1M
AdamW 超参β1,β2,ϵ\beta_1, \beta_2, \epsilon0.9, 0.95, 102010^{-20}0.9, 0.95, 102010^{-20}
AdamW 权重衰减λ\lambda0.10.1
Muon 动量μ\mu0.950.95
Muon 权重衰减-0.10.1
Muon 更新重缩放目标γ\gamma0.180.18
负载均衡偏置更新速率-0.0010.001
平衡损失权重-0.00010.0001
MTP 损失权重-0.3 → 0.10.3 → 0.1
稀疏注意力引入-64K 阶段引入更长 dense 阶段后引入

5.3 训练稳定性

训练万亿参数 MoE 模型面临严重稳定性挑战,V4 发现两个关键技术:

1. 预期路由(Anticipatory Routing)

在步骤 tt,使用当前网络参数 θt\theta_t 计算特征,但路由索引使用历史参数 θtΔt\theta_{t-\Delta t} 计算。为避免加载两份参数的开销,在步骤 tΔtt - \Delta t 提前获取数据并"预期性"计算缓存路由索引。

  • 自动检测 loss spike 触发,正常训练后自动恢复
  • 额外开销约 20%,但动态应用使整体开销可忽略

2. SwiGLU 钳位(SwiGLU Clamping)

Linear: clamp(x,10,10),Gate: min(SiLU(x),10)(—)\text{Linear: } \text{clamp}(x, -10, 10), \qquad \text{Gate: } \min(\text{SiLU}(x), 10) \tag{—}

有效消除离群值,不损害模型性能。

5.4 Base 模型评测亮点

BenchmarkV3.2-BaseV4-Flash-BaseV4-Pro-Base
MMLU-Pro65.568.373.5
SimpleQA28.330.155.2
FACTS Parametric27.133.962.6
MMLU87.888.790.1
C-Eval90.492.193.1
MATH60.557.464.5
HumanEval62.869.576.8
LongBench-V240.244.751.5
BigCodeBench63.956.859.2

V4-Flash-Base 虽参数远小于 V3.2-Base,却在多数 benchmark 上超越之;V4-Pro-Base 在推理和知识任务上全面领先。BigCodeBench 是少数 V3.2-Base 仍领先的指标。


六、后训练

6.1 训练流水线

采用 "先分训专家 → 再统一蒸馏" 的两阶段范式:

Base Model → 各领域 SFT → 各领域 GRPO 强化学习 → 多领域专家模型
                                                          ↓
                                              On-Policy Distillation (OPD)
                                                          ↓
                                                   统一模型

与 V3.2 的关键区别:混合 RL 阶段被 On-Policy Distillation (OPD) 完全替代。

6.2 三种推理模式

模式特点适用场景评测上下文窗口
Non-think快速直觉回答,无思考链日常任务、低风险决策8K
Think High有意识逻辑分析复杂问题、规划128K
Think Max推理推到极限探索模型推理能力边界384K
  • 使用 <![CDATA[<|thinking|>]]>/summary token 分隔思考与回答
  • Think Max 模式在系统提示前注入特殊指令
  • 不同模式通过不同的 RL 长度惩罚和上下文窗口训练获得

6.3 生成式奖励模型(GRM)

  • 摒弃传统标量奖励模型,用生成式奖励模型评估策略轨迹
  • Actor 网络本身即作为 GRM,同时优化评估能力和生成能力
  • RL 优化直接应用于 GRM 本身——Actor 天然具备评判能力
  • 仅需最少多样化人工标注即可获得优异性能

6.4 On-Policy Distillation(OPD)

给定 NN 个专家模型 πE1,πE2,,πEN{\pi_{E_1}, \pi_{E_2}, \ldots, \pi_{E_N}},OPD 目标函数为:

LOPD(θ)=i=1NwiDKL(πθπEi)(29)\mathcal{L}_\text{OPD}(\theta) = \sum_{i=1}^{N} w_i \cdot D_\text{KL}(\pi_\theta | \pi_{E_i}) \tag{29}

其中 wiw_i 为每个专家的权重(由领域重要性决定),DKLD_\text{KL} 为反向 KL 散度。计算反向 KL 需要从学生 πθ\pi_\theta 采样训练轨迹以保持 on-policy 学习——确保统一策略 πθ\pi_\theta 选择性地从当前任务相关的专家学习(如数学推理对齐数学专家,编程对齐编程专家)。

  • 全词表 logit 蒸馏(非 token 级 KL 估计),梯度估计更稳定
    • 先前工作通常将全词表 KL 损失简化为 token 级 KL 估计(用 sg[logπEiπθ(ytx,y<t)]\mathrm{sg}[\log \frac{\pi_{E_i}}{\pi_\theta}(y_t | x, y_{<t})] 作为 per-token 优势估计),但方差大、训练不稳定
    • V4 保留完整 logit 分布,忠实蒸馏教师知识
  • 10+ 个教师模型蒸馏到单一学生模型
  • 教师权重量化到 FP4 离线存储,ZeRO 式分片按需加载
  • 仅缓存教师最后一层隐状态(非全词表 logit),训练时即时通过对应预测头重建 logit
    • 按教师索引排序训练样本,确保每个 mini-batch 内每种教师预测头仅加载一次
  • 用 TileLang 专用内核计算精确 KL 散度

6.5 其他后训练创新

  • 新工具调用 Schema:XML 格式 + |DSML| 特殊 token,减少转义失败和工具调用错误
  • 交错思考(Interleaved Thinking)
    • 工具调用场景:跨所有轮次保留完整推理链(与 V3.2 不同,不再丢弃跨用户消息的思考内容)
    • 普通对话场景:保持原有策略,新用户消息到达时丢弃先前推理内容
  • 快速指令(Quick Instruction):附加特殊 token 复用已有 KV cache,并行执行辅助任务(搜索/意图识别/标题生成等),显著降低 TTFT

6.6 Agent 基础设施

  • DSec(DeepSeek Elastic Compute):生产级沙箱平台
    • 四种执行基底:函数调用 → 容器 → microVM → fullVM(统一 Python SDK libdsec
    • 基于 3FS + EROFS/overlaybd 分层存储的快速镜像加载
    • 支持 10 万+ 并发沙箱实例
    • 全局有序轨迹日志:客户端快进、细粒度溯源、确定性回放
  • 可抢占容错 Rollout 服务:token 粒度 WAL,抢占后可精确恢复(避免长度偏差)
  • 百万 token 上下文 RL 扩展:支持超长上下文的 RL 训练与 OPD 合并

七、评测结果

7.1 知识

BenchmarkOpus-4.6GPT-5.4Gemini-3.1-ProDS-V4-Pro-Max
MMLU-Pro89.187.591.087.5
SimpleQA46.245.375.657.9
Chinese-SimpleQA76.476.885.984.4
GPQA Diamond91.393.094.390.1
HLE40.039.844.437.7

V4-Pro-Max 在开源模型中大幅领先(SimpleQA 超越其他开源 20 个百分点),但与顶尖闭源 Gemini-3.1-Pro 仍有差距。

7.2 推理

BenchmarkOpus-4.6GPT-5.4Gemini-3.1-ProDS-V4-Pro-Max
LiveCodeBench88.8-91.793.5
Codeforces (Rating)-316830523206
HMMT 2026 Feb96.297.794.795.2
Apex Shortlist85.978.189.190.2

V4-Pro-Max 在代码竞赛上首次追平闭源模型(Codeforces 3206 rating,人类选手中排第 23 名),在开源模型中全面领先。

7.3 Agent

BenchmarkOpus-4.6Gemini-3.1-ProDS-V4-Pro-Max
Terminal Bench 2.065.468.567.9
SWE Verified80.880.680.6
MCPAtlas Public73.869.273.6
BrowseComp83.785.983.4

V4-Pro 与开源对手(K2.6、GLM-5.1)持平,略逊于顶尖闭源模型。MCPAtlas 和 Toolathlon 上表现优秀,表明工具泛化能力强。

7.4 百万 Token 上下文

BenchmarkOpus-4.6Gemini-3.1-ProDS-V4-Pro-Max
MRCR 1M (MMR)92.976.383.5
CorpusQA 1M71.753.862.0

V4-Pro 在学术 benchmark 上超越 Gemini-3.1-Pro,但仍落后于 Claude Opus 4.6。128K 内性能极其稳定,128K 以上性能可见衰减但 1M 仍显著强于其他开源模型。

7.5 形式化数学

  • Practical Regime:Putnam-200 Pass@8,V4-Flash-Max 达到 81.00(Seed-1.5-Prover 26.50,Gemini-3-Pro 26.50)
  • Frontier Regime:Putnam-2025,V4 达到 120/120 满分(Axiom 120/120,Seed-1.5-Prover 110/120)

7.6 真实世界任务

  • 中文写作:V4-Pro vs Gemini-3.1-Pro 胜率 62.7% vs 34.1%
  • 白领任务:V4-Pro-Max vs Opus-4.6-Max,63% 非败率
  • 代码 Agent:V4-Pro-Max(67%)超越 Sonnet 4.5(47%),接近 Opus 4.5(70%)

八、关键创新点总结

#创新核心价值
1CSA + HCA 混合注意力百万 token 上下文的计算和存储效率飞跃(FLOPs 降至 27%,KV cache 降至 10%)
2流形约束超连接 mHC双随机矩阵约束残差映射,深层网络数值稳定,开销仅 6.7%
3Muon 优化器首次在万亿参数 MoE 上成功应用,混合 Newton-Schulz 迭代正交化
4MegaMoE 超级内核通信-计算完全重叠,推理加速高达 1.96×1.96\times
5FP4 量化感知训练MoE 专家 + 索引器 QK 双重 FP4 量化,无损 FP4→FP8 反量化
6Anticipatory Routing解耦路由与骨干更新,打破恶性循环,稳定训练
7On-Policy Distillation替代混合 RL,全词表 logit 蒸馏更稳定
8生成式奖励模型 GRMActor 即 Judge,最少标注获得最强评估能力
91M 上下文成为标配从 V3.2 的 128K 跃升到 1M,且效率更高


九、API 与开源信息


附录 A:V4-Pro 与 V4-Flash 详细参数对比

参数符号V4-FlashV4-Pro
Transformer 层数LL4361
隐藏维度dd40967168
前 2 层注意力-纯 SWAHCA
后续层注意力-CSA/HCA 交替CSA/HCA 交替
CSA 压缩率mm44
HCA 压缩率mm'128128
查询头数nhn_h64128
头维度cc512512
查询压缩维度dcd_c10241536
输出投影组数gg816
每组中间维度dgd_g10241024
SWA 窗口nwinn_\text{win}128128
共享专家-11
路由专家-256384
专家中间维度-20483072
每 token 激活专家-66
前 3 层 MoE 路由-Hash 路由Hash 路由
mHC 扩展因子nhcn_\text{hc}44
Sinkhorn 迭代tmaxt_\text{max}2020
总参数-284B1.6T
激活参数-13B49B
训练 tokens-32T33T
峰值学习率η\eta2.7×1042.7 \times 10^{-4}2.0×1042.0 \times 10^{-4}
终止学习率-2.7×1052.7 \times 10^{-5}2.0×1052.0 \times 10^{-5}
MTP 深度-11
词表大小$V$128K128K

附录 B:公式编号与论文对应关系

报告编号论文编号内容
(1)Eq(1)HC 残差状态更新
(2)Eq(2)Birkhoff 多面体定义
(3)-(5)Eq(3)-(5)mHC 动态参数化
(6)-(7)Eq(6)-(7)Sigmoid 约束
(8)Eq(8)Sinkhorn-Knopp 迭代
(9)-(10)Eq(9)-(10)CSA KV 条目与压缩权重
(11)-(12)Eq(11)-(12)CSA 压缩操作
(13)-(14)Eq(13)-(14)索引器查询
(15)Eq(15)索引器权重
(16)Eq(16)索引分数
(17)Eq(17)Top-k 选择
(18)Eq(18)注意力查询
(19)Eq(19)核心 MQA 注意力
(20, 21)Eq(20, 21)HCA KV 条目与权重
(22)-(23)Eq(22)-(23)HCA 压缩操作
(27)Eq(27)Attention Sink
(28)Eq(28)Newton-Schulz 迭代
(29)Eq(29)OPD 目标函数

注:论文 Eq(24)-(26) 为 HCA 的查询生成和 MQA 公式(与 CSA 的 Eq(13)-(14) 和 Eq(18)-(19) 结构类似),报告中未单独列出。


基于 DeepSeek-V4 论文及官方公众号文章整理,论文地址见上方开源信息。