深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化

文章目录

  • 一、前言
  • 二、主要内容
  • 三、总结

CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

在大语言模型时代,混合专家模型(MoE)是一种很有前途的架构,用于在扩展模型参数时管理计算成本。然而,传统的 MoE 架构(如 GShard)会激活 N 位专家中的 top-K 专家,但在确保专家专业化(即每位专家获取的知识不重叠且重点突出)方面面临挑战。作为回应,研究者提出了 DeepSeekMoE 架构,以实现终极的专家专业化。它涉及两个主要战略:

  • 将专家细分为 m N mN mN 个,并从中激活 m K mK mK 个,使激活的专家组合更加灵活;
  • K s K_{s} Ks 专家隔离为共享专家,旨在捕获共同知识并减少路由专家中的冗余。

从 2B 参数的适度规模开始,研究者证明 DeepSeekMoE 2B 的性能可与 GShard 2.9B 相媲美,后者的专家参数和计算量为 GShard 2.9B 的 1.5 倍。此外,在参数总数相同的情况下,DeepSeekMoE 2B 的性能几乎接近其密集型对应模型,这为 MoE 模型设定了上限。随后,研究者将 DeepSeekMoE 扩展到 16B 参数,结果表明其性能与 LLaMA2 7B 相当,计算量仅为 LLaMA2 7B 的 40%。此外,研究者将 DeepSeekMoE 的参数扩展到 145B 的初步尝试,不断验证了其相对于 GShard 架构的巨大优势,并显示其性能可与 DeepSeek 67B 相媲美,只需 28.5%(甚至可能是 18.2%)的计算量。

多重发布。模型、代码、论文均已同步发布:

  • 模型下载:https://huggingface.co/deepseek-ai
  • 微调代码:https://github.com/deepseek-ai/DeepSeek-MoE
  • 技术报告:https://github.com/deepseek-ai/DeepSeek-MoE/blob/main/DeepSeekMoE.pdf

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第1张图片


二、主要内容

这篇论文试图解决什么问题?

这篇论文旨在解决大语言模型(LLMs)在扩展参数规模时所面临的计算成本问题。具体而言,它提出了一种名为 DeepSeekMoE 的新型 Mixture-of-Experts(MoE)架构,以实现专家的终极专业化。

MoE 架构通过将模型分解为多个专家,每个专家专注于特定任务,从而在保持参数规模的同时降低计算成本。然而,现有的 MoE 架构在确保专家专业化方面面临挑战,即每个专家获取的知识应该是不重叠且专注的。DeepSeekMoE 通过以下两个主要策略来解决这一问题:

  • 细粒度划分专家:通过将专家划分为更小的单元,更灵活地激活专家组合,从而实现更精细的知识分解和专业化。
  • 共享专家隔离化:将部分专家设定为共享专家,它们始终处于激活状态,用以捕获和整合不同上下文中的共同知识,从而降低其他路由专家中的参数冗余。

在这项研究中,通过实验验证了 DeepSeekMoE 在不同规模(2B、16B 和 145B 参数)上的性能。与此同时,研究者将其性能与现有的 MoE 模型(如 GShard)和密集模型(如 Dense×16)进行了比较。结果表明,DeepSeekMoE 在保持计算效率的同时,能够实现接近甚至超越现有模型的性能水平。

有哪些相关研究?

相关研究主要集中在以下几个方面:

  • Mixture-of-Experts(MoE)架构:MoE 是一种用于处理不同样本的独立专家模块的技术,最早由 Jacobs 等人(1991 年)提出。在自然语言处理(NLP)领域,Shazeer 等人(2017 年)引入了 MoE 到语言模型训练中,并构建了基于 LSTM 的大规模 MoE 模型。
  • Transformer 语言模型的 MoE 扩展:随着 Transformer 成为 NLP 中最流行的架构,许多研究尝试将 Transformer 中的前馈网络(FFN)替换为 MoE 层来构建 MoE 语言模型。例如,GShard(Lepikhin 等人,2021 年)和 Switch Transformer(Fedus 等人,2021 年)使用可学习的 top-2 或 top-1 路由策略来扩展 MoE 语言模型。而 Hash Layer(Roller 等人,2021年)和 StableMoE(Dai 等人,2022 年)则采用固定路由策略以实现更稳定的路由和训练。
  • MoE 训练策略和挑战:Zoph(2022)关注了 MoE 模型在训练过程中出现的不稳定性和微调困难,并提出了 ST-MoE 来应对这些挑战。此外,还有一些研究如 Flan-MoE(Shen 等人,2023)专注于使用稀疏 MoE 扩展指令微调语言模型。
  • 大规模语言或多模态模型:近年来,基于现有 MoE 架构涌现出许多大规模语言或多模态模型,例如 Falcon-40B(Almazrouei 等人,2023)、GPT-Neo(Black 等人,2021)和 BLOOM(Scao 等人,2022)。
  • 专家专业化:DeepSeekMoE 架构旨在通过细粒度分割专家和隔离共享专家来提高专业化水平。相较于现有基于 top-1 或 top-2 路由策略的 MoE 模型,该架构提供了改进专家专业化的新途径。

这些研究为 DeepSeekMoE 提供了理论基础和实践经验。DeepSeekMoE 在这些研究的基础上,通过创新的架构设计,旨在实现更高水平的专家专业化和性能。

这项研究如何解决这个问题?

论文提出了 DeepSeekMoE 架构,旨在解决当前 Mixture-of-Experts(MoE)模型在专家专业化方面所面临的挑战。DeepSeekMoE 采用了两个主要策略来提高专家的专业化程度:

  • 精细分割专家(Fine-Grained Expert Segmentation):

    1. 该策略将专家划分为更小的单元,通过减少 FFN(Feed-Forward Network)中间隐藏层的维度,同时保持参数数量不变。
    2. 同时增加激活的专家数量,以保持相同的计算成本,从而允许更灵活和适应性的激活专家组合。
    3. 这种分割策略允许更精细地分解和学习不同专家的多样化知识,使每个专家能够保留更高的专业化水平。
  • 隔离共享专家(Shared Expert Isolation):

    1. 该策略将一部分专家隔离为共享专家,这些专家始终被激活,旨在捕获和整合不同上下文中的共同知识。
    2. 通过将共同知识压缩到这些共享专家中,减轻其他路由专家之间的参数冗余,提高参数效率,并确保每个路由专家能够专注于独特方面。

通过这两个策略,DeepSeekMoE 的目标是训练一个参数高效的 MoE 语言模型,其中每个专家都高度专业化。论文首先从 2B 参数规模开始验证 DeepSeekMoE 架构的优势,并在后续实验中将模型参数扩展到 16B 和 145B,展示了与现有的 MoE 模型(例如 GShard)和密集模型(例如 Dense×16)相比显著的性能提升,同时保持较低的计算成本。

DeepSeekMoE 模型效果领人印象深刻:

  • DeepSeekMoE 2B 可接近 MoE 模型的理论上限 2B Dense 模型性能(即相同 Attention / {/} /FFN 参数配比的 2B Dense 模型),仅用了17.5% 计算量。
  • DeepSeekMoE 16B 性能比肩 LLaMA2 7B 的同时,仅用了 40% 计算量(如下图),也是本次主力开源模型,40G 显存可单卡部署。
  • DeepSeekMoE 145B 上的早期实验进一步证明该 MoE 架构明显领先于 Google 的 MoE 架构 GShard,仅用 28.5%(甚至 18.2%)计算量即可匹配 67B Dense 模型的性能。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第2张图片

  • 不同激活参数量的模型(横轴)
  • 在 Open LLM Leaderboard 上的效果(纵轴)

开源 MoE 模型表现

在相同语料下训练了 2 万亿 tokens,DeepSeekMoE 16B 模型(实际激活参数量为 2.8B)性能匹敌 DeepSeek 7B Dense 模型(左下图),而同时节省了 60% 的计算量。

与目前 Dense 模型的开源代表 LLaMA2 相比,DeepSeekMoE 16B 在大部分数据集上的性能依旧领先 LLaMA2 7B(右下图),但仅用了 40% 计算量。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第3张图片

多尺度模型进阶

DeepSeekMoE 包含三个模型规模:2B → \rightarrow 16B → \rightarrow 145B。

DeepSeekMoE 2B(性能验证)。研究者首先基于 2B 总参数的规模,对 DeepSeekMoE 的架构进行了充分的探索和研究,相同总参数量的对比下,DeepSeekMoE 大幅优于相同总参数下的其他 MoE 架构。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第4张图片

与更大规模(总参数量或者计算量)的模型相比,DeepSeekMoE 2B 能匹配 GShard 2.8B (1.5 倍专家参数量和专家计算量)的性能,同时能非常接近 MoE 模型的理论性能上限,即相同 Attention/FFN 总参数量下 2B Dense 模型的性能。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第5张图片

消融实验进一步证明了共享专家分离和细粒度专家划分两个策略的有效性。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第6张图片

此外,研究者还验证了 DeepSeekMoE 相比于 GShard,有更好的专家化程度,体现在更少的专家知识冗余和更精准的专家知识命中上,具体请参见技术报告的第 4.5 节。

DeepSeekMoE 16B (开源版本)。基于在 2B 规模上建立的对模型架构的认知,研究者训练了总参数量为 16.4B 的 DeepSeekMoE 16B 模型,并将其开源以促进研究社区的发展。开源模型效果如下:

在仅用 40% 计算量的前提下,DeepSeekMoE 16B 能达到与 DeepSeek 7B(左图) 和 LLaMA2 7B(右图)相匹配的性能,在知识密集性任务上,DeepSeekMoE 16B 的优势尤其突出。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第7张图片

研究者同时还对 DeepSeekMoE 16B 进行了 SFT 以构建了一个对话模型,评测显示,其同样能够与基于 DeepSeek 7B 和 LLaMA2 7B 构建的对话模型性能相匹配。

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化_第8张图片

DeepSeekMoE 145B(持续研究)。“DeepSeek” 正在持续研究更大规模的 DeepSeekMoE 模型,基于 200B 语料训练得到的初步实验结果显示,DeepSeekMoE 145B 依旧保持对 GShard 137B 的极大领先优势,同时能够以 28.5%(甚至18.2%) 的计算量达到与 DeepSeek 67B Dense 模型相匹配的性能。

关于 DeepSeek。DeepSeek 始终坚持:

  • 长期主义,专注于人工智能的底层技术和基础研究,不断挑战前沿性难题。
  • 开放共享,以开源汇聚更多的创造力和生产力,促进应用的创新与生态的繁荣。
  • 怀抱雄心,致力于探索 AGI 的本质,带着对世界的好奇,务实地实现浪漫的目标。
  • DeepSeek 会持续为开源社区贡献更多优秀的作品,并共享他们的研究成果,不断发掘 AI 领域新的惊喜。

三、总结

DeepSeekMoE 在 MoE 架构上做了两大创新:

  • 细粒度专家划分:不同于传统 MoE 直接从与标准 FFN 大小相同的 N 个专家里选择激活 K 个专家(如 Mistral 7B×8 采取 8 个专家选 top-2 专家),研究者把 N 个专家粒度划分更细,在保证激活参数量不变的情况下,从 m N mN mN 个专家中选择激活 m K mK mK 个专家(如 DeepSeekMoE 16B 采取 64 个专家选 8 个专家),如此可以更加灵活地组合多个专家。
  • 共享专家分离:研究者把激活专家区分为共享专家(Shared Expert)和独立路由专家(Routed Expert),这种策略有利于将共享和通用的知识压缩进公共参数,减少独立路由专家参数之间的知识冗余。

有什么可以进一步探索的点?

尽管 DeepSeekMoE 在专家专业化和性能提升方面取得了显著成果,但仍有一些潜在的研究方向可以进一步探索。这些包括但不限于:

  • 专家分割的粒度:虽然论文中提到了对专家进行精细分割,但是否存在进一步优化专家分割的空间?是否存在一个最佳的粒度大小,能够在专业化和计算效率之间实现最佳平衡?
  • 共享专家的作用:论文中提到了共享专家用于捕获共同知识,但共享专家的数量和结构是否需要进一步调整?例如,是否可以通过动态调整共享专家的数量来适应不同的任务需求?
  • 训练策略的改进:论文中提到了专家级平衡损失和设备级平衡损失,但是否有其他训练策略可以进一步提高模型的性能和稳定性?例如,是否可以探索更复杂的路由策略或优化损失函数?
  • 当涉及到模型的泛化能力时,DeepSeekMoE 在多个任务上表现出色。然而,其在新领域或未见过的数据上的泛化能力尚待深入研究。或许可以探索一些方法来进一步提高模型的泛化能力。
  • 在计算效率的优化方面,虽然 DeepSeekMoE 已经在计算效率上有所提升,但仍存在进一步优化的空间。例如,研究者可以探索更高效的硬件加速或软件优化策略,以进一步提升模型的计算效率。
  • 关于模型的可解释性,我们需要深入探讨 DeepSeekMoE 的专家结构是否为我们提供了一种新的视角来理解模型的决策过程。通过分析专家的行为,或许可以提高模型的可解释性,并为模型决策过程带来更清晰的解释。
  • 在考虑模型的安全性和伦理性时,随着模型规模的扩大,我们需要确保模型能够产生安全和符合伦理标准的结果。或许可以设计机制来防止模型生成有害或偏见内容,从而确保模型的安全性和伦理性。
  • 最后,在跨领域应用方面,尽管 DeepSeekMoE 在语言任务上表现良好,但其在其他领域(如图像、视频处理)的应用潜力也值得进一步探索。或许可以将 DeepSeekMoE 架构扩展到多模态学习中,以实现跨领域应用并发挥其潜力。

这些潜在研究方向将有助于深化对 DeepSeekMoE 模型性能及其在实际应用中的潜力理解,并且为未来的研究提供了广阔的空间,有助于进一步推动大语言模型的发展。


参考链接:

  • 深度求索开源国内首个 MoE 大模型,技术报告、模型权重同时发布
  • CSDN | DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models
  • 首个国产开源 MoE 大模型来了!性能媲美 Llama 2-7B,计算量降低 60%
  • 国产第一个基于混合专家技术的大模型开源:幻方量化旗下公司开源 DeepSeekMoE-16B,未来还有 1450 亿参数的 MoE 大模型
  • 沈向洋:致 AI 时代的我们 —— 请不要忽视写作的魅力

你可能感兴趣的:(ChatGPT,实践,DeepSeek,MoE,大语言模型,混合专家架构,专家专业化)