Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

打破MoE训练效率与性能瓶颈,华为盘古稀疏大模型全新架构LocMoE出炉

2023 年 12 月,首个开源 MoE 大模型 Mixtral 8×7B 发布,在多种基准测试中,其表现近乎超越了 GPT-3.5 和 LLaMA 2 70B,而推理开销仅相当于 12B 左右的稠密模型。为进一步提升模型性能,稠密 LLM 常由于其参数规模急剧扩张而面临严峻的训练成本。MoE 的广泛应用,使得在计算成本相对不变的条件下,模型容量能够得到显著扩展。此特性无疑使得 MoE 成为推动 LLM 发展的关键技术。

MoE 设计的初衷,是使模型的学习更加 “术业有专攻”,其有效性已得到业界肯定。然而现有 MoE 架构训练中的弊端也逐渐凸显,主要包括:专家负载失衡、专家内样本混杂而专家间同质化现象严重、额外的通信开销等等。

为了缓解现有 MoE 普遍存在的训练效率与性能瓶颈,专精于高性能计算、LLM 训练加速的华为 GTS AI 计算 Lab的研究团队提出了名为 LocMoE 的全新 MoE 架构,从路由机制角度出发,以期降低稀疏 LLM 训练成本的同时,提升其性能。

图片

论文链接:https://arxiv.org/abs/2401.13920

论文简介

在这项工作中,作者发现之前的 MoE 路由机制往往会导致路由至同一专家网络的 token 差异较大,干扰专家网络收敛;而路由至不同专家的 token 相似性较高,造成专家间同质化现象严重,最终影响模型语义理解与生成的能力。作者通过理论阐明了专家路由与输入数据特征之间的关联,并在 NLP 领域首次证明专家网络存在容量下限。在此理论基础上,专家路由的门控权重经正交化处理后,明显增强了专家网络间的区分度,处理远小于原先规模的 token,能够在领域评测中达到相近的效果。同时该研究针对 MoE 架构中固有的 All-To-All 通信瓶颈,结合负载 / 通信优化,提出高效高能的 MoE 架构。

具体来说,作者提出了一种名为 LocMoE 的新颖 MoE 架构,将其嵌入到盘古大模型的骨干中以增强其能力。LocMoE 旨在增强路由机制的可解释性,同时降低额外通信与计算开销。首先,作者发现 token 总倾向于路由至与该 token 夹角最小的专家,当专家间门控权重向量满足正交时,专家网络间处理的 token 能尽可能避免同质化。

因此,本文采用 GAP 层提取 token 特征,将其作为路由的依据。GAP 层特性上满足门控权重正交的条件,计算量相比 Dense 层也得到大幅下降。基于上述结构,作者通过理论求解出在不影响模型 loss 前提下,专家处理的 token 规模的下限,以降低专家网络的负载。此外,作者结合 auxiliary loss,提出了 locality loss 对路由进行软约束,降低跨机 All-To-All 通信开销。最后,采用通信遮掩等工程优化,进一步提升稀疏大模型整体的训练性能。

作者将 LocMoE 架构嵌入到盘古-Σ 38B 模型中,采用语义相似度较高的 ICT 领域数据进行训练,检验其领域知识的学习能力。在十项下游任务中,LocMoE 的准确性普遍高于原生盘古-Σ,训练性能每步提升 10%~20%。该 MoE 架构还具有较强的通用性和易于移植性,能够低成本嵌入到其他硬件规格和其他 MoE 架构的 LLM 骨干中。

当前,LocMoE 已部署至华为 ICT 服务领域专业知识问答应用 AskO3 上,AskO3 已上线华为 O3 知识社区,获得数万工程师用户群体广泛好评。

创新点剖析

路由与数据特征的关系

针对现有 MoE 路由机制普遍缺乏可解释性的问题,作者分析了 token 路由的本质,并设计了能够将 token 有效区分的结构。对于某个 token,学习性的路由策略普遍选择门控权重与该 token 乘积更大的专家进行分配:

图片

那么,如果专家的门控权重满足正交,能够使得专家具备更高的判别性。同时,能够得出 token 倾向于被路由至与其夹角更小的专家:

图片

作者最终选取 GAP 作为提取 token 特征的结构,其门控权重能够满足正交的条件:

图片

上述路由机制的实质描述了路由判别能力与专家 token 间最小夹角之间的关联,如图所示。

图片

图:LocMoE 路由机制示意图

专家容量下界

在上述理论的基础上,作者发现,专家容量存在下界,即,在输入数据确定的情况下,专家处理远小于经验值规模的 token,也能达到相当的性能。该问题可以转化为,求解使得至少一个具有类别判别性 token 被路由至某个专家的最小 token 规模,作为所有专家容量拉齐时的下界。同时能够得出,合理的专家容量与 token 和门控权重间的最小夹角呈负相关,并随着夹角的减小呈指数级增长。经实验证实,专家容量设为该下界时,未对模型收敛性和 loss 曲线产生影响。

图片

本地性约束

LocMoE 在 MoE 层的 loss 包含两部分:auxiliary loss 和 locality loss。auxiliary loss 首次在 sparsely-gated MoE 中提出,同时应用于 SwitchTransformer,用以提升专家负载均衡性:

图片

然而,跨机 All-To-All 带来的额外通信开销仍无法避免。因此,作者添加了本地性约束,使得在专家负载均衡的前提下,token 更倾向于被分派给本地设备的专家,最终达到约束平衡。locality loss 采用当前 token 分布与完全本地化分布之间的差异即 KL 散度来量化,从而将部分机间通信转为机内通信,充分利用机内互联高带宽。

图片

实验结果

作者分别在包含 64 张、128 张和 256 张昇腾 910A NPU 的集群上进行了实验,主要与两款经典的 MoE 结构:Hash (来自 Facebook) 和 Switch (来自 Google) 进行比较。

训练效率

作者记录了各实验组训练过程中计算、通信、遮掩以及闲置的耗时。其中,在 64N 和 128N 的情况下,LocMoE 的计算开销和通信开销都是最低的。尽管 256N 时 LocMoE 的计算开销仍然最低,但部分设备不包含专家使得本地性通信转换失效,说明了 LocMoE 在计算及通信方面同时存在显著增益的适用条件是专家数至少大于等于节点数。

图片

图:多种 MoE 结构在不同集群配置下的训练效率

专家负载

为了验证约束项对于专家负载的影响,作者分析了路由至每个专家的 token 分布情况。为了达到负载均衡,通过 RRE 模块实现的 Hash 路由采用静态路由表的硬约束确保分配的均衡性,LocMoE 和 Switch 则考虑到 token 的具体特征而进行路由。作为学习型路由,在 auxiliary 和本地性约束项的作用下,LocMoE 专家的均衡性明显优于 Switch,表现出稳定且较高的资源利用率。

图片

图:多种 MoE 结构下专家负载情况

分配给专家的样本相似性

对于支撑 LocMoE 提出的关键理论,作者采用实验对其进行了验证。左图表明路由到同一专家的 token 相似性更高,接近于 1。右图则表明 token 与其路由至的专家对应的门控权重相似度分布相较其他专家更靠右,从而证实了 token 倾向于路由至与其夹角最小的专家的理论前提,并标记出专家容量下限求解的关键参数 δ。

图片

图:路由至同一 / 不同专家 token 相似性(左);token 与其路由至的专家的相似性(右)

NLP 领域下游任务

盘古-Σ 已经使用了来自金融、健康等超过 40 个领域的语料进行预训练,证明其从多领域文本数据中学习知识的能力。在本项工作中,作者使用 ICT 服务的领域数据,包含无线网络、光、运营商 IT 等产品线的技术报告和工具手册等,评估 LocMoE 在专业领域知识的学习表现。根据概念间逻辑复杂程度分为 L1 至 L3,梳理出十类 NLP 领域任务的评测数据集。与原生盘古-Σ 相比,LocMoE 使得模型语义理解和表达能力都有一定程度的提高。图片

图:与原生盘古-Σ 相比,NLP 领域下游任务表现

产业盘古-ΣLocMoE
相关数据
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商。

https://www.huawei.com/cn/
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

专家网络技术

专家网络建立在专家系统(expert system)的基础之上,它的本质是一个事件驱动性的(event-driven)神经网络。与普通神经网络不同,专家网络的线性和非线性处理更加复杂,因为它以知识库(knowledge base)和推理机(inference machine)为基础。根据知识库构造一个推理网络,用专家系统的推理规则(inference rule)定义网络节点的线性和非线性处理函数。知识库系统的主要工作是搜集人类的知识,将之有系统地表达或模块化,使计算机可以进行推论、解决问题。推理机是由算法或决策策略来进行与知识库内各项专门知识的推论,依据使用者的问题来推得正确的答案。因此,专家网络初始的拓朴结构由知识库确定,网络的动态性则由推理机确定。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

暂无评论
暂无评论~