当前位置: 首页 > article >正文

DeepSeek-V2 论文解读:混合专家架构的新突破

在这里插入图片描述

论文链接: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 M3 时性能良好),有效降低了 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×104,梯度裁剪范数为 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×106,评估涵盖生成式基准测试和部分多选任务,并引入 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[qP(Q),{oi}i=1Gπθold(Oq)]G1i=1G(min(πθold(oiq)πθ(oiq)Ai,clip(πθold(oiq)πθ(oiq),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)=πθ(oiq)πref(oiq)logπθ(oiq)πref(oiq)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})rimean({r1,r2,,rG})

训练过程采用两阶段策略,先进行推理对齐(针对代码和数学推理任务训练奖励模型并优化策略模型),再进行人类偏好对齐(采用多奖励框架融合不同奖励模型反馈)。为获取可靠奖励模型,精心收集偏好数据并严格过滤和调整比例,同时通过多种工程优化(如设计混合引擎、利用 vLLM 加速推理、优化模型卸载和加载策略)提升训练效率,使模型在数学和代码任务性能上进一步提升,在开放端对话生成中表现更优,在不同语言和领域的基准测试中展现出较强竞争力。

五、结论、局限与展望

DeepSeek-V2 凭借 MLA 和 DeepSeekMoE 等创新架构,在性能、训练和推理效率上取得显著成果,成为开源 MoE 语言模型的佼佼者。然而,它也面临着与其他 LLM 类似的局限,如预训练后知识更新困难、可能生成不实信息和幻觉,且因数据主要集中于中英文,在其他语言上表现受限。

未来,DeepSeek 将持续投入开源大模型研发,致力于在保持经济成本的同时进一步扩大 MoE 模型规模,提升性能以追赶 GPT-4;不断优化对齐技术,打造更安全、可靠且契合人类价值观的模型;探索多模态支持,拓展模型应用场景,为人工智能发展注入新动力。


http://www.kler.cn/a/542993.html

相关文章:

  • 蓝桥杯试题:归并排序
  • 从零开始手写Shell:详解命令行解释器的实现原理
  • 时间序列分析(三)——白噪声检验
  • 3.6 学习UVM中的uvm_sequencer类分为几步?
  • centos7 升级openssl并安装python3
  • 8.大规模推荐系统的实现
  • 青少年编程与数学 02-009 Django 5 Web 编程 07课题、数据迁移
  • 从零构建高可用MySQL集群:Percona XtraDB Cluster 实战部署
  • 《qt open3d中添加最远点采样》
  • STM32 如何将printf函数和串口函数重定向
  • Redis主从复制高延迟问题解决思路
  • 【Elasticsearch】Bucket Selector Aggregation
  • 微信小程序的behaviors和vuex功能对比
  • 如何在Java中使用JUnit进行单元测试
  • 19.1.2 DML
  • Ubuntu22.04 配置deepseek知识库
  • 【Linux】修改语言编码
  • 通过命令行运行py文件与通过ide运行py文件,对文件中模块的引用方式的影响
  • Vue3.5 企业级管理系统实战(六):Vue3中defineProps用法
  • C# ASP.NET核心特性介绍
  • Java基础知识(七) -- 集合
  • 初学springboot注解
  • 【计算机网络】TCP/IP 网络模型有哪几层?
  • UI-设计规范大小总结
  • 4G/5G路由器链路检查作业指导
  • 14.1 AutoGPT 项目深度解析:为什么它能掀起自主智能体开发革命?