极智AI | 解读专家混合架构MoE正成为大模型主流技术

43 阅读6分钟

欢迎关注我的公众号 [极智视界],获取我的更多经验分享

大家好,我是极智视界,本文来介绍一下 解读专家混合架构MoE正成为大模型主流技术。

邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:t.zsxq.com/0aiNxERDq

首先需要明确的是 MoE 肯定不是非常新的架构,因为早在 2017 年,谷歌就已经引入了 MoE,当时是稀疏门控专家混合层,全称为 Sparsely-Gated Mixture-of-Experts Layer,这直接带来了比之前最先进 LSTM 模型少 10 倍计算量的优化。2021 年,谷歌的 Switch Transformers 将 MoE 结构融入 Transformer,与密集的 T5-Base Transformer 模型相比,训练时间的减少和效率的提升达到了 7 倍。而最近 MoE 的火热主要源于 Mistral AI,它是由前 Google、Meta 和 OpenAI 的研究人员创立的一家新科大模型公司,被称为 "欧洲 OpenAI",而首个开源的 MoE 多专家混合模型 Mixtral 8x7B 就来自于 Mistral AI。

大家对于 Mistral AI 的关注,一方面是因为 Mixtral 8x7B 的性能足够强,这种强是直接可以对标 LLaMA2 70B、GPT-3.5 而占据优势的存在,关键的关键,它的推理性能相比于 LLaMA2 70B 提升了足足 6 倍。

另一方面,正是因为 Mistral AI 的核心研究人员有来自 OpenAI 的,而且由于目前 "当今最强" 的 GPT-4 也正是采用了 MoE 架构。具体的,GPT-4 是采用了 16 个混合子专家模型,每个模型有 1110 亿个参数,每次前向传递路由经过两个专家模型,然后再回过头来看 Mixtral 8x7B,它是由 8 个 7B 子专家模型组成,它们之间潜在的相似性就不用多说了吧。考虑到因为 GPT-4 的闭源、Mixtral 8x7B 的开源以及目前大模型造轮子的火热市场,直接就让 Mixtral 8x7B 成了 "香饽饽",大家纷纷跳入研究 MoE + Transformer 融合的 "新范式"。

讲了这么多缘由,接着直入 MoE 本身,会结合 Transformer 来讲,也就是 Transformer 中 MoE 结构的应用。

下面是一些 Transformer 架构中应用 MoE 的一些工作:

  • Switch Transformer:这个前面介绍过,是 Google 的一个工作,将 MoE 和 Transformer 架构结合,相比于密集的 T5-Base Transformer 模型,提升明显。下面是 Switch Transformer encoder block,主要的优化就是用稀疏开关 FFN 专家层替换了 Transformer 中的密集前馈网络层 FFN,然后给稀疏开关 FFN 层进行标记路由。
  • GLaM:还是 Google 的工作,同样是基于 Transformer 的 MoE "魔改",在 29 个基准测试中平均精度已经超过 GPT-3,而且是使用了相比于 GPT-3 1/3 的训练能耗,推理效率则达到 GPT-3 的两倍。下面是 GLaM 的模型架构,可以明显看出,GLaM 架构中包含 MoE 层和 Transformer 层,MoE 层中每个输入 token 会选择两个最相关的专家层 FFN,由蓝色网格表示。在专家层 FFN 前面是门控 Gating,说明整体是动态选择专家的形式。两个专家层的输出进行加权平均后传递给 Transformer 层,然后不管是 MoE 层还是 Transformer 层的前边都是有多头注意力机制。这么看下来,GLaM 的架构还是比较清晰的。
  • MoE-Fusion:在红外和可见光图像融合网络 MoE-Fusion 中,实例嵌入的 MoE 组 (IE-MoE) 被用来实现实例级别的 MoE,该网络在保持 SOTA 模型性能的同时,只需一半的推理计算。下面是 MoE-Fusion 的模型架构,整体的 MoE-Fusion 由一组红外和可见特征编码器、一个实例嵌入的 MoE 组 (IE-MoE)、一个 MoE 解码器和两个辅助检测网络组成。接着放大 IE-MoE,来看 IE-MOE 的结构,它包含了 Foreground MoE 和 Background MoE 两个模块。
  • V-MoE:同样是 Google 的工作,全称为 Vision MoE,很明显就是 ViT (Vision Transformer) 里融入了 MoE,从模型架构上来说,就是将原来的 ViT Bolck 拆成了 ViT Block + MoE Block,继续放大 MoE Block 中的 Sparse MoE,可以看到每个 Sparse MoE 接收 12 个 token,但又有 16 个容量,所以需要路由进行调度分配。
  • MoEfication:这是来自咱们清华的工作,MoEfication 主要是为了证明 Transformer 中 FFN 存在的稀疏激活现象,即对于一个输入,只有少数比例的神经元被激活就能达到不错的效果,这个工作对于大模型的 "小型化" 特别重要。MoEfication 将参数划分成若干 experts,从而形成一个同等参数规模的 MoE 模型,最后达到节省每次计算量只用原来的 20% 就能保持原有模型的效果。MoEfication 的具体实现方式包括两个步骤:Expert Construction 和 Expert Selection。Expert Construction 是解决怎么将 FFN 分组成一个个 expert 的问题,而 Expert Selection 则是解决在推理的时候怎么选择组合部分的问题。

从上面几个比较有代表性的 MoE 的相关工作,可以看到大部分是出自 Google 之手,但让 Google 尴尬的是这个技术由 OpenAI GPT 发扬光大。而其实你也可以看到,最近 Google 的号称 "最强大模型" 的 Gemini,也是一种 "分布式模型架构",大底也是一种 MoE 的变体。

这么看来,Transformer + FlashAttention (可参考我的上篇解读) + MoE 似乎已经成为目前大模型主流架构的标配了。那么,你还不赶紧学起来。

好了,以上分享了 解读专家混合架构MoE正成为大模型主流技术,希望我的分享能对你的学习有一点帮助。



 【公众号传送】

《极智AI | 解读专家混合架构MoE正成为大模型主流技术》


畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球, 星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。一定会对你学习有所帮助,也一定非常好玩,并持续更新更加有趣的项目。 t.zsxq.com/0aiNxERDq