DeepSeek V2 —— 强大、经济又高效的 MoE 进阶版

356 阅读17分钟

DeepSeek V2 —— 强大、经济又高效的 MoE 进阶版

image.png

简介
论文《DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model》于 2024 年 5 月问世。引入了 MLA(低秩 key-value 联合压缩),在推理时将 KV 缓存“缩水”到极致,同时沿用 DeepSeekMoE 的妙招,让模型训练既省钱又省力。

摘要
DeepSeek-V2 搭载 236B 总参数,每个 token 激活 21B 参数,支持高达 128K 的上下文长度。得益于 MLA(多头潜注意力) 和稀疏计算,DeepSeek-V2 在性能上大幅提升——不仅比 DeepSeek 67B 更强,同时节省了 42.5% 的训练成本,KV 缓存减少 93.3%,最大生成吞吐量直接飙升到 5.76 倍!就算只有 21B 的激活参数,这位“小鲜肉”依然在开源模型中抢尽风头。 image.png

  • DeepSeek LLM 复用 LLama 模型架构
  • DeepSeek MoE 引入了细粒度专家分割和共享专家隔离策略,目标是让每位“专家”都能大展身手,而计算成本却丝毫不增(升级了 FFN)
  • DeepSeek V2 引入了 MLA(低秩 key-value 联合压缩),在推理时将 KV 缓存“缩水”到极致,同时沿用 DeepSeekMoE 的妙招,让模型训练既省钱又省力(升级了 FFN + Attention)

结论
除了性能强劲,DeepSeek-V2 的经济性和高效推理能力也让它成为目前开源 MoE 模型中的“最强选手”。当然,预训练后的数据更新问题、生成幻觉等小瑕疵仍需注意,但整体来看,它已经离通用人工智能的理想目标不远了。接下来,DeepSeek 团队还计划让模型支持多模态,让“聊天机器人”真正“会看会听会说”

同系列

论文详情如下:

【1. 引言】

在过去几年中,大型语言模型(LLMs)(Anthropic, 2023;Google, 2023;OpenAI, 2022, 2023)发展迅速,让我们得以窥见人工通用智能(AGI)的曙光。一般来说,随着参数数量的增加,LLM 的智能水平也会相应提升,从而在各类任务上展现出突现能力(Wei et al., 2022)。然而,这种提升需要消耗更多的训练计算资源,同时可能会降低推理吞吐量。这些限制对 LLMs 的广泛采用和利用构成了重大挑战。为了解决这一问题,我们提出了 DeepSeek-V2——一个强大的开源专家混合(MoE)语言模型,其特点在于训练成本经济且推理高效。该模型总参数量达到 2360 亿,其中每个 token 激活 210 亿参数,并支持 128K token 的上下文长度。

DeepSeek-V2 在 Transformer 架构(Vaswani et al., 2017)的基础上,对注意力模块前馈网络(FFN) 进行了优化,分别采用了我们提出的多头潜在注意力(MLA)和 DeepSeekMoE。针对注意力机制中的键值(KV)缓存问题——这一问题在生成过程中会成为推理效率的瓶颈——我们引入了低秩键值联合压缩的 MLA,它在保证优异性能的同时,大幅减少了 KV 缓存;而在前馈网络方面,我们采用了 DeepSeekMoE 架构(Dai et al., 2024),通过精细划分专家和共享专家隔离,既提高了专家的专业化水平,也有效降低了训练成本。通过这两项技术的结合,DeepSeek-V2 同时具备卓越的性能、经济的训练成本和高效的推理吞吐量。

【2. 架构】

总体来说,DeepSeek-V2 仍然基于 Transformer 架构(Vaswani et al., 2017),每个 Transformer 块由一个注意力模块和一个前馈网络(FFN)组成。然而,对于注意力模块和 FFN,我们都设计并采用了创新的架构。在注意力方面,我们设计了多头潜在注意力(MLA),通过利用低秩键值联合压缩来消除推理时键值缓存的瓶颈,从而支持高效推理;而在前馈网络方面,我们采用了 DeepSeekMoE 架构(Dai et al., 2024),这是一种高性能的 MoE 架构,能够以经济的成本训练出强大的模型。图 2 展示了 DeepSeek-V2 架构的示意图,接下来我们将详细介绍 MLA 和 DeepSeekMoE 的细节。对于其他细微部分(如层归一化及 FFN 中的激活函数),除非另有说明,DeepSeek-V2 均沿用了 DeepSeek 67B(DeepSeek-AI, 2024)的设置。

image.png

【2.1 多头潜在注意力:提升推理效率】

传统的 Transformer 模型通常采用多头注意力(MHA)(Vaswani et al., 2017),但在生成过程中,其庞大的键值(KV)缓存会成为限制推理效率的瓶颈。为了解决这一问题,先后提出了多查询注意力(MQA)(Shazeer, 2019)和分组查询注意力(GQA)(Ainslie et al., 2023)。虽然这两种方法能够显著减少 KV 缓存的规模,但其性能却不及标准的 MHA(我们在附录 D.1 中提供了 MHA、GQA 与 MQA 的消融实验)。

针对 DeepSeek-V2,我们设计了一种创新的注意力机制,称为多头潜在注意力(MLA)。MLA 装备了低秩键值联合压缩技术,在性能上优于 MHA的同时,其所需的 KV 缓存量也显著减少。接下来,我们将详细介绍 MLA 的架构,并在附录 D.2 中提供 MLA 与 MHA 的比较 2.1.1 预备知识:标准多头注意力】

我们首先介绍标准的多头注意力(MHA)机制作为背景知识。设 d 为嵌入维度,nₕ 为注意力头的数量,dₕ 为每个头的维度,且 hₜ ∈ ℝᵈ 表示某一注意力层中第 t 个 token 的输入。标准的多头注意力首先通过三个矩阵 W_Q、W_K 和 W_V(均属于 ℝ^(dₕ·nₕ × d))分别生成 qₜ、kₜ、vₜ ∈ ℝ^(dₕ·nₕ):

image.png

随后,将 qₜ、kₜ、vₜ 切分成 nₕ 个头,以进行多头注意力计算:

对于每个注意力头,计算公式为:

image.png 然后将所有头的输出拼接,并通过输出投影矩阵 W_O ∈ ℝ^(d × dₕ·nₕ) 得到最终输出:

【2.1.2 低秩键值联合压缩】

MLA 的核心在于对键和值进行低秩联合压缩,从而减少 KV 缓存的需求。具体来说,我们首先计算出键和值的压缩潜在向量 ckvc^{kv}_{ₜ}

image.png

其中,cvc^{ₖᵥ}_ₜ ∈ ℝ^(d_c) 是针对键和值的压缩潜在向量,d_c(远小于 dₕ·nₕ)表示 KV 压缩维度,WdKVW_{dKV} ∈ ℝ^(d_c × d) 为下投影矩阵。接着,通过上投影矩阵分别生成压缩后的键和值

其中,WUKW^{UK}WUVW^{UV} 均属于 ℝ^(dₕ·nₕ × d_c) 分别对应键和值的上投影矩阵。在推理过程中,MLA 只需要缓存 cvc^{ₖᵥ}_ₜ,因此其 KV 缓存大小仅为 d_c × l 个元素(l 为层数)。此外,在推理时,由于 WUKW^{UK} 可以被吸收到 WQW^Q 中,而 WUvW^{Uv} 可以被吸收到 W_O 中,因此实际上无需单独计算键和值

image.png

【2.1.3 解耦旋转位置嵌入】

遵循 DeepSeek 67B(DeepSeek-AI, 2024)的做法,我们计划在 DeepSeek-V2 中使用旋转位置嵌入(RoPE)(Su et al., 2024)。然而,RoPE 与低秩 KV 压缩不兼容。具体而言,RoPE 对键和值都是位置敏感的;如果对键 k_Cₜ 应用 RoPE,那么公式 (10) 中的 W_Uₖ 将与一个位置敏感的 RoPE 矩阵耦合在一起。这样一来,W_Uₖ 就无法再吸收到 W_Q 中,因为在生成过程中与当前 token 相关的 RoPE 矩阵会介入,而矩阵乘法不满足交换律。结果便是,我们必须在推理时对所有前缀 token 重新计算键,这将极大地影响推理效率。

为此,我们提出了解耦 RoPE 策略:使用额外的多头查询 q_Rₜ,ᵢ ∈ ℝ^(d_Rₕ) 和共享键 k_Rₜ ∈ ℝ^(d_Rₕ) 来携带 RoPE 信息,其中 d_Rₕ 表示解耦查询和键的每头维度。采用解耦 RoPE 策略后,MLA 的计算过程如下:

image.png

【2.1.4 键值缓存比较】

我们在表 1 中展示了不同注意力机制下每个 token 所需键值(KV)缓存的比较。MLA 所需的 KV 缓存量仅为 (d_c + d_Rₕ) × l 个元素,其中 l 为层数;这一数量相当于仅使用 2.25 个组的 GQA,但其性能却优于标准的 MHA。

image.png

表 1 | 不同注意力机制下每个 token 的 KV 缓存比较。其中 nₕ 表示注意力头数量,dₕ 表示每个注意力头的维度,l 表示层数,n_g 表示 GQA 中的组数,d_c 和 d_Rₕ 分别表示 MLA 中的 KV 压缩维度和解耦查询及键的每头维度。KV 缓存量以元素个数计算,不考虑存储精度。对于 DeepSeek-V2,d_c 设为 4dₕ,d_Rₕ 设为 dₕ/2,因此其 KV 缓存量相当于仅有 2.25 个组的 GQA,但性能却比 MHA 更强

【2.2 DeepSeekMoE:以经济成本训练强大模型】

【2.2.1 基本架构】

对于前馈网络(FFN),我们采用了 DeepSeekMoE 架构(Dai et al., 2024)。DeepSeekMoE 的两大关键思想在于:一是将专家划分得更为精细,从而提升专家的专业化水平和知识获取的精确度;二是对部分专家进行共享隔离,以缓解路由专家之间的知识冗余。在激活参数数量和总专家参数数量相同的前提下,DeepSeekMoE 能够大幅领先于诸如 GShard(Lepikhin et al., 2021)等传统的 MoE 架构。

设 uₜ 为 FFN 的输入,对于第 t 个 token,FFN 的输出 h′ₜ 计算如下:

image.png 其中,Nₛ 与 Nᵣ 分别表示共享专家和路由专家的数量;FFN^(s)₍ᵢ₎ (·) 与 FFN^(r)₍ᵢ₎ (·) 分别代表第 i 个共享专家和第 i 个路由专家;Kᵣ 表示为每个 token 激活的路由专家数量;gᵢ,ₜ 为第 i 个专家的门控值,其计算方式如上

其中,sᵢ,ₜ 表示 token 与第 i 个路由专家之间的亲和度,eᵢ 为该层中第 i 个路由专家的质心。Topk(·, K) 表示从所有路由专家的亲和度得分中选取 K 个最高分对应的专家集合

【2.2.2 设备受限路由】

为约束 MoE 相关的通信成本,我们设计了设备受限路由机制。当采用专家并行时,路由专家将分布在多个设备上。对于每个 token,其 MoE 相关的通信频率与其目标专家所在设备的数量成正比。由于 DeepSeekMoE 采用了精细的专家划分,每个 token 激活的专家数量可能较多,因此直接应用专家并行会导致较高的通信成本。

针对 DeepSeek-V2,我们在采用简单的 top-K 路由选择之外,还确保每个 token 的目标专家仅分布在最多 M 个设备上。具体来说,对于每个 token,我们首先选择在专家亲和度得分中排名最高的 M 个设备,然后在这 M 个设备内对专家进行 top-K 选择。实践中我们发现,当 M ≥ 3 时,设备受限路由能够获得与不受限制的 top-K 路由大致相当的性能。

【2.2.3 负载均衡辅助损失】

在自动学习路由策略时,我们考虑到了负载均衡问题。首先,负载不均可能导致路由崩溃(Shazeer et al., 2017),使得部分专家无法得到充分训练与利用;其次,当采用专家并行时,负载不均也会降低计算效率。在 DeepSeek-V2 的训练过程中,我们设计了三种辅助损失,用以分别控制专家层面的负载均衡(L_ExpBal)、设备层面的负载均衡(L_DevBal)以及通信层面的平衡(L_CommBal)。

【专家层面平衡损失】
我们使用专家层面的平衡损失(Fedus et al., 2021;Lepikhin et al., 2021)来缓解路由崩溃的风险,其定义为:

image.png

【通信平衡损失】
尽管设备受限路由保证了每个设备的发送通信数量上限,但若某个设备接收的 token 数量明显多于其他设备,也会影响实际的通信效率

【 2.2.4 Token丢弃策略】

尽管负载均衡辅助损失旨在鼓励均衡负载,但它们无法严格保证负载平衡。为进一步减少由负载不均引起的计算资源浪费,我们在训练过程中引入了设备级 Token 丢弃策略。该策略首先计算每个设备的平均计算预算,即将每个设备的容量因子设定为 1.0;然后,受 Riquelme et al. (2021) 的启发,在每个设备上丢弃亲和度分数最低的 token,直至达到该设备的计算预算。此外,我们确保大约 10% 的训练序列中的 token 永远不会被丢弃。如此一来,我们便可以根据效率要求灵活决定在推理阶段是否丢弃 token,同时保证训练与推理的一致性

3 实验不在累述

【4.对齐】

【4.1 监督微调】

基于我们之前的工作(DeepSeek-AI, 2024),我们整理了包含 1.5M 实例的指令调优数据集,其中 1.2M 实例用于有用性训练,0.3M 实例用于安全性训练。与初始版本相比,我们提升了数据质量以减少幻觉现象并增强写作能力。我们对 DeepSeek-V2 进行了 2 个周期的微调,学习率设为 5×10⁻⁶。在 DeepSeek-V2 Chat(SFT)的评估中,我们主要采用生成型评测基准,除了一些代表性的多选任务(如 MMLU 和 ARC)。我们还利用提示级宽松准确率对 DeepSeek-V2 Chat(SFT)进行了指令遵循评估(IFEval)(Zhou et al., 2023),并使用 2023 年 9 月 1 日至 2024 年 4 月 1 日期间的 LiveCodeBench(Jain et al., 2024)问题对聊天模型进行了评测。除标准基准外,我们还在开放式对话评测中评估了模型,包括 MT-Bench(Zheng et al., 2023)、AlpacaEval 2.0(Dubois et al., 2024)和 AlignBench(Liu et al., 2023)。为了便于对比,我们在相同评测框架和设置下,还对 Qwen1.5 72B Chat、LLaMA-3-70B Instruct 以及 Mistral-8x22B Instruct 进行了评估。对于 DeepSeek 67B Chat,我们直接引用了之前版本的评测结果

【4.2 强化学习】

为了进一步激发 DeepSeek-V2 的潜力并使其更符合人类偏好,我们采用强化学习(RL)对模型进行偏好调整。

强化学习算法。为节省 RL 训练成本,我们采用了 Group Relative Policy Optimization(GRPO)(Shao et al., 2024),该方法省去了通常需要与策略模型同等规模的 critic 模型,而是从分组分数中估计基线。具体来说,对于每个问题 q,GRPO 从旧策略 πₒₗd 中采样一组输出 {o₁, o₂, …, o_G},并优化策略模型 π_θ

【4.3 评估结果】

在标准评测基准上,DeepSeek-V2 Chat(SFT)与 DeepSeek-V2 Chat(RL)均表现出显著进步。值得注意的是,DeepSeek-V2 Chat(SFT)在 GSM8K、MATH 以及 HumanEval 评测中较基础版本有大幅提升,这主要归功于我们引入了大量数学和代码相关的 SFT 数据;同时,DeepSeek-V2 Chat(RL)在数学和代码评测上进一步提升了表现。更多关于代码和数学评测的详细结果见附录 F。

在与其他模型的对比中,我们首先比较了 DeepSeek-V2 Chat(SFT)与 Qwen1.5 72B Chat,发现前者在绝大多数与英文、数学和代码相关的评测上均表现优异,而在中文多学科多选任务上 Qwen1.5 72B 略胜一筹,但整体差距不大。与最先进的开源 MoE 模型 Mixtral 8x22B Instruct 相比,DeepSeek-V2 Chat(SFT)在大多数评测上表现相当或更优,仅在 NaturalQuestions 和 IFEval 上略逊一筹;而与 LLaMA3 70B Chat 相比,DeepSeek-V2 Chat(SFT)在代码和数学任务上表现相近,虽然 LLaMA3 70B Chat 在 MMLU 和 IFEval 上略胜一筹,但 DeepSeek-V2 Chat(SFT)在中文任务上展现出明显优势。最终,DeepSeek-V2 Chat(RL)在数学和代码任务上较 DeepSeek-V2 Chat(SFT)进一步提升了表现。这些对比充分展示了 DeepSeek-V2 Chat 在各领域及语种上的卓越能力。

在开放式生成任务上,我们进一步评估了模型的表现。对于英文开放式对话生成,我们采用 MT-Bench 与 AlpacaEval 2.0 作为评测基准。表 4 的结果显示,DeepSeek-V2 Chat(RL)在这两个基准上均明显优于 DeepSeek-V2 Chat(SFT),验证了 RL 训练在对齐方面的有效性。与其他开源模型相比,DeepSeek-V2 Chat(RL)在这两个基准上均优于 Mistral 8x22B Instruct 和 Qwen1.5 72B Chat;而与 LLaMA3 70B Instruct 相比,DeepSeek-V2 Chat(RL)在 MT-Bench 上竞争激烈,并在 AlpacaEval 2.0 上明显超越了 LLaMA3 70B Chat。这些结果凸显了 DeepSeek-V2 Chat(RL)在生成高质量、上下文相关回答方面的强大性能,尤其在指令驱动的对话任务中表现尤为出色。

此外,我们基于 AlignBench 对中文开放式生成能力进行了评估。如表 5 所示,DeepSeek-V2 Chat(RL)在该评测中略优于 DeepSeek-V2 Chat(SFT);值得注意的是,DeepSeek-V2 Chat(SFT)在中文任务上显著超越所有开源中文模型,甚至领先于排名第二的 Qwen1.5

image.png

【4.4 讨论】

在本节中,我们对 DeepSeek-V2 的整体表现进行了讨论。我们分析了模型在多种任务中的优劣势,探讨了在英汉双语环境下不同任务的表现差异,以及 MoE 架构在通信和负载均衡方面带来的挑战。同时,我们指出了模型在部分基础英文任务上存在的不足,并讨论了可能的改进方向,以期在未来进一步优化模型性能和应用效率。

【5. 结论、局限性及未来工作】

本文提出了 DeepSeek-V2,一款兼具强大性能、经济训练成本与高效推理能力的专家混合语言模型。实验结果表明,尽管每个 token 仅激活 210 亿参数,DeepSeek-V2 仍在多个评测基准上取得了顶尖表现,同时在训练和推理效率上表现出明显优势。然而,我们也认识到该模型存在一些局限性:例如在某些基础英文能力上与最先进模型仍有差距,以及 MoE 架构引入的通信和负载均衡问题。未来工作将集中在进一步提升基础能力、优化通信策略和探索更多实际应用场景上。

同系列