论文链接
:DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
目录
- 一、引言
- 二、模型架构
- (一)多头部潜在注意力(MLA):重塑推理效率
- (二)DeepSeekMoE:经济高效的训练架构
- 三、预训练(Pre-Training):夯实模型基础
- (一)实验设置
- (二)评估
- 四、对齐(Alignment):优化模型表现
- (一)监督微调:提升指令响应能力
- (二)强化学习:契合人类偏好
- 五、结论、局限与展望
一、引言
在大语言模型(LLMs)蓬勃发展的浪潮中,DeepSeek-V2 脱颖而出,成为一款兼具强大性能、高效训练与推理能力的混合专家(MoE)语言模型。它拥有 236B 总参数,在处理每个令牌时仅激活 21B 参数,且支持长达 128K 令牌的上下文长度,为自然语言处理领域带来了新的突破。本文将深入探讨 DeepSeek-V2 的技术细节,包括其创新架构、预训练过程、对齐方法以及性能评估,旨在为技术人员提供全面且深入的技术解读。
二、模型架构
(一)多头部潜在注意力(MLA):重塑推理效率
传统 Transformer 模型中的多头注意力(MHA)机制在生成过程中,因庞大的键值(KV)缓存需求,严重制约了推理效率。为攻克这一难题,DeepSeek-V2 引入了 MLA 机制。
MLA 的核心在于低秩键值联合压缩技术。在推理阶段,通过特定的投影矩阵(如 W D K V W^{DKV} WDKV、 W U K W^{UK} WUK、 W U V W^{UV} WUV)将键值压缩为低维潜在向量 c t K V c_{t}^{KV} ctKV,大幅削减了 KV 缓存。与 MHA 相比,MLA 仅需缓存 c t K V c_{t}^{KV} ctKV 及携带旋转位置嵌入(RoPE)的 k t R k_{t}^{R} ktR,缓存元素数量从 2 n h d h l 2n_{h}d_{h}l 2nhdhl 锐减至 ( d c + d h R ) l (d_{c}+d_{h}^{R})l (dc+dhR)l(在 DeepSeek-V2 中, d c d_{c} dc 设为 4 d h 4d_{h} 4dh, d h R d_{h}^{R} dhR 设为 d h 2 \frac{d_{h}}{2} 2dh,其 KV 缓存仅相当于 2.25 组 GQA,但性能更优)。例如,在实际部署中,这使得 DeepSeek-V2 能够处理更大的批处理规模,显著提升了推理效率。
此外,为解决 RoPE 与低秩 KV 压缩的兼容性问题,MLA 采用了去耦 RoPE 策略。通过引入额外的多头查询
q
t
,
i
R
q_{t,i}^{R}
qt,iR 和共享键
k
t
R
k_{t}^{R}
ktR 来承载 RoPE,确保了在不影响性能的前提下,有效避免了因 RoPE 应用导致的推理效率下降。
(二)DeepSeekMoE:经济高效的训练架构
在 Feed-Forward Networks(FFNs)方面,DeepSeek-V2 采用了 DeepSeekMoE 架构,该架构在专家分割和共享专家设置上进行了创新优化。
其将专家细粒度分割,并隔离部分共享专家,有效提升了专家专业化程度和知识获取的精准性。在计算 FFN 输出时,依据令牌与专家的亲和力 s i , t s_{i,t} si,t,经 top-K 选择和归一化确定门控值 g i , t g_{i,t} gi,t,从而精准激活路由专家,实现高效计算资源分配。与传统 MoE 架构(如 GShard)相比,DeepSeekMoE 在相同的激活和总专家参数条件下,性能优势显著。
为控制专家并行训练中的通信开销和负载均衡,DeepSeek-V2 设计了一系列有效机制。设备限制路由机制确保每个令牌的目标专家最多分布在 M M M 个设备上(实践中 M ≥ 3 M≥3 M≥3 时性能良好),有效降低了 MoE 相关通信成本。同时,通过设计专家级、设备级和通信平衡损失,从多个层面保障了负载平衡,防止路由崩溃和计算效率降低。此外,还引入了设备级令牌丢弃策略,在训练过程中动态丢弃低亲和力令牌,进一步优化计算资源利用,且在推理时可灵活调整,确保训练与推理的一致性。
三、预训练(Pre-Training):夯实模型基础
(一)实验设置
在数据构建方面,DeepSeek-V2 基于与 DeepSeek 67B 相同的数据处理流程,进行了数据量扩充和质量提升。通过挖掘互联网数据潜力、优化清洗流程,增加了大量数据,尤其是中文数据,并采用改进的质量过滤算法,去除不良数据,提升数据质量,同时过滤掉有争议内容,减轻数据偏差。其分词器基于 Byte-level Byte-Pair Encoding(BBPE)算法,词汇表大小为 100K,预处理后的语料包含 8.1T 令牌,其中中文令牌占比约 12%。
模型超参数设置上,DeepSeek-V2 包含 60 层 Transformer 层,隐藏维度为 5120,所有可学习参数采用标准差为 0.006 的随机初始化。在 MLA 中,设置 128 个注意力头,头维度为 128,KV 压缩维度 d c d_{c} dc 为 512,查询压缩维度 d c ′ d_{c}' dc′ 为 1536,去耦查询和键的头维度 d h R d_{h}^{R} dhR 为 64。除第一层外,其余 FFN 均替换为 MoE 层,每个 MoE 层包含 2 个共享专家和 160 个路由专家,专家中间隐藏维度为 1536,每个令牌激活 6 个专家。为确保训练稳定,在压缩潜在向量后添加 RMS Norm 层,并在宽度瓶颈处乘以缩放因子。
训练超参数方面,采用 AdamW 优化器(
β
1
=
0.9
\beta_{1}=0.9
β1=0.9,
β
2
=
0.95
\beta_{2}=0.95
β2=0.95,权重衰减为 0.1),学习率采用 warmup-and-step-decay 策略,最大学习率为
2.4
×
1
0
−
4
2.4×10^{-4}
2.4×10−4,梯度裁剪范数为 1.0,批次大小采用动态调度策略。设置最大序列长度为 4K,在 8.1T 令牌上进行训练,利用流水线并行、专家并行和 ZeRO-1 数据并行技术,结合高效的 HAI-LLM 框架,并对 MLA 基于 FlashAttention-2 进行优化,确保训练高效运行。
在长上下文扩展阶段,运用 YaRN 技术将默认上下文窗口从 4K 扩展至 128K,通过特定设置(如设置尺度 s s s 为 40, α \alpha α 为 1, β \beta β 为 32,调整长度缩放因子等),使模型在长上下文任务中表现出色,在 “Needle In A Haystack”(NIAH)测试中,于 128K 上下文长度下性能稳定。
(二)评估
评估基准涵盖了英语和中文的多学科多选、语言理解与推理、闭卷问答、阅读理解、参考消歧、语言建模、中文理解与文化、数学、代码和标准化考试等广泛领域,确保了对模型性能的全面评估。
与 DeepSeek 67B、Qwen1.5 72B、LLaMA3 70B 和 Mixtral 8x22B 等代表性开源模型对比,DeepSeek-V2 表现卓越。尽管仅激活 21B 参数,但在几乎所有基准测试中均显著优于 DeepSeek 67B,在开源模型中跻身前列。与 Qwen1.5 72B 相比,在多数英语、代码和数学基准测试中优势明显,在中文基准测试中除部分多学科多选任务外也表现不俗;与 Mixtral 8x22B 相比,英语性能相当(除部分常识知识相关任务),在 MMLU 上更优,代码和数学性能相近,中文能力则远超;与 LLaMA3 70B 相比,虽英语基础能力略逊,但代码和数学能力相当,在中文基准测试中优势显著。
在训练和推理效率方面,DeepSeek-V2 优势突出。理论上,因其激活参数少、计算量低,训练成本低于 DeepSeek 67B。实际训练中,在 H800 集群上,训练每万亿令牌,DeepSeek 67B 需 300.6K GPU 小时,而 DeepSeek-V2 仅需 172.8K GPU 小时,节省 42.5%成本。在推理阶段,通过参数转换为 FP8 精度及 KV 缓存量化,其 KV 缓存大幅减少,在单节点 8 个 H800 GPU 上,生成吞吐量超 50K 令牌/秒,是 DeepSeek 67B 的 5.76 倍,提示输入吞吐量也超 100K 令牌/秒。
四、对齐(Alignment):优化模型表现
(一)监督微调:提升指令响应能力
基于前期研究,DeepSeek-V2 构建了包含 1.5M 实例(1.2M 有益性实例和 0.3M 安全性实例)的指令调整数据集,通过提升数据质量有效减少幻觉响应并增强写作能力。采用 2 个 epoch 进行微调,学习率设为 5 × 1 0 − 6 5×10^{-6} 5×10−6,评估涵盖生成式基准测试和部分多选任务,并引入 IFEval 进行指令跟随评估,以及使用 LiveCodeBench 特定时间段问题评估聊天模型,同时在多个开放端对话基准测试中与其他模型对比,展现出良好性能。
(二)强化学习:契合人类偏好
采用 Group Relative Policy Optimization(GRPO)算法进行强化学习,该算法摒弃传统等大的评论家模型,基于组分数估计基线,有效降低训练成本。具体而言,对于每个问题
q
q
q,GRPO 从旧策略
π
θ
o
l
d
\pi_{\theta_{old}}
πθold中采样一组输出
{
o
1
,
o
2
,
⋯
,
o
G
}
\{o_{1}, o_{2}, \cdots, o_{G}\}
{o1,o2,⋯,oG},然后通过最大化以下目标来优化策略模型
π
θ
\pi_{\theta}
πθ:
J
G
R
P
O
(
θ
)
=
E
[
q
∼
P
(
Q
)
,
{
o
i
}
i
=
1
G
∼
π
θ
o
l
d
(
O
∣
q
)
]
1
G
∑
i
=
1
G
(
min
(
π
θ
(
o
i
∣
q
)
π
θ
o
l
d
(
o
i
∣
q
)
A
i
,
clip
(
π
θ
(
o
i
∣
q
)
π
θ
o
l
d
(
o
i
∣
q
)
,
1
−
ε
,
1
+
ε
)
A
i
)
−
β
D
K
L
(
π
θ
∥
π
r
e
f
)
)
\begin{aligned} \mathcal{J}_{GRPO}(\theta) &=\mathbb{E}\left[q \sim P(Q),\left\{o_{i}\right\}_{i = 1}^{G} \sim \pi_{\theta_{old}}(O|q)\right] \\ &\frac{1}{G}\sum_{i = 1}^{G}\left(\min\left(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old}}(o_{i}|q)}A_{i}, \text{clip}\left(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old}}(o_{i}|q)}, 1-\varepsilon, 1+\varepsilon\right)A_{i}\right)-\beta\mathbb{D}_{KL}(\pi_{\theta}\|\pi_{ref})\right) \end{aligned}
JGRPO(θ)=E[q∼P(Q),{oi}i=1G∼πθold(O∣q)]G1i=1∑G(min(πθold(oi∣q)πθ(oi∣q)Ai,clip(πθold(oi∣q)πθ(oi∣q),1−ε,1+ε)Ai)−βDKL(πθ∥πref))
D
K
L
(
π
θ
∥
π
r
e
f
)
=
π
r
e
f
(
o
i
∣
q
)
π
θ
(
o
i
∣
q
)
−
log
π
r
e
f
(
o
i
∣
q
)
π
θ
(
o
i
∣
q
)
−
1
\mathbb{D}_{KL}(\pi_{\theta}\|\pi_{ref})=\frac{\pi_{ref}(o_{i}|q)}{\pi_{\theta}(o_{i}|q)}-\log\frac{\pi_{ref}(o_{i}|q)}{\pi_{\theta}(o_{i}|q)}-1
DKL(πθ∥πref)=πθ(oi∣q)πref(oi∣q)−logπθ(oi∣q)πref(oi∣q)−1
其中
ε
\varepsilon
ε和
β
\beta
β是超参数;
A
i
A_{i}
Ai是优势,通过与每组内输出相对应的一组奖励
{
r
1
,
r
2
,
⋯
,
r
G
}
\{r_{1}, r_{2}, \cdots, r_{G}\}
{r1,r2,⋯,rG}计算得出:
A
i
=
r
i
−
mean
(
{
r
1
,
r
2
,
⋯
,
r
G
}
)
std
(
{
r
1
,
r
2
,
⋯
,
r
G
}
)
A_{i}=\frac{r_{i}-\text{mean}(\{r_{1}, r_{2}, \cdots, r_{G}\})}{\text{std}(\{r_{1}, r_{2}, \cdots, r_{G}\})}
Ai=std({r1,r2,⋯,rG})ri−mean({r1,r2,⋯,rG})
训练过程采用两阶段策略,先进行推理对齐(针对代码和数学推理任务训练奖励模型并优化策略模型),再进行人类偏好对齐(采用多奖励框架融合不同奖励模型反馈)。为获取可靠奖励模型,精心收集偏好数据并严格过滤和调整比例,同时通过多种工程优化(如设计混合引擎、利用 vLLM 加速推理、优化模型卸载和加载策略)提升训练效率,使模型在数学和代码任务性能上进一步提升,在开放端对话生成中表现更优,在不同语言和领域的基准测试中展现出较强竞争力。
五、结论、局限与展望
DeepSeek-V2 凭借 MLA 和 DeepSeekMoE 等创新架构,在性能、训练和推理效率上取得显著成果,成为开源 MoE 语言模型的佼佼者。然而,它也面临着与其他 LLM 类似的局限,如预训练后知识更新困难、可能生成不实信息和幻觉,且因数据主要集中于中英文,在其他语言上表现受限。
未来,DeepSeek 将持续投入开源大模型研发,致力于在保持经济成本的同时进一步扩大 MoE 模型规模,提升性能以追赶 GPT-4;不断优化对齐技术,打造更安全、可靠且契合人类价值观的模型;探索多模态支持,拓展模型应用场景,为人工智能发展注入新动力。