成为VIP会员查看完整内容
VIP会员码认证
首页
主题
发现
会员
服务
注册
·
登录
0
微软亚洲研究院发布高性能MoE库Tutel,为大规模DNN模型开发提速!
2021 年 11 月 24 日
微软研究院AI头条
编者按:
作为目前唯一被证明能够将深度学习模型扩展到万亿以上参数的方法,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维注意力头(32x128-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%以上的加速。
Tutel将继续进化,充分发挥MoE潜力
MoE 技术前景广阔,它可以基于许多领域的技术,实现整体训练,例如系统路由、海量节点的网络平衡,甚至可以从基于 GPU 的加速中受益。微软亚洲研究院展示了一个高效的 MoE 实现方式——Tutel,它比 fairseq 框架有着显著的进步。
现在,Tutel 也已集成到了 DeepSpeed 框架中。相信 Tutel 和相关的集成将使更多 Azure 服务受益,特别是对于那些希望高效扩展自有大型模型的客户。今天的 MoE 仍处于早期阶段,需要付出更多努力才能充分发挥 MoE 的潜力,因此研究员们也将继续优化 Tutel,希望未来可以给大家带来更多令人兴奋的研究和应用成果。
你也许还想看
:
登录查看更多
点赞并收藏
0
暂时没有读者
1
权益说明
本文档仅做收录索引使用,若发现您的权益受到侵害,请立即联系客服(微信: zhuanzhi02,邮箱:bd@zhuanzhi.ai),我们会尽快为您处理
相关内容
DNN
关注
1
【AAAI2022】基于图神经网络的稀疏结构学习在文档分类中的应用
专知会员服务
34+阅读 · 2021年12月17日
超大规模智能模型产业发展报告(附下载)
专知会员服务
76+阅读 · 2021年9月25日
【ICML2021】蛋白质语言模型-MSA Transformer
专知会员服务
33+阅读 · 2021年8月16日
2021年中国对话机器人chatbot行业发展研究报告(附下载)
专知会员服务
50+阅读 · 2021年7月9日
【ICML2021】基于低秩重参数化的大规模私有学习
专知会员服务
11+阅读 · 2021年6月20日
千亿参数!阿里清华联合推理史上最大中文多模态预训练器M6!
专知会员服务
41+阅读 · 2021年3月3日
【阿里巴巴达摩院】TResNet: 高性能的GPU专用架构,GPU-Dedicated Architecture
专知会员服务
32+阅读 · 2020年4月1日
【普林斯顿大学-微软】加权元学习,Weighted Meta-Learning
专知会员服务
39+阅读 · 2020年3月25日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
29+阅读 · 2020年3月5日
深度学习算法与架构回顾
专知会员服务
81+阅读 · 2019年10月20日
阿里开源大规模稀疏推荐模型训练/预测引擎DeepRec
机器学习与推荐算法
0+阅读 · 2022年4月15日
性能最高提升 6.9 倍,字节跳动开源大模型训练框架 veGiantModel
机器之心
1+阅读 · 2022年3月21日
阿里巴巴开源大规模稀疏模型训练/预测引擎DeepRec
阿里技术
0+阅读 · 2022年3月21日
PyTorch 功能欠缺,Meta 推出 TorchRec 来补救?
CSDN
2+阅读 · 2022年3月3日
90.35%准确率!谷歌刚刚开源最大视觉模型V-MoE的全部代码!150亿参数!
CVer
0+阅读 · 2022年1月21日
150亿参数,谷歌开源了史上最大视觉模型V-MoE的全部代码
极市平台
0+阅读 · 2022年1月16日
英伟达PyTorch优化神器TensorRT重磅更新!10亿参数大模型实时运行,GPT推理加速21倍
新智元
0+阅读 · 2021年12月3日
首次赢得WMT机器翻译大赛,Meta证明单个多语言模型强于双语模型
机器之心
0+阅读 · 2021年11月15日
深度学习变天,模型越做越小!Google发布FLAN,模型参数少400亿,性能超越GPT-3
THU数据派
0+阅读 · 2021年9月17日
聊一聊“超大模型”
夕小瑶的卖萌屋
1+阅读 · 2021年7月6日
公共就业规模和结构优化的机理与模型
国家自然科学基金
0+阅读 · 2014年12月31日
面向协同的设计重用启发模型
国家自然科学基金
0+阅读 · 2013年12月31日
云环境下基于BSP模型的大规模不动点迭代计算研究
国家自然科学基金
0+阅读 · 2013年12月31日
云计算环境中面向虚拟资源的能效模型及算法研究
国家自然科学基金
0+阅读 · 2012年12月31日
面向图像分割的自适应脉冲耦合神经网络理论及应用研究
国家自然科学基金
0+阅读 · 2012年12月31日
面向大规模三维模型集的交互式共分割及应用
国家自然科学基金
1+阅读 · 2012年12月31日
面向大规模物联网的路由策略与优化模型研究
国家自然科学基金
1+阅读 · 2012年12月31日
数字图像复原大规模问题的高性能算法研究
国家自然科学基金
0+阅读 · 2011年12月31日
基于非刚性变换不变性的动态三维几何模型分解技术研究
国家自然科学基金
1+阅读 · 2009年12月31日
大规模动态本体映射模型研究
国家自然科学基金
0+阅读 · 2009年12月31日
How to Attain Communication-Efficient DNN Training? Convert, Compress, Correct
Arxiv
0+阅读 · 2022年4月18日
An Overview of Query Processing on Crowdsourced Databases
Arxiv
0+阅读 · 2022年4月16日
CEDR -- A Compiler-integrated, Extensible DSSoC Runtime
Arxiv
0+阅读 · 2022年4月15日
Brazilian Court Documents Clustered by Similarity Together Using Natural Language Processing Approaches with Transformers
Arxiv
0+阅读 · 2022年4月14日
Deep Neural Network Based Relation Extraction: An Overview
Arxiv
14+阅读 · 2021年1月6日
Go Wide, Then Narrow: Efficient Training of Deep Thin Networks
Arxiv
15+阅读 · 2020年7月1日
Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks
Arxiv
14+阅读 · 2019年8月8日
Global Relation Embedding for Relation Extraction
Arxiv
10+阅读 · 2018年4月19日
Self-Attention with Relative Position Representations
Arxiv
27+阅读 · 2018年4月12日
Deep Semantic Role Labeling with Self-Attention
Arxiv
13+阅读 · 2017年12月5日
VIP会员
自助开通(推荐)
客服开通
详情
相关主题
DNN
微软亚洲研究院
Microsoft Azure
GPU
深度学习模型
微软
相关VIP内容
【AAAI2022】基于图神经网络的稀疏结构学习在文档分类中的应用
专知会员服务
34+阅读 · 2021年12月17日
超大规模智能模型产业发展报告(附下载)
专知会员服务
76+阅读 · 2021年9月25日
【ICML2021】蛋白质语言模型-MSA Transformer
专知会员服务
33+阅读 · 2021年8月16日
2021年中国对话机器人chatbot行业发展研究报告(附下载)
专知会员服务
50+阅读 · 2021年7月9日
【ICML2021】基于低秩重参数化的大规模私有学习
专知会员服务
11+阅读 · 2021年6月20日
千亿参数!阿里清华联合推理史上最大中文多模态预训练器M6!
专知会员服务
41+阅读 · 2021年3月3日
【阿里巴巴达摩院】TResNet: 高性能的GPU专用架构,GPU-Dedicated Architecture
专知会员服务
32+阅读 · 2020年4月1日
【普林斯顿大学-微软】加权元学习,Weighted Meta-Learning
专知会员服务
39+阅读 · 2020年3月25日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
29+阅读 · 2020年3月5日
深度学习算法与架构回顾
专知会员服务
81+阅读 · 2019年10月20日
热门VIP内容
开通专知VIP会员 享更多权益服务
《优化联合作战准备:日本视角》最新21页
《基于嵌入式导弹系统的自主防空系统以挫败巡航威胁的定量论证》90页
乌克兰首次完全依靠UGV 和 FPV 无人机全自动攻击俄罗斯部队
《中高度长航时遥控无人机自动定位和跟踪》190页
相关资讯
阿里开源大规模稀疏推荐模型训练/预测引擎DeepRec
机器学习与推荐算法
0+阅读 · 2022年4月15日
性能最高提升 6.9 倍,字节跳动开源大模型训练框架 veGiantModel
机器之心
1+阅读 · 2022年3月21日
阿里巴巴开源大规模稀疏模型训练/预测引擎DeepRec
阿里技术
0+阅读 · 2022年3月21日
PyTorch 功能欠缺,Meta 推出 TorchRec 来补救?
CSDN
2+阅读 · 2022年3月3日
90.35%准确率!谷歌刚刚开源最大视觉模型V-MoE的全部代码!150亿参数!
CVer
0+阅读 · 2022年1月21日
150亿参数,谷歌开源了史上最大视觉模型V-MoE的全部代码
极市平台
0+阅读 · 2022年1月16日
英伟达PyTorch优化神器TensorRT重磅更新!10亿参数大模型实时运行,GPT推理加速21倍
新智元
0+阅读 · 2021年12月3日
首次赢得WMT机器翻译大赛,Meta证明单个多语言模型强于双语模型
机器之心
0+阅读 · 2021年11月15日
深度学习变天,模型越做越小!Google发布FLAN,模型参数少400亿,性能超越GPT-3
THU数据派
0+阅读 · 2021年9月17日
聊一聊“超大模型”
夕小瑶的卖萌屋
1+阅读 · 2021年7月6日
相关基金
公共就业规模和结构优化的机理与模型
国家自然科学基金
0+阅读 · 2014年12月31日
面向协同的设计重用启发模型
国家自然科学基金
0+阅读 · 2013年12月31日
云环境下基于BSP模型的大规模不动点迭代计算研究
国家自然科学基金
0+阅读 · 2013年12月31日
云计算环境中面向虚拟资源的能效模型及算法研究
国家自然科学基金
0+阅读 · 2012年12月31日
面向图像分割的自适应脉冲耦合神经网络理论及应用研究
国家自然科学基金
0+阅读 · 2012年12月31日
面向大规模三维模型集的交互式共分割及应用
国家自然科学基金
1+阅读 · 2012年12月31日
面向大规模物联网的路由策略与优化模型研究
国家自然科学基金
1+阅读 · 2012年12月31日
数字图像复原大规模问题的高性能算法研究
国家自然科学基金
0+阅读 · 2011年12月31日
基于非刚性变换不变性的动态三维几何模型分解技术研究
国家自然科学基金
1+阅读 · 2009年12月31日
大规模动态本体映射模型研究
国家自然科学基金
0+阅读 · 2009年12月31日
相关论文
How to Attain Communication-Efficient DNN Training? Convert, Compress, Correct
Arxiv
0+阅读 · 2022年4月18日
An Overview of Query Processing on Crowdsourced Databases
Arxiv
0+阅读 · 2022年4月16日
CEDR -- A Compiler-integrated, Extensible DSSoC Runtime
Arxiv
0+阅读 · 2022年4月15日
Brazilian Court Documents Clustered by Similarity Together Using Natural Language Processing Approaches with Transformers
Arxiv
0+阅读 · 2022年4月14日
Deep Neural Network Based Relation Extraction: An Overview
Arxiv
14+阅读 · 2021年1月6日
Go Wide, Then Narrow: Efficient Training of Deep Thin Networks
Arxiv
15+阅读 · 2020年7月1日
Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks
Arxiv
14+阅读 · 2019年8月8日
Global Relation Embedding for Relation Extraction
Arxiv
10+阅读 · 2018年4月19日
Self-Attention with Relative Position Representations
Arxiv
27+阅读 · 2018年4月12日
Deep Semantic Role Labeling with Self-Attention
Arxiv
13+阅读 · 2017年12月5日
大家都在搜
无人艇
洛克菲勒
大型语言模型
CMU博士论文
技术报告
自主可控
palantir
版面分析
3D建模
GANLab 将GA
Top
提示
微信扫码
咨询专知VIP会员与技术项目合作
(加微信请备注: "专知")
微信扫码咨询专知VIP会员
Top