混合专家系统(MoE)为高效地扩展模型规模提供了一种创新方法,同时在保持甚至优化性能方面展现出巨大潜力。
在传统AI模型设计中,平衡模型规模与计算资源需求一直是一个核心挑战。虽然大型模型通常能够提供更佳性能,但其代价是昂贵的计算资源消耗。MoE模型的出现颠覆了这一常规,提出了一种全新的解决方案。通过显著降低预训练阶段的计算量,MoE模型在有限的计算预算下,不仅扩展了模型和数据集的规模,还保持或提升了模型性能。这意味着在相同的计算资源条件下,MoE模型能够更快地达到与传统密集模型相仿的性能水平。
01
———?
Mixtral 8x7B掀起MoE风暴
最近的研究中,Mistral AI的研究团队推出了基于新型稀疏混合专家(SMoE)模型的语言模型——Mixtral 8x7B。该模型获得Apache 2.0许可,作为一种稀疏网络专家混合体,专用于解码任务。
研究团队指出,Mixtral的前馈模块通过八个不同的参数组进行选择。每个层和令牌由两个参数组(称为专家)动态选择,并将其结果相加。这种方法通过只使用总参数的一部分,有效扩大了模型的参数空间,同时实现了成本和延迟的有效控制。
Mistral已使用多语言数据(具有32k令牌上下文大小)进行预训练,并在多项基准测试中展现出与Llama 2 70B和GPT-3.5相当甚至更优的性能。Mixtral的一大优势是其对参数的高效使用,实现了在小批量情况下更快的推理时间,在大批量情况下更高的吞吐量。
在多语言理解、代码生成、数学等领域,Mixtral的性能显著优于Llama2-70B。实验显示,Mixtral能有效从32k令牌的上下文窗口中提取信息,无论数据在序列内的长度和位置如何。
为确保公平和准确的评估,团队在比较Mixtral和Llama模型时,对基准测试进行了重新运行。评估包括广泛的问题类别,如数学、代码、阅读理解、常识推理、世界知识和流行的综合发现等。
常识推理任务如ARC-Easy、ARC?Challenge、Hellaswag、Winogrande、PIQA、SIQA、OpenbookQA和CommonsenseQA等,在0-shot环境中进行评估。世界知识任务(如TriviaQA和NaturalQuestions)采用5次重复评估。阅读理解任务BoolQ和QuAC,在0-shot环境中进行评估。数学任务包括GSM8K和MATH,代码相关任务包括Humaneval和MBPP。此外,研究还包括AGI Eval、BBH和MMLU等热门综合发现。
02?
———
混合专家模型MoE的原理??
稀疏性
在技术细节方面,MoE模型利用参数稀疏性。在每次前向传播过程中,并非所有参数都被使用。相反,模型仅激活和使用一部分参数来处理每个输入令牌。这种设计让模型根据令牌的内容和上下文,动态选择最相关的“专家”子网络进行计算。这种稀疏性的利用不仅提高了计算效率,也使模型更灵活地处理不同类型的输入数据,因为它能为不同信息类型分配不同的处理机制。这也展示了模型在处理每个令牌时的独立性,每个令牌通过其独特的计算路径处理,实现了对每个输入的精细化管理。
MoE的核心特征在变压器模型中表现为两个主要元素:稀疏MoE层和门控网络(或路由器)。
稀疏MoE层和专家的作用
与传统变压器模型中使用的密集前馈网络(FFN)层不同,MoE采用稀疏MoE层。每层包含多个“专家”,每个专家都是一个神经网络,通常采用FFN形式。这些专家复杂程度各异,甚至可以包含MoE自身,从而创造分层的MoE结构。
门控网络的功能
门控网络在将令牌路由到适当专家的过程中起着至关重要的作用。例如,令牌“更多”可能被路由到一位专家,而“参数”被路由到另一位。这种路由在MoE的功能中至关重要,并带来了令牌路由决策的复杂性,其中路由器本身是一个学习实体,在预训练过程中不断进化。
源自Switch Transformers论文:[https://arxiv.org/abs/2101.03961]。
注:图示展示了变压器编码器块的切换版本。传统的密集前馈网络(FFN)被稀疏的切换FFN层所取代,后者具有MoE架构的特点。在这种结构中,输入的令牌由不同的FFN专家独立处理,门网络(路由器)决定哪个专家处理每个令牌。例如,两个令牌“x1 =?更多”和“x2 =?参数”基于门网络的决策被引导至不同的专家。然后,选定的FFN的输出通过门值进行缩放,动态分配模型容量,优化计算资源。
03?
———
挑战与解决方案
训练和推理挑战
尽管MoE提供了高效的预训练和快速的推理速度,但仍存在挑战。
训练挑战
一个主要障碍是在微调过程中的泛化问题,其中MoE可能会出现过拟合。
推理挑战
虽然参数规模庞大,但在推理过程中只有部分参数处于活动状态,加速了处理速度。然而,这也意味着巨大的内存需求,因为所有参数无论其活动状态如何,都必须加载到RAM中。
解决方案和策略
为应对这些挑战,采用了多种策略,包括实现负载平衡以防止某些专家过度使用,以及引入辅助损失以确保所有专家的均衡训练。
04?
———
Mixtral MOE的实施
Mistral命名了8个7b参数的专家,作为一个仅解码的模型,特别适用于大型语言模型(LLMs)。在Mixtral中,前馈块(门控)在每次处理时选择其中一个或至少两个专家,并将它们的输出组合以生成最终答案。
Mixtral共有46.7B个参数,但每个令牌实际上仅使用12.9B个参数。因此,该模型以与12.9B模型相同的速度和成本处理输入并生成输出。
Mixtral支持32K的上下文窗口,能理解多种语言,包括英语、法语、意大利语、德语和西班牙语,并在代码生成方面表现出色。
05?
———
微调MoE的挑战
微调MoE带来了特有的挑战,尤其是在过拟合方面。为缓解这些问题,采用了在专家内部增加正则化和调整辅助损失等策略。此外,微调期间选择性地冻结MoE层参数已显示出在简化流程的同时保持性能的前景。
在小规模任务(左图)中,我们可以看到明显的过拟合,因为稀疏模型在验证集中的表现要差得多。在更大规模的任务(右图)中,MoE表现良好。这些图像来自ST-MoE论文。
06?
———
结论
混合专家模型(MoE)代表了人工智能领域的一大突破,为构建大型且强大的AI模型提供了一种可扩展、高效的方法。随着该领域研究和开发的不断发展,MoE在人工智能各个领域的潜在应用和进步前景是无限的。
领取专属 10元无门槛券
私享最新 技术干货