Abstract 稀疏专家混合(MoE)在不显著增加训练和推理成本的情况下扩展了模型容量。然而,它存在两个问题:(1)_专家激活率低_,只有一小部分专家被激活用于优化,导致性能次优,限制了在复杂任务中学习更多专家的有效性。(2)_缺乏对单个标记内多个语义概念的细粒度分析能力_。在本文中,作者提出了多头混合专家(MH-MoE)。MH-MoE采用多头机制将每个输入标记分割成多个子标记。然后这些子标记被分配给并并行处理一组多样化的专家,并无缝地重新整合回原始标记形式。上述操作使MH-MoE能够共同关注来自不同专家中各种表示空间的信息,以加深上下文理解,同时显著提高专家激活。值得注意的是,作者的MH-MoE易于实现,并且与其他SMoE框架解耦,使其易于与这些框架集成以提高性能。在三个任务上的广泛实验结果:以英语为重点的语言建模、多语言语言建模和 Mask 多模态建模任务,证明了MH-MoE的有效性。作者的代码可在https://github.com/yushuiwx/MH-MoE获取。
1 Introduction 大型容量模型,如大型语言模型(LLM)(Zhao等人,2023年;Pham等人,2023年;Chung等人,2022年;OpenAI,2023年)和大型多模态模型(LMM)(Wang等人,2022年;Peng等人,2023年)已经在各种领域和任务中证明了其有效性。为了进一步提升性能,一种可靠的方法是通过增加参数数量来扩展这些模型(Fedus等人,2022年)。但对于这些大多数密集激活的大型容量模型(称为Dense模型),它们使用所有参数来处理所有输入,这些模型的极端大小显著降低了推理速度,进一步限制了其实用性。
一种有前景的替代方法,在提高模型可扩展性的同时减轻沉重的计算成本,是稀疏专家混合(SMoE)(Shazeer等人,2017年;Du等人,2021年;Chi等人,2022年;Clark等人,2022年)。与Dense模型相比,SMoE在每个构建块中包含并行前馈神经网络(称为专家),并通过路由器策略地为特定输入 Token 激活不同的专家,从而带来显著的效率提升。GShard Lepikhin等人(2020年)将一个Dense模型从2B扩展到600B参数,其训练成本低于100B Dense模型。最近,含有8个专家(总共7B参数)的SMoE模型Mixtral 8×7B Jiang等人(2024年)被显示在性能上超过了或与LLaMA-2 70B Touvron等人(2023年)和GPT-3.5相当。
尽管SMoE取得了成功,但它存在一些缺点:(1)_专家激活率低_,这意味着在优化和推理过程中只有一小部分专家被激活,例如图1(a)中显示的**8.33%**激活比例,而大部分专家根本没有被使用(见暗色区域)。因此,SMoE未能充分利用这些专家的表达能力,特别是在专家数量多的情况下,这显著限制了SMoE的有效性和可扩展性。(2)_缺乏细粒度的分析能力_。当前的token化模式限制了模型捕捉与单个token相关联的多个语义解释的能力。在视觉数据的背景下,将图像划分为用于token化的大块可能会忽略更细的图像细节,而使用小块则会增加计算需求。对于语言数据,不同语言中的伪同源词或单一语言中的多义词在token化后被表示为相同的token,尽管它们携带不同的含义。这可能会导致模型中的混淆。
为了解决上述问题,作者提出了多头混合专家(MH-MoE)。MH-MoE的工作流程如图2所示。通过采用多头机制将每个输入token分割成多个子token并将它们分配给不同的专家,MH-MoE在不增加计算和参数复杂性的情况下实现了更密集的专家激活。具体来说,如图2所示,在提供一个单一输入token的情况下,MH-MoE通过将其分成四个子token来激活四个专家,而SMoE仅激活一个专家。此外,将子token分配给不同的专家使得模型能够同时关注来自不同专家内部不同表示空间的信息,确保对视觉和语言模式中的细微差异有更细致的理解。如图2所示,分配给专家3和2的子token捕捉了图像块中每个角色动作的详细理解,而分配给专家1和4的子token明确地建模了伪同源词'camera'的语义。在专家处理后,子token无缝地重新整合到原始token形式中,从而在随后的非并行层中,例如注意力层,避免了任何额外的计算负担,同时也整合了来自多个专家捕获的语义信息。
MH-MoE保持了以下优势:(1)更高的专家激活度与更好的可扩展性 。MH-MoE可以缓解专家激活度低的问题,并通过几乎优化所有专家显著提高更大规模专家的使用,例如在图1(a)中实现了90.71%的激活度,使得模型容量的扩展更加高效。(2) 更细粒度的理解能力 。MH-MoE中采用的多头机制将子标记分配给不同的专家,能够同时关注来自不同表示空间的信息,最终实现更好的细粒度理解能力。例如,参考图1(b)中的亮区,子标记被分布在一个更多样化的专家集合中,有助于捕捉语义丰富的信息。(3)无缝集成 。MH-MoE的实现非常直接,并且与其他SMoE优化方法(例如,GShard Lepikhin等人(2020))解耦,使得将它们集成在一起以实现更好性能变得非常容易。
作者在三种模型预训练和微调设置上评估了提出的MH-MoE:以英语为主的语言建模、多语言语言建模和 Mask 多模态建模。在这三项任务中的广泛实验证明了MH-MoE的有效性。
2 Background 稀疏专家混合模型(SMoE) 稀疏混合专家(Sparse Mixture-of-Experts, SMoE)(Shazeer等人,2017年;Du等人,2021年;Chi等人,2022年;Clark等人,2022年)在保持计算需求恒定的情况下增强了模型容量,从而在各种任务上比密集激活模型取得了更好的性能(Lepikhin等人,2021年;Kumatani等人,2021年;Zhao等人,2023年;Pham等人,2023年),并在深度学习领域成为了一个关键性的进展。
与密集激活模型不同,每个MoE层由 个独立的前馈网络(Feed-Forward Networks, FFN)
作为专家,以及一个门控函数 来建模一个概率分布,指示这些专家输出的权重。对于每个输入标记的隐藏表示
,将路由 到专家 的门控值表示为:
其中 表示第
个专家的可训练嵌入,且 。然后,根据前 个门控值,激活对应的
个专家,MoE层的输出 为
其中 表示激活的专家集合,且 。
SMoE中的路由机制 如上所述,最常使用的路由机制是从 个专家中选择前 个,其中
(Shazeer等人,2017年),例如在GShard (Lepikhin等人,2020年)中 且 。这种路由机制允许数据并行和专家并行的结合。Yang等人(2021年)和Lepikhin等人(2020年)建议较大的 值通常有助于提高模型性能。然而,随着 值的增加,使用传统的前
路由实现训练模型效率会变得很低(Lepikhin等人,2020年)。
在本文中,作者介绍了MH-MoE,这是一种简单但高效的方法,可以在不增加计算复杂性的情况下实现更密集的专家激活。
3 Method MH-MoE的完整架构如图3所示,MH-MoE通过应用多头机制将每个标记分割成子标记,并将它们路由到不同的专家,以实现更密集的专家激活以及对 Token 歧义的更深层次理解。
Multi-Head Mixture-of-Experts 具体来说,作者用一个输入 Token 序列 来表示,其中 是 Token 的数量, 表示 Token 维度的长度。在MH-MoE中,每个并行层包含一组
个专家,每个专家表示为 , 表示多头机制中的头数,它与多头自注意力层中的头数是解耦的。为了清晰起见,这里作者只描述单个MH-MoE层的操作。
首先, 通过带有参数矩阵
的多头层进行投影,
其中
。之后, 中的每个 Token 沿 Token 维度被分成 个子 Token ,这些子 Token 根据原始 Token 序列并行排列,形成一个新的特征空间
,如下所示:
其中函数 表示 Token 分割操作:
,每个子 Token 表示为 ,意味着它是从第
个 Token 分割的第 个子 Token 。
然后,所有这些子 Token 都被送入门控函数 。将某个子 Token 路由到第
个专家的门控值计算为
在本论文中, 是第 个专家的可学习嵌入。作者主要关注top- 路由,即只有得分最高的前
个专家会被激活。 表示被激活的专家集合,
。然后, 由以下激活的专家处理:
之后,所有获得的 按子 Token 的原始顺序重新排列并整合在一起,如下所示:
其中
。然后, 通过 Token 合并操作 转换回原始的 Token 形式:
:
其中 。最后, 通过带有参数矩阵
的合并层进行投射,以有效整合多个特征 ,这些特征从不同的专家表示空间捕捉详细信息。操作如下所示:
然后作者得到了单个MH-MoE层的最终输出 。
作者将 Token 拆分(式4)和 Token 合并(式8)操作一起称为Token-Splitting-Merging (TSM)操作。通过实施上述操作,作者有效地增加了路由到特定专家的平均数据量,如式4所示,增加了 倍。因此,这一成就导致了更密集的专家激活。此外,在MH-MoE内部分配子 Token 到不同的专家,使作者能够从这些专家中的多样化特征空间集体捕捉语义信息,从而增强了模型对更细粒度理解的能力。
上述操作确保了MH-MoE层中输入和输出的形状保持不变。因此,在后续块中没有引入额外的计算成本。具体来说,作者引入了一个超参数 来缩放每个专家的内部维度,旨在平衡由多头层和合并层引入的参数,使模型的参数和计算复杂度与原始SMoE保持一致。
正如附录E中展示的类似Pytorch风格的MH-MoE伪代码所示,MH-MoE的特点是实施的整体简单性,需要对SMoE实现进行的修改最小。此外,它与其它SMoE优化策略(Lepikhin等人,2020;Chi等人,2022)解耦,从而便于其方便地与其他优化的SMoE框架集成,以提高性能。
Training Objectives
MH-MoE的训练目标包括同时最小化与目标任务相关的损失以及一个辅助的负载平衡损失。
负载平衡损失。 如第2节所述,通常存在专家负载不平衡问题(Xie等人,2023;Lepikhin等人,2020)。因此,遵循(Lepikhin等人,2020;Fedus等人,2022)的做法,给定子标记集 (如图4所示)以及子标记被路由到第 个专家的频率 ,作者通过以下方式计算负载平衡损失
:
其中 表示专家的数量, 是 中包含的子标记的数量。
是如图5所示的门控函数,表示将特定的子标记 路由到第 个专家的门控值。任务特定损失。 术语
取决于MH-MoE设计的特定任务。例如,在预训练期间,作者使用语言建模损失(Radford等人,2018),此时模型预测序列中的下一个单词。
因此,整体训练目标是最小化:
其中 是负载平衡的系数。
4 Experiments 以下是第4节“实验”的开 Head 分:
作者首先描述了实验设置,然后展示了消融研究、与现有方法的比较以及定性分析的结果。
If you provide the actual text from the paper, I can translate it accordingly.
Experimental Setup 对比 Baseline 模型。 为了进行比较,作者包括了两个 Baseline 模型:(1) Dense ,它代表了没有融入稀疏激活并行模块(即SMoE层)的Transformer解码器。(2) X-MoE ,这是作者根据Chi等人(2022年)提出的方法实现的模型。作者在X-MoE的基础上构建了MH-MoE,并使用了与X-MoE相同的设置。请注意,所有这些模型都使用与MH-MoE相同的训练数据进行预训练,作者确保作者的模型参数数量与或低于X-MoE,以保证公平和公正的比较。关于参数和计算复杂性的详细分析和比较可以在第5.3节和表11中找到。
预训练数据。 作者详细介绍了MH-MoE的预训练数据,通过一系列实验证明了其在实现更密集的专家激活和更细粒度理解方面的有效性。这些实验被组织成三个主题类别:(1) 对于以英语为重点的实验,作者在RedPajama数据集(Computer, 2023)上对 Baseline 模型和MH-MoE进行预训练,这是一个开源的预训练数据集,包含Common Crawl、C4(Raffel等人,2020)、Wikipedia以及额外策划的数据集。预训练采用GPT任务来预测序列中的下一个词。(2) 在多语言表示的背景下,作者按照XLM(Lample和Conneau, 2019)中描述的方法,在多语言维基百科上对 Baseline 模型和MH-MoE进行预训练,同样使用GPT任务。(3) 对于多模态领域,作者在 Mask 多模态建模任务上对所有比较 Baseline 模型和MH-MoE进行预训练,数据包括单模态和多模态数据(1400万张图像,160GB文档和2100万图像-文本对,遵循Wang等人(2022)),作者在附录A中介绍了这些预训练数据的细节。
模型架构和超参数。 对于所有实验,作者使用X-MoE(Chi等人,2022年)作为作者构建MH-MoE的基础架构,它在跨语言理解基准上已经显示出比之前的SMoE模型(如Switch Transformers(Fedus等人,2022))更好的性能。对于以英语为重点的语言建模和多语言语言建模,作者使用Transformer(Vaswani等人,2017)解码器(L = 12, H = 768, A = 12)作为基础架构,以GPT-41词汇构建Dense、X-MoE和MH-MoE。预训练过程在2台NVIDIA DGX-2工作站上耗时14天。对于 Mask 多模态建模,作者按照BEiT v3(Wang等人,2022)的相同Transformer编码器架构构建Dense、X-MoE和MH-MoE。预训练过程在2台NVIDIA DGX-2工作站上耗时4天。对于所有三个预训练任务,作者设置头数
= 4。关于架构和训练超参数的更多详情可以在附录B和C中找到。### 困惑度评估
作者检查了在两种专家设置(8位专家和32位专家)下所有预训练模型和预训练任务的验证困惑度曲线。困惑度趋势如图4所示,最终的困惑度值在表1中列出。作者可以观察到,随着训练的进行:1) 作者的MH-MoE的困惑度相较于比较的 Baseline 更低,表明学习更为有效;2) MH-MoE在三种不同的实验设置中实现了最低的困惑度;3) 专家数量的增加导致了MH-MoE困惑度的相应降低,这表明模型###下游评估
对于每个预训练任务,作者进行了相应的下游评估,以验证MH-MoE的有效性。
以英语为重点的语言建模。 作者在总共9个不同的零样本基准上评估作者的模型,以评估它们在诸如常识推理、通用语言理解和知识理解等各种自然语言任务上的能力,使用LLM评估工具(Gao等人,2023年)。如表2所示,将X-MoE与Dense模型进行比较,X-MoE显示出显著的改进,表明SMoE模型(如X-MoE)从大型模型容量中受益。总体而言,对于所有基准,作者的MH-MoE获得了最佳性能,与X-MoE相比,在8位专家设置下平均性能提高了1.1,在32位专家设置下提高了1.5,这证明了作者提出的多头机制在建模以英语为重点的语言方面的有效性。
多语言语言建模。 作者在跨语言自然语言推理(XNLI)语料库(Conneau等人,2018年)上评估作者的多语言语言模型,这是将多体裁NLI(MultiNLI)语料库扩展到14种语言的版本。作者遵循LLM评估工具流程,并使用零样本设置来评估多语言能力。表3展示了在XNLI任务上的零样本评估结果。同样,X-MoE从大型模型容量中受益,并且与Dense模型相比显示出显著的改进。总体而言,MH-MoE获得了最佳性能,在8位专家设置下平均性能超过X-MoE 0.6,在32位专家设置下超过0.8。将MH-MoE与X-MoE进行比较,可以看出MH-MoE模型在下游任务上提供了一致的增益,这证明了作者提出的多头机制在建模跨语言自然语言方面的有效性。
** Mask 多模态建模。** 作者在广泛使用的视觉-语言理解和生成基准测试上进行评估,包括视觉问答(Goyal等人,2017年)、视觉推理(Suhr等人,2019年)和图像字幕生成(Lin等人,2014年)。作者在VQAv2上报告了_vqa分数_,NLVR2上的准确度。对于COCO图像字幕生成,作者报告了BLEU@4(B@4)、METEOR(M)、CIDEr(C)和SPICE(S)。表4展示了评估结果。对于VQA任务,MH-MoE显著优于Dense和X-MoE,例如,在测试开发分割上分别提高了4.24和1.69个百分点。对于视觉推理任务,MH-MoE在开发(比X-MoE高1.5个百分点)和测试-P分割(比X-MoE高1.7个百分点)上都击败了这两个 Baseline 。对于图像字幕生成任务,MH-MoE在B@4、M和S方面分别超过了X-MoE 4.2%、10.2%和9.4%。以上结果表明,X-MoE展现出增强的视觉信息理解能力,这也验证了作者提出的多头机制在捕捉视觉数据内多样语义和详细信息方面的有效性。
Ablation Studies 这一部分展示了实验分析,以证明MH-MoE的功能。在所有比较实验中,_作者通过调整专家内部维度来确保模型间的参数相等_。
头数 。 作者通过调整MH-MoE中的头数( = 2, 4, 6, 8, 和 )进行实验。如表5所示,作者发现无论
的设置如何,作者的模型始终优于X-MoE,证明了MH-MoE的有效性。此外,随着 值的增加,作者观察到模型性能起初有所提升,之后又下降。这使作者推测,当 时,性能的提升得益于多头机制,通过激活更多的专家,从而提高了模型的有效性和捕捉更广泛的细粒度标记信息。然而,当 继续增加到6以上时,过度的标记细分可能会无意中损害它们原有的语义内容,导致模型性能下降。
MH-MoE组件的影响。 如图3(b)所示,作者MH-MoE中使用的多头机制主要包含两个组件:多层感知机(MLP)层,包括多头层(方程3)和合并层(方程9),以及标记分割-合并(TSM)操作(方程4和方程8)。作者对模型内每个组件的有效性进行了详细分析,以及它们集成的必要性。
结果如表6所示。对Dense与Dense 以及X-MoE与X-MoE
的比较分析表明,引入MLP层并没有提高模型的性能。同样,当比较MH-MoE与MH-MoE 时,很明显,在没有TS的情况下仅包含MLP,也没有提高模型的有效性。比较的模型成对参数量相等。
一个有趣的观察是,当比较MH-MoE与MH-MoE
时。仅引入标记分割-合并(TSM)而不包括MLP,模型的性能略有提升。相比之下,只有当MLP和TS同时集成时,模型性能才能显著提升。作者推测,在没有集成MLP的情况下引入TS,激活了更多的专家,但模型的分割和合并显得过于简单和突兀,这限制了模型将标记有意义地分割成子标记并有效融合来自不同专家空间的多样化信息的能力。
MLP层的数量。 作者探讨了在MH-MoE中改变MLP的层数( = 0, 1, 2, 3)对性能的影响。对于超过一层的配置,在MLP层之间加入了ReLU激活函数,以确保转换的非线性。比较的模型参数量相等。分析表7中的结果,作者发现增加超过一层的MLP对模型性能的影响微乎其微。这表明单层MLP足以完成标记的分割和融合。
5 Analysis 第五部分分析的开始。
Experts Activation Analysis 专家激活。 作者在图5中可视化了每个专家在X-MoE和MH-MoE的并行专家层中的激活情况。可以观察到以下现象:1) X-MoE显示出更倾斜的分布,其中很大一部分专家始终处于未激活状态。2) 作者的MH-MoE相比于X-MoE实现了更密集的专家激活,有效地缓解了低专家利用率的问题。3) 随着头数 的增加,
\begin{table}
\begin{tabular}{l}
可扩展性。 作者通过将专家数量从8扩展到256(约70亿个参数)来探索X-MoE和MH-MoE的可扩展性。对于上游性能,如图6(a)所示,随着专家数量的增加,作者的MH-MoE可以带来更多的增益。这是因为MH-MoE可以有效缓解低专家激活问题。凭借这一能力,大规模SMoE模型的优越性将得到更好的发挥,从而在拥有更多专家的情况下提高了SMoE的上界。关于这些扩展实验的详细验证困惑度曲线可以在附录F的图9中找到。对于图6(b)所示的下游性能,对于X-MoE,专家数量=64是上限,意味着继续增加专家数量不会带来任何增益。作者的MH-MoE不仅在具有相同数量专家的情况下比X-MoE具有性能优势,还将上限从64提高到256,这证明了作者的MH-MoE在下游任务上的可扩展性有效性。
Fine-grained understanding Analysis 在第4节中,作者的模型在多个上游和下游任务中表现出色,展现了在语言和图像方面的卓越细粒度建模能力。在本节中,作者深入到更细粒度的分析,以验证多头机制如何帮助MH-MoE捕捉到往往是难以理解的多样化且复杂的语义信息,例如语言中的 多义词和假同源词(简称PF标记),以及图像中语义丰富的区域。请注意,对于语言数据,作者使用了GPT-4 API(OpenAI,2023)从XNLI(Conneau等人,2018)语料库中提取 多义词和假同源词,相应的提示可以在表12中找到。
Certainly, please provide the English text from the AI paper that you would like to have translated into Simplified Chinese. I will translate it accordingly, keeping the formulas and titles in their original form and handling the references as you have instructed.
专家在 Token 内分配。 对于语言数据,作者计算并比较了从PF Token 和非PF Token 分割出的子 Token 的分歧水平(即这些子 Token 被路由到的不同专家的数量)。作者在具有8个 Head 的MH-MoE上进行操作(
=8),并通过计算模型各层之间的平均分歧来表示每个 Token 的分歧。图7中的结果显示,与Non-PF Token 相比,PF Token 的分歧分布明显向右偏斜。这表明,在MH-MoE的推理过程中,PF Token 将它们的子 Token 路由到更多的不同专家,从而捕捉到更多样的语义信息。
对于图像数据,作者分析了在训练过程中不同块面的分歧程度的演变,如图8所示。有趣的是,作者观察到随着训练步骤的增加,高频纹理区域(或富含语义的区域)的分歧水平逐渐增加,而低频纹理区域的分歧水平逐渐减少。这表明在训练过程中,MH-MoE倾向于将复杂纹理区域的标记路由到更多种类的专家,从而增强该区域语义的细粒度理解。有关更多可视化示例,请参阅附录G中的图10。
Complexity & Parameter Analysis. 作者附录D中提供了对X-MoE和MH-MoE的复杂性与参数分析,以验证在所有实验设置中,作者的MH-MoE的计算和参数成本均低于SMoE。此外,所有实验及可比较模型的详细参数计数可在表11中查看。
6 Conclusion 在本论文中,作者研究如何在不引入额外成本的情况下实现更密集的专家激活,同时提高细粒度理解能力。通过所提出的多头专家混合模型(Multi-Head Mixture-of-Experts),作者可以轻松实现上述功能。此外,MH-MoE的简洁性使其能够轻松与其他SMoE框架集成,以提高性能。在三个任务上的广泛实证研究证明了MH-MoE的有效性。
7 Broader Impact 在之前的NLP流水线中,单词标记的维度在训练和推理阶段通常被保持恒定。作者是首次尝试在多头注意力模块之外进行标记分割,旨在从多个方面增强模型的能力,包括对标记内容的更细致和多角度的理解,以及促进更稀疏的网络架构。作者认为这是在该领域一次反直觉但值得的探索。
Appendix B Model Hyperparameters of Language modeling tasks 表9展示了针对英语聚焦语言建模和多语言建模任务的X-MoE和MH-MoE模型的超参数。门控温度 分别针对softmax门控和sigmoid门控初始化为 和
。作者使用了与XLM-R (Conneau et al., 2020) 相同的词汇表,包含25万子词,由SentencePiece (Kudo & Richardson, 2018) 进行分词。
Appendix C Hyperparameters for Pre-training Table 10: 语言建模任务(以英语为重点的语言建模和多语言建模任务)以及 Mask 多模态建模任务的预训练超参数。
Table 11: 在作者的实验中,针对以英语为重点的语言建模、多语言建模和 Mask 多模态建模任务的X-MoE和MH-MoE的参数数量设置。"非专家参数"指的是不属于专家网络的参数,例如注意力层、路由器等,而"专家参数"表示并行专家网络中的总参数数量。对于密集模型,由于没有专家网络层,作者只列出了总参数数量。同一任务下的所有模型采用相同的架构和超参数,遵循相同的训练设置和步骤。
表10展示了三个任务:语言建模任务(以英语为重点的语言建模和多语言建模任务)以及 Mask 多模态建模任务的预训练超参数。## 附录D 复杂度与参数分析
Complexity 作者分析了MH-MoE的计算成本。不失一般性,作者考虑一个包含单个层SMoE的转换块,其中包含 个专家,但这可以很容易地推广。
SMoE层的计算成本来自两部分:1)路由器的投影。2)并行专家的线性投影(FFN,包含两个内部隐藏大小为 的连接线性层)。对于一个输入序列 ,每部分的计算成本是
分别。因此,SMoE的总计算成本是
。
对于MH-MoE层,除了上述两种计算外,还包括两个额外的独特计算方面:3)多头层的投影。4)合并层的投影。每部分的计算成本是
(15) (16)
其中 是用于缩放FFN内部隐藏维度的超参数。在作者的实证实验中,作者仔细调整 以确保MH-MoE与SMoE之间的参数平衡。所以,MH-MoE的总计算成本是
。
因此,作者将SMoE和MH-MoE之间的计算成本进行比较,记为 :
在作者所有的实验设置中,最小的 是 。因此,当
(设置为最大的专家数), (设置为最少的头数)和 (设置为最小 )时, 存在一个下界。考虑到这种情况,作者有
。所以作者验证了对于所有实验设置,作者都有 ,即作者的MH-MoE的计算成本少于SMoE。
Parameter 对于SMoE,参数包含两部分:1)路由器的参数。2)并行专家的参数:
因此,SMoE的总参数是
。
对于MH-MoE,除了上述两部分参数之外,还包括另外两个方面:3)多头层的参数。4)合并层的参数,而每部分的参数为
(22) (23)
所以,MH-MoE的总参数是 。详细的参数比较可以在表11中找到,作者确保作者的MH-MoE的参数数量与X-MoE相同或更低,确保所有实验的公平和公正比较。
Appendix E PyTorch-style Code 作者也提供了类似于PyTorch风格的算法1来解释作者的MH-MoE,包括两个主要方面:1) 阶段1。多 Head 层和合并层的创建和初始化。2) 阶段2。标记的分割,随后通过专家网络进行处理,最终合并。
算法1 MH-MoE在类似PyTorch风格中的整体流程。
Appendix F Visualization of training perplexity 作者在图9中提供了模型训练的困惑度曲线,实验设置是增加专家数量(从8个到256个)。
Appendix G Visualization 图10:更多关于随着训练步骤将不同块分割的子标记分配多样性的可视化示例。作者以具有8个 Head 的MH-MoE( =8)作为研究目标。较亮的区域表明该块中的子标记被分配给更多不同专家,而较暗的区域表明子标记被分配给更多相同的专家。
参考 [1].Multi-Head Mixture-of-Experts.