MoE框架概念、类型及效益关键在哪?

MoE框架概念、类型及效益关键在哪?

最佳答案 匿名用户编辑于2024/10/09 15:00

MoE 框架是对 Transformer 架构的优化,而非完全替代。

MoE 框架基于一个简单却又强大思想:模型的不同部分(称为专家)专注 于不同的任务或数据的不同方面。MoE(Mixture of Experts)类模型使用远 少于 Transformer 架构类模型的算力扩大模型规模,性价比更高。MoE 模型 架构起源于1991年,2017年google提出《Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer》中,MoE 模型逐渐被关注。2024 年 1 月,OpenAI 团队发布 Mixtral 8x7B 的论文,MoE 模型成为关注焦点。 传统的 Transformer 架构主要包括自注意力层和前馈网络层,MoE 模型使用 稀疏 MoE 层代替传统 Transformer 架构中的前馈网络(FFN),相比于 Transfromal 前馈层的全连接,MoE 架构的层连接更加稀疏,因此也被称为 稀疏模型。

MoE 层主要包括两部分,即门控层和专家层。门控 Gatenet 层用于决定哪些 token 被发送到哪些最相关的专家。门控的输出可以用来解释模型的决策过 程,分析哪些专家对特定输入的贡献最大,可解释性更高。门控层的算法决 定不同专家的启用情况,不同的算法会带来不同的负载均衡,同时影响模型 的稀疏程度。专家 experts 层通常包括多个专家网络,每个专家本身是一个 独立的神经网络,可以被独立设计和训练,负责处理来自门控 getenet 层分 配的不同数据,针对特定的任务优化参数,更好地处理特定领域的任务。

MoE 模型测试表现出色,成本更低。较早的 MoE 模型 Mixtral 8x 在多项测 试中表现超过 Transformer 架构模型 Llama,而激活参数仅为 13B,为 Llama 2 70B 的五分之一,大幅降低了计算量。OpenAI、谷歌、微软等都发布了 MoE 类自研架构的大模型,选择拥抱 MoE 模型。国内 DeepSeek 在 2024 年 5 月 发布的第二代自研架构 MoE 模型 DeepSeek-V2,在中文能力、英文能力、 知识等多项测试中位居前列,在发布的测试中,DeekSeek-V2、GPT-4、 Genimi1.5Pro 等 MoE 模型表现亮眼。

MoE 基于门控函数设计方式可分为多种类型。在基于 Transformer 的大型语言模型(LLM)中,每个混合专家(MoE) 层的组成形式通常是?个“专家网络”{?_1, ... , ?_?} 搭配一个“门控网络” G。门控函数(也被称为路由函数或路由器)是所有 MoE 架构的基础组件, 其作用是协调使用专家计算以及组合各专家的输出。根据对每个输入的处理 方法,该门控可分为三种类型:稀疏式、密集式和 soft 式。其中稀疏式门控 机制是激活部分专家,而密集式是激活所有专家,soft 式则包括完全可微方 法,包括输入 token 融合和专家融合。这个门控网络的形式通常是一个使用 softmax 激活函数的线性网络,其作用是将输入引导至合适的专家网络。MoE 层的放置位置是在 Transformer 模块内,作用是选取前向网络(FFN),通常 位于自注意力(SA)子层之后。这种放置方式很关键,因为随着模型增大, FFN 的计算需求也会增加。例如在参数量达到 5400 亿的 PaLM 模型中, 90%的参数都位于其 FFN 层中。

根据门控函数的设计方式,稠密和稀疏两种方式各有侧重。密集混合专家层 是在每次迭代过程中激活所有专家网络 {?_1, ... , ?_?}。早期的 MoE 研究 普遍采用了这一策略。尽管密集混合专家的预测准确度通常更高,但其计算 负载也非常高。为了解决这个问题,Shazeer et al.的论文《Outrageously large neural networks: The sparsely-gated mixture-of-experts layer》引入了稀疏门控 MoE 层,开创性地提出了一种使用辅助负载平衡损失的可微分启发式方法, 其中可根据选取概率对专家计算的输出进行加权。这为门控过程引入了可微 性,由此可通过梯度来引导门控函数的优化。后来,这一范式便成了 MoE 研究领域的主导范式。其能在每次前向通过时仅激活选定的专家子集,该策 略实现稀疏性的方式是计算 top-k 个专家的输出的加权和,而非将所有专家 的输出聚合到一起。但稀疏门控也有专家负载均衡分布均匀度的问题,例如 稀疏门控情况下,某些专家被频繁使用,而另一些专家则很少被调用。为了 解决这个问题,每个 MoE 层都要集成一个辅助损失函数,其作用是敦促每 批次的 token 被均匀分配给各个专家,比如针对一个包含 T 个 token 的查询 批次以及 N 个专家,为了确保该批次在 N 个专家之间均匀分布,应当最小 化负载平衡损失函数,当每个专家都被分配了同等数量的 token 和同等的门 控概率时,即达到最优条件,此时各专家的负载达到平衡。由于这种方法会 针对每个输入 token 选择专家,因此可将其看作是 token 选择式门控函数。

虽然稀疏 MoE 有效率方面的优势,但密集MoE方向依然在不断迎来创新。 比如二元决策、稀疏或连续决策、随机或确定性决策,其都已经得到了深入 的研究,可使用各种形式的强化学习和反向传播来训练。密集激活在 LoRAMoE 微调方面表现很好,并且 LoRA 专家的计算开销相对较低。这种方法 能够有效灵活地集成多个 LoRA 以完成各种下游任务。这能保留原始预训练 模型的生成能力,同时保留各个 LoRA 针对各个任务的独有特性。类似于密 集 MoE,soft MoE 方法在处理每个输入时也会使用所有专家,从而维持完 全可微性,进而避免离散专家选择方法的固有问题。soft MoE 与密集 MoE 的不同在于前者会通过对输入 token 或专家进行门控加权的融合来缓解计算 需求。

MoE 模型效益的关键在于路由策略及微调。路由策略是指门控层应用某种机制(学习算法)决定哪些数据分配给哪些专 家,理想的分配策略要达到负载均衡状态。负载均衡状态是指不存在某些专 家被分配过量数据、专家过度拟合,也不存在某些专家缺乏训练数据,导致 模型精度低和计算资源浪费。因此路由策略的改良可以大幅提升整个模型的 最终效果,降低模型的算力成本。路由策略正在持续研究更新中,例如清华 SmartMoE 设计了专家放置(Expert Placement)策略,实现了动态负载均衡; OpenAI 在 GPT-4 中选择加载 16 个专家和前向通道 2 个路由的设计;微软 MH-MoE 使用多头机制将 token 拆分为多个子 token,达到了更好的负载均 衡,国内 DeepSeek 团队自研 MLA 架构,大幅减少计算量和推理显存,测 试效果良好。 适配最佳容量因子和 top-n 的硬件-软件系统提高模型效率,降低成本。在 门控路由分配 token 的过程中,容量因子和 top-n 是关键:容量因子(Expert Capacity,CF)衡量每个专家处理 token 的数量,top-n 是指每个 token 最多由 n 个专家处理;增加训练和评估容量因子会提高模型质量,增加 top-n 也可以 小幅增益模型质量;同时,增加容量因子和使用 top-n 更高的算法会提高计 算量,激活内存和通信成本,因此具体的硬件-软件系统决定最佳的 n 和容 量因子。

稀疏模型更需要超参数微调,指令式微调效果超过稠密模型。稀疏模型更易 于出现过拟合现象,因此需要通过降低学习率、调大批量、权重冻结、更高 内部正则化等超参数调整方式微调模型,关于超参数微调的研究动态也在不 断变化。另一方面,MoE 模型的指令式微调效果超过稠密模型,《MoEs Meets instructions Tuning》研究发现 Flan-MoE 相比原始 MoE 的性能提升幅度超 过了 Flan T5 相对于原始 T5 的提升,MoE 模型将在应用端表现出更高的灵 活性。

参考报告

计算机行业专题研究:MoE与思维链助力大模型技术路线破局.pdf

计算机行业专题研究:MoE与思维链助力大模型技术路线破局。Transformer架构大模型对算力成本要求高,一定程度阻碍了大模型研发和应用的进一步创新,随着o1大模型的发布以及MoE架构的成熟,技术路线有望破局。巨额算力投入成为技术和效益优化的瓶颈,技术路径破局迫在眉睫。从效益端看,基于Transformer架构的模型在训练计算量(trainingFLOPs)达到一定量级时,模型性能才出现向上的“拐点”,因此在大模型训练任务中,算力成为必须的基础性资源。但随着模型越来越大,算力成本越来越高,成本飙升源于模型复杂度和数据量攀升对计算资源的需求。Anthropic首席执行官...

查看详情
相关报告
我来回答