写点什么

MoE:LLM 终身学习的可能性

  • 2023-11-07
    广东
  • 本文字数:2770 字

    阅读完需:约 9 分钟

MoE:LLM终身学习的可能性

本文分享自华为云社区《DTSE Tech Talk | 第47期:MoE:LLM终身学习的可能性》,作者:华为云社区精选。


在 DTSE Tech Talk 的第 47 期直播《MoE:LLM 终身学习的可能性》中,昇思 MindSpore 技术专家吕老师与各位开发者分享有关于 LLM lifelong learning 的概念,帮助大家了解持续学习的特性与理论知识,同时也详细介绍了 MoE 的发展史,让我们更为直观的去理解其中技术要点。

Continual lifelong learning(终身学习)


终身学习系统被定义为一种能够从连续的信息中学习的自适应算法,随着时间的推移,这些信息逐步可用,并且所要学习的任务数量(例如,分类任务中的成员类)不是预先定义的。关键的是,新信息的容纳应该在没有灾难性遗忘或干扰的情况下发生。

持续学习的目标与特性


持续学习的目标是在模型持续输入学习新数据的同时避免旧知识的遗忘,以下是其性质与定义。

参考文献:Continual Lifelong Learning in Natural Language Processing: A Survey-2020 年发表



LLM 的性质:


参考文献:A Survey-2020 年发表



以上可以看出 LLM 实际上已经满足了大部分持续学习的性质,百亿千亿级别的大模型经过充足的预训练后,具备大量世界知识以及涌现能力,基于此进行终身学习成为可能。


常见的 LLM 终身学习方法有 Rehearsal(排练), Regularization(正则), Architectural(结构改造)等方式在 LLM 的参数量和训练模式下其实都不太适用。而 LLM 本身为了增大参数量和减少推理成本的混合专家方法(Mixture of Experts, MoE) 似乎成了 LLM 终身学习的新途径。

MoE 的简介


MoE 即混合专家模型,英文叫 Mixture of Experts, 发展至今已有 30 多年历史。MoE 是一种模型设计策略,它通过将多个模型直接结合在一起,以获得更好的预测性能。在大模型中,MoE 方案可以有效的提高模型的容量和效率。


一般来说,大模型的 MoE 有一个门控机制和一套门控输出机制来合并和平衡专家的选择,用于决定每个专家对最终预测的;有一套专家模型选择机制,会根据门控机制的输出选择一部分专家模型进行预测。这样可以较少计算量,并使模型能够针对不同的输入选择最合适的专家模型。

MoE 示意图



图中多个 Export Network 用于学习不同数据,一个 Gating Network 用于分配每个个 Expert 的输出权重。对于一个输入样本 c,第 i 个 expert 的输出为


Ground truth 是


则损失函数为:



提前,使得每个专家模型单独计算损失函数,鼓励不同专家模型的竞争,使得每个数据样尽可能被一个专家处理。专家模型的竞争、合作,以及 Gating Network 的分发方式,也成为了 MoE 演进过程中不断更迭出新的方向。2017 年 MoE 已初见成型。

Sparse MoE


Google Brain 的 Shazeer,Noam,等人提出使用稀疏的 MoE 结构来将模型容量做大的方法,即:训练时使用海量的专家模型,推理时激活少数专家模型。

Sparse MoE 示例图



如上图所示,模型共有 n 个 Expert,Gating Network 选择少数 Expert 进行计算。此外,在训练过程中前期编号的 expert 会更容易被 gating network 选择,导致只有少数几个 expert 有用,这被称为 Expert Balancing 问题。这时的 Sparse MoE 目标方向是将模型做大,以及经济高效地进行训练推理。同年,能够并行训练的 Transformer 的出现将所有人的目光都汇聚了过去。

Transformer MoE


当模型参数量到了千亿这个级别以后,再想向上扩展变得愈发困难,经济实用的 MoE 又被重启。还是 Google,提出了 GShard[4],首个将 MoE 思想拓展到 Transformer 的工作,而后 Siwtch Transformer[5]、GLaM[6]等工作持续改进着 Transformer MoE 的结构,也将 LLM 的参数量从千亿推向了万亿级别。

Gshard:首个 MoE+Transformer 模型


Gshard 的论文最早于 2020.6.30 发表(Gshard Scaling Giant Models with Conditional),Transformer 的 encoder 和 decoder 中,每隔一个(every other)FFN 层,替换成 position-wise MoE 层。



Switch Transformer 号称拥有万亿级别的 Transformer 类模型


2021 年 1 月,Google 大脑团队发布文章“Switch Transformer:scaling to trillion parameter models with simple and efficient sparsity”,其简化了 MoE 的 routing 算法,并且 gating network 每次只 route 到 1 个 expert。


GlaM:降本增效,精度更为精确


同年,Google 的 GlaM 模型表明,Transformer 和 MoE 风格的层可以组合在一起生成一个模型,在 29 个基准测试中平均超过 GPT-3 模型的精度,而使用 3 倍少的能耗进行训练和 2 倍少的计算进行推理。


PanGu-Sigma


Pangu-sigma[8]是今年 3 月华为诺亚方舟实验室基于 Pangu-alpha 模型进行 MoE 扩充实现的 Lifelong-MoE 模型。其提出了随机路由专家(RRE)方法,使得 Gating Network 也可以随着 Expert 进行裁剪。下图是 PanGu-Sigma 的示意图:



这里着重讲一下 RRE 的设计。前面提到既然可学习的 Gating Network 很难裁剪,那么可以简单粗暴地使用手动 Gating 地方式。RRE 就是这样地思路,只是为了缓解过于粗暴的领域区分(持续学习的性质之一就是无任务边界,手动 Gating 一定程度上违背了这一点),RRE 做了双层的设计:


  • 第一层,根据任务分配给不同的专家组(多个 expert 构成一个专家组,供一个 task/domain 使用)。

  • 第二层,使用组内随机 Gating,让专家组的 expert 可以负载均衡。


这样带来的好处是显而易见的,只要对专家组进行裁切,可以完全剥离出某个领域的子模型进行推理部署,同时也可以不断地更新迭代新的专家组,实现 Lifelong-learning。下图是预训练好的 MoE 模型进行子模型抽取的示意图。



以上两个工作,是 Lifelong-MoE 的两个典型工作,也分别延续了两家公司 LLM 的能力。但值得额外一提的是,MoE LLM 实际上从训练起点分为了两派,分别是 from scratch 和 from pretrained,而 GPT4 据称是 from scratch 的 8 个 Expert 集合,某种意义上可能更像是回到了 ensemble 阶段,更多是为了业务效果而非 LLM 的持续演进。

MoE 存在问题


Lifelong-MoE 看起来很好用,但是万事皆无完美,但 MoE 方法本身还是有一些问题,下面进行简单的介绍,也算是后续演进方向的探讨。


  • MoE 结构复杂度


Transformer 的 MoE 会对 FFN 层进行 MoE 扩展,但是 Transformer 结构本身还有 Multihead Attention 结构,这使得 MoE 扩展会变成 Transformer 结构的侵入式改造,而不管是训练前并行化的侵入式改造,还是训练完成后进行子模型的抽取,都会因为复杂的结构而需要投入大量人力。


  • Expert balancing


总会有一部分任务或领域占据所有数据的大部分,也一定会有长尾数据,使用等参数量、随机 Gating 的方式进行强制的均衡分配,实际上也是在伤害模型对现实世界的拟合。神经网络特点决定的嬴者通吃。

Gating Network 可学习会很自然的朝着几个拟合较好的 Expert 进行数据分配,这一点仍需要大量的尝试和研究,也许可以缓解,也许可以解决。


  • 分布式通信问题


当下的 LLM 预训练必然是要使用分布式并行切分的,而 MoE 结构和普通的 Dense 模型的差异在于,其需要额外的 AllToAll 通信,来实现数据的路由(Gating)和结果的回收。而 AllToAll 通信会跨 Node(服务器)、跨 pod(路由),进而造成大量的通信阻塞问题。


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 4
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
MoE:LLM终身学习的可能性_华为云_华为云开发者联盟_InfoQ写作社区