微软发布了高性能MoE(Mixture of Experts)函数库Tutel,可用来促进大规模深度神经网络(DNN)模型的开发,Tutel借由支持多样化灵活的MoE算法,使得跨人工智能领域的开发人员,可以更高效地执行MoE。
MoE是一种深度学习模型架构,可以让不同专家网络,来处理相同领域的异质问题,以计算机视觉来说,就可以结合侦测人类的神经网络,以及姿势评估的其他神经网络。微软提到,要将深度模型扩展至数万亿参数,MoE是目前唯一一种方法,能够让模型学习更多的信息,使计算机视觉、语音识别、自然语言处理和机器翻译系统等模型更加强大。
Tutel针对微软新发布的Azure NDm A100 v4系列执行实例进行优化,通过与Meta最先进的MoE实例fairseq相比,Tutel加速可达到2.75倍。以端到端的性能来说,Tutel获益于全体对全体(All-to-All)通信优化功能,比起Meta拥有1.1万亿参数的MoE语言模型,在同样使用64个NDm A100 v4节点上,可以实现40%以上的加速。
脸书解释,Tutel作为fairseq、FastMoE和其他高端MoE解决方案的补充,Tutel的重点摆在MoE特有运算和全体对全体通信的优化,并且支持各种灵活的算法。Tutel具有简洁的接口,可以简单地集成到其他MoE解决方案中,又或是开发人员可以使用Tutel,从头开始将独立的MoE层,整合到自己的DNN模型中,并直接获得高度优化的MoE功能。
由于目前缺乏基于MoE的DNN实现,通常都必须依赖PyTorch和TensorFlow深度学习框架的多个现成DNN运算器,经过组合来执行MoE运算,官方提到,由于冗余计算的缘故,这样的做法会明显提高性能开销,而Tutel特别实例了多个经优化的GPU核心,提供MoE专用的运算符。
另外,Tutel还实例了快速cumsum-minus-1运算符,与fairseq中的实例相比,达到了24倍加速,Tutel也利用CUDA C Runtime编译函数库来以JIT优化自定义的MoE核心。
针对Azure NDm A100 v4集群上的大规模MoE训练,Tutel优化了其全体对全体通信,其使用CPU-GPU绑定技术和自适应路由调校,同样在512 A100 GPU上运算,Tutel比起fairseq加速可达2.56倍到5.93倍。
领取专属 10元无门槛券
私享最新 技术干货