概述
MoE 已经变得十分普遍,新的大型语言模型:GPT-4、Gemini 1.5、Mixtral 8x7B 或 Jamba 都是 MoE 模型。
知识的稀疏性
- MoE(Mixture of Experts)是一种人工智能训练技术。它实质上将神经网络的某些部分“分解”为不同的部分,将这些被分解的部分称为“专家”。
- 这种技术出现的原因有三个主要方面:
- 神经网络的稀疏性: 在特定层中,神经网络可能会变得非常稀疏,即某些神经元的激活频率远低于其他神经元。换句话说,很多神经元并非每次都会被使用到,这和人类大脑中的神经元是类似的。
- 神经元的多语义性: 神经元的设计使其具有多语义性,这意味着它们可以同时处理多个主题或概念。比如,一个神经元可能对"苹果"、"香蕉"和"橙子"都有反应,这些词代表着不同的实体。
- 计算资源的有限性:模型规模是提升模型性能的关键因素之一。而不管在什么阶段,资源一定是有限的,在有限的计算资源预算下,用更少的训练步数训练一个更大的模型,往往比用更多的步数训练一个较小的模型效果更佳。
神经元的稀疏性
- 神经网络实际上对于它们所做的大多数预测来说都太大了,每次预测都要运行整个网络,但实际上模型中只有很小的一部分能够发挥作用。而且模型的规模越大,其稀疏性也越强。大型模型在处理输入时激活的神经元占总体的比例更小,例如,大型模型中80%的输入只激活少于3%的神经元。
- 为了解决稀疏性激活问题,提出了MoEfication方法,即通过将FFNs分割成多个专家,并构建专家路由器(Expert routers)来决定对每个输入使用哪些专家,从而提高模型的效率和性能。
神经元的多义性
神经元不专注于一个单一的主题,而是专注于许多主题。而且重要的是,它们在语义上并不相关。举个例子来说,在神经网络数十亿个神经元中的一个神经元可能每次在输入主题涉及“苹果”被激活,而当输入主题涉及“电话”时,这个神经元也可能被激活。这使得神经网络难以解释,单个神经元必须精通各种彼此几乎毫无关系的主题。由于知识范围十分广泛,这些神经元很难获取知识。更糟糕的是,学习曲线可能相互矛盾,学习一个主题的更多知识可能会影响神经元获取另一个主题知识的能力。
计算资源的有限性
由于神经网络的稀疏性,以及当前Transformer的二次障碍问题,大模型网络中进行了大量不必要的计算,使得更大的 LLM 成为世界上最低效和最耗能的系统之一。但除了不受控制的消耗之外,针对每个预测运行整个模型也会对性能产生重要影响。
条件计算的胜利
假设神经网络的稀疏性,特别是在前馈层(FFN),像 Transformer(ChatGPT、Gemini、Sora等)这样的架构很常见,我们基本上将这些层“分解”成形状相同的小组,我们称之为“专家”。
混合专家的优势
- FFN(前馈神经网络)在 Transformer 模型中的作用是将输入向量投射到更高维度的空间中,以便发掘数据中原本隐藏的细微差别。这一步骤是模型成功的关键之一,但也伴随着高昂的处理成本。虽然FFN层虽然拥有大量的参数,但在每次预测过程中,只有一小部分参数会被实际激活并参与到计算中。
- 在MoE架构中,FFN层被分解为多个“专家”(experts),每个专家实际上是FFN参数的一个子集。这些专家可以根据其特定的功能被设计成处理不同类型的输入或特征。在模型进行预测时,一个路由器(router)机制会决定哪些专家将被激活并参与到当前的计算中。这种设计的优势在于它能够显著提高模型的效率和可扩展性。
- 此外,MoE模型还提供了一种细粒度的方式来研究和理解模型内部的工作机制。通过观察哪些专家被激活以及它们如何随着时间变化,研究人员可以更深入地洞察模型是如何学习和泛化知识,以及它是如何处理不同的输入特征的。
什么是混合专家
- 路由器会主动选择那些它预测会知道答案的专家。而且由于从一开始就这样做,不同的专家会专注于不同的主题。
- 工作原理如下:
- 输入的门控选择:当输入数据进入模型时,首先会经过一个门控机制,该机制负责决定哪些专家将参与到当前的计算中。这个门控通常是一个softmax函数,它能够基于输入数据的特征,为每个专家计算一个概率分布,表明每个专家被激活的可能性。
- 专家的概率分布:以一个具有四位专家的MoE层为例,门控可能会输出如下的概率分布:[专家 1:25%,专家 2:14%,专家 3:50%,专家 4:11%]。这个分布反映了输入数据与各个专家相关性的大小,概率越高,表示该专家对于当前输入的预测任务越重要。
- 专家的激活:根据门控输出的概率分布,一部分专家将被选中并激活。在这个例子中,专家3和专家1因为具有较高的激活概率,将被选中参与到后续的计算中。这意味着,只有这两个专家的参数将被用于处理当前的输入数据。
- 每个专家都会在自己的专业主题上变得更加熟练。且计算效率更高。
- 这些架构仍然存在两个弊端
- 由于专家数量有限,每个专家最终都要处理广泛的知识,这就产生了知识混合性。这种广泛性阻碍了专家们在特定领域进行深入的专业化。
- 当 MoE 模型中的不同专家学习相似的知识时,就会出现知识冗余,这首先就违背了对模型进行划分的意义。
总结
- 混合专家模型(MoE)是一种高效的神经网络架构,由多个专家网络组成,每个专家专注于输入数据的不同部分,并通过一个门控网络动态地选择哪些专家参与计算。MoE模型在自然语言处理(NLP)和计算机视觉领域显示出了巨大的潜力,尤其是在处理大规模数据集和参数数量庞大的模型时。
- MoE模型的关键优势包括:
- 计算效率:MoE模型能够在保持参数数量巨大的情况下,以恒定的计算成本运行,因为每次前向传播只激活一部分专家。
- 预训练速度:MoE模型在预训练阶段可以更快地达到相同的质量水平,与稠密模型相比,它们通常能够更快地完成训练。
- 推理速度:在推理时,MoE模型由于其稀疏性,可以比具有相同参数数量的稠密模型更快地完成任务。
- MoE模型也面临一些挑战:
- 训练稳定性:MoE模型在训练过程中可能会遇到稳定性问题,需要特别设计的技术和方法来解决。
- 内存需求:尽管MoE模型在推理时参数数量较少,但它们需要将所有专家的参数加载到内存中,这可能导致对显存的高需求。
- 微调难度:MoE模型在微调阶段可能面临泛化能力不足的问题,需要更精细的调整和策略。