IT之家 11 月 27 日信息,据微软公司亚洲地区研究所公布,做为现在唯一被证实可以将深度学习模型拓展到万亿元以上主要参数的方式,MoE 能让模型学习培训其他信息,并为机器视觉、语音识别技术、自然语言理解和翻译机器系统软件等提供适用。最近,微软公司亚洲地区研究所公布了一个高性能 MoE 库 ——Tutel,并在 8x 80GB NVIDIA A100 和 8x 200Gbps 的 InfiniBand 互联网的 Azure NDm A100 v4 连接点上开展了试验。使我们看来一看,这一用以推动规模性 DNN 模型开发设计的高性能 MoE 库有什么优点?其表現又怎样?
混和权威专家(Mixture-of-Experts,通称 MoE)是一种深度学习模型构架,其核算成本与基本参数的数目呈次线性相关,因而更非常容易拓展。MoE 是当前唯一被证实可以将深度学习模型拓展到万亿元以上主要参数的方式,它能让模型学习培训其他信息,并为机器视觉、语音识别技术、自然语言理解和翻译机器系统软件等提供适用,进而以最新的方法为人类社会提供协助。
近日,微软公司亚洲地区研究所公布了一个用以推动规模性 DNN 模型开发设计的高性能 MoE 库 ——Tutel,并对于已广泛采用的新 Azure NDm A100 v4 系列产品开展了高度优化。依靠 Tutel 多元化和灵巧的 MoE 优化算法适用,AI 行业的开发商可以更轻轻松松、高效率地实行 MoE。与最现代化的 MoE 完成方法,如 fairseq(Meta 的 Facebook AI 研究所根据 PyTorch 的 Sequence to Sequence 工具箱)对比,针对单独 MoE 层,Tutel 在具备 8 个 GPU 的单独 NDm A100 v4 连接点上保持了 8.49 倍的加快,在具备 512 个 A100 GPU 的 64 个 NDm A100 v4 连接点上保持了 2.75 倍的加快。在端到端性能层面,归功于 all-to-all 通讯优化,Tutel 在 Meta(原 Facebook 企业)的 1.1 万亿元主要参数的 MoE 语言表达模型中应用 64 个 NDm A100 v4 连接点完成了 40% 以上的加快。
Tutel 具备较好的兼容性问题和充足的作用,保证 了其在 Azure NDm A100 v4 集群上运转时可以充分发挥优秀的性能。现阶段,Tutel 已开源系统,并已集成化到 fairseq 中。
Tutel GitHub 连接:https://github.com/microsoft/tutel
Tutel MoE 的三大优点
做为 fairseq、FastMoE 等别的高质量 MoE 解决方法的填补,Tutel 关键致力于优化面对 MoE 的估算和 all-to-all 通讯,及其别的多元化和灵巧的 MoE 优化算法适用。Tutel 具备简单的插口,可以轻轻松松集成化到别的 MoE 解决方法中。自然,开发者还可以重新开始,运用 Tutel 的插口将单独的 MoE 层合拼到他们自己的 DNN 模型中,立即从高度优化的、最现代化的 MoE 作用中获益。
与目前的 MoE 解决方法对比,Tutel 具备下列三个关键优点:
优化面对 MoE 的测算。因为欠缺有效的完成方式,现阶段根据 MoE 的 DNN 模型取决于深度学习架构(如 PyTorch、TensorFlow 等)提供的好几个现有 DNN 操作符的拼合来构成 MoE 测算。因为必须多余测算,这类行为会造成明显的性能花销。Tutel 设计方案并达到了好几个高度优化的 GPU 核心,为面对 MoE 的测算提供了操作符。例如,Tute l 将生产调度“輸出选通(gating output)”的算法复杂度从 O (N^3) 减少到 O (N^2),明显增强了数据信息生产调度的高效率。Tutel 还建立了迅速 cumsum-minus-one 操作符(fast cumsum-minus-one operator),与 fairseq 完成方法对比,做到了 24 倍的加快。除此之外,Tutel 还运用 NVRTC(CUDA C 的运作时编译程序库)进一步即时优化了定做的 MoE 核心。
图 1 比照了 Tutel 与 faireseq 在 Azure NDm A100 v4 服务平台上的运作結果,如前所述,应用 Tutel 的单独 MoE 层在 8 个 A100 GPU 上保持了 8.49 倍的加快,在 512 个 A100 GPU 上保持了 2.75 倍的加快。
图 1:与 fairseq 对比,针对单独 MoE 层,Tutel 在具备 8 个 GPU 的单独 NDm A100 v4 连接点上保持了 8.49 倍的加快,在具备 512 个 A100 GPU 的 64 个 NDm A100 v4 连接点上保持了 2.75 倍的加快。详尽设定为:batch_size = 32, sequence_length = 1,024, Top_K = 2, model_dim = 2,048, ands hidden_size = 2,048
在 Azure NDm A100 v4 集群上完成最底层 all-to-all 通讯优化。Tutel 对于 Azure NDm A100 v4 集群上的规模性 MoE 练习,优化了 all-to-all 汇聚通讯(collective communication),主要包括 CPU-GPU 关联和响应式路由器(AR)调节。在非一致储存浏览构造(NUMA)系统软件上,尤其是在 NDv4 VM 上,恰当的 CPU-GPU 关联针对 all-to-all 性能十分重要。可是,目前的人工神经网络架构(TensorFlow、PyTorch 等)并没有提供高效率的 all-to-all 通讯库,造成规模性分布式系统练习的性能降低。
Tutel 可以全自动优化关联,并为客户调整提供简约的插口。除此之外,Tutel 在 NDm A100 v4 群集上采用了多路径技术性,即 AR。针对 MoE 中的 all-to-all 通讯,每一个 GPU 通讯的总手机流量经营规模并不会产生变化,但每一个 GPU 中间的信息经营规模会伴随着 GPU 总数的提高而缩小。而更小的信息经营规模会在 all-to-all 通讯中发生很大的花销,造成 MoE 练习性能降低。依靠 Azure NDm A100 v4 群集提供的 AR 技术性,Tutel 提升了小信息组的通讯高效率,并在 NDv4 系统软件上提供了高性能的 all-to-all 通讯。归功于 CPU-GPU 关联和 AR 调节,Tutel 应用 512 个 A100 GPU,对通常用以 MoE 练习的每一次互换的上百兆字节的信息,完成了 2.56 倍到 5.93 倍的 all-to-all 加快,如下图 2 所显示。
图 2:在运用 Tutel 前后左右,具备 64 个 NDm A100 v4 连接点(512 个 A100 GPU)的不一样信息尺寸的 all-to-all 网络带宽。Tutel 应用 512 个 A100 GPU,对尺寸为上百兆字节的信息完成了 2.56 倍到 5.93 倍的 all-to-all 加快。
多种多样、灵便的 MoE 优化算法适用。Tutel 为最现代化的 MoE 优化算法提供了多元化且灵敏的适用,包含:
为 Top-K gating 优化算法设定随意 K 值(大部分完成方式仅适用 Top-1 和 Top-2 )。
不一样的探寻对策,包含大批量优先选择路由器、键入信息内容遗失、键入颤动。
不一样的精密度等级,包含半精密度(FP16)、全精度(FP32)、混和精密度等(下一个版本号里将适用 BF16)。
不一样的设施种类,包含 NVIDIA CUDA 和 AMD ROCm 机器设备等。
Tutel 将积极主动融合来源于开源项目的各种各样新起 MoE 优化算法。
Tutel 与 Meta 的 MoE 语言表达模型集成化
先前,Meta 就开源系统了自个的 MoE 语言表达模型,并运用 fairseq 完成了 MoE。微软公司亚洲地区研究所与 Meta 协作将 Tutel 集成化到了 fairseq 工具箱中。Meta 也一直用 Tutel 在 Azure NDm A100 v4 上练习其大中型语言表达模型,该模型中根据专注力的神经系统构架类似 GPT-3。
微软公司亚洲地区研究所的研究者们应用 Meta 的语言表达模型评定了 Tutel 的端到端性能。该模型有 32 个专注力层,每一个层都是有 32 个 128 维专注力头(32×128-dimension heads)。每 2 层中包括 1 个 MoE 层,而每一个 GPU 都装有一名权威专家(expert)。表 1 汇总了模型的详尽设定主要参数,图 3 则展现了 Tutel 的提速实际效果。因为 all-to-all 通讯变成短板,因此伴随着 GPU 总数的提升,Tutel 产生的改善从 8 个 A100 GPU 的 131% 提高至 512 个 A100 GPU 的 40%。研究者们将在下一个新版本中对于做进一步优化。
表 1:512 个 A100 (80G) GPU 的 MoE 语言表达模型配备
图 3:在端到端性能层面,Tutel 在 Meta 的 1.1 万亿元主要参数的 MoE 语言表达模型中应用 64 个 NDm A100 v4 连接点实现了 40% 以上的加速。
MoE 技术性市场前景宽阔,它可以根据很多行业的技术性,完成总体练习,例如系统软件路由器、大量连接点的互联网均衡,乃至可以从根据 GPU 的加速中受益。微软公司亚洲地区研究所展现了一个有效的 MoE 完成方法 ——Tutel,它比 fairseq 框架拥有明显的发展。
如今,Tutel 也已集成到了 DeepSpeed 框架中。坚信 Tutel 和相应的集成将使大量 Azure 服务项目受益,尤其是针对这些希望高效率拓展已有大中型实体模型的顾客。今日的 MoE 仍处在前期环节,必须投入大量勤奋才可以充分运用 MoE 的发展潜力,因而研究者们也将持续提升 Tutel,希望将来可以给大伙儿提供大量令人激动的探讨和运用成效。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。