如何基于ModelArts实现最快最普惠的深度学习训练?
随着过去几年的发展,以ResNet50为代表的CNN模型已经成为了深度学习在计算机视觉方面最常用的模型之一。然而深度学习模型的训练通常非常慢,例如,如果用1块P100的GPU训练一个ResNet50需要1周时间(假如训练90个Epoch)。在工业界,我们都追求极致的训练速度,以便进行快速的产品迭代。
目前,学术界和工业界都在致力于加速深度学习训练的研究。例如,Jeremy Howard等几位教授领衔的fast.ai就是一个基于PyTorch的深度学习训练加速库,用128块V100 GPU训练ResNet50_on_ImageNet的时间为18分钟。另外,Chris Ying等人用1024块TPUv3实现了2.2分钟训练ResNet50_on_ImageNet,Hiroaki Mikami等人用3456块V100 GPU实现了2分钟训练。通常,上千块V100 GPU或者TPU的成本都非常高昂,我们如何用最少的GPU实现最快的训练,这对于企业来说才是真正普惠的。
为此,华为云ModelArts自研了MoXing深度学习分布式加速框架,基本架构图如下:
MoXing框架采用了软硬件协同优化策略:在数据优化方面,采用多级流水线、预处理优化、数据自动增强等策略;在训练超参方面,采用了动态超参初始值以及动态超参自适应调整等技术;在计算方面,采用业界熟知的混合精度计算并且进行了进一步优化,并且对算子和模型进行了细粒度编译优化;在分布式通信方面,实现了最优分布式模式自动选择,梯度参数量优化等技术。
目前,基于MoXing的分布式训练达到业界最佳,在ResNet50_on_ImageNet训练Benchmark排名业界第一(https://dawn.cs.stanford.edu/benchmark/ImageNet/train.html)。如下图所示:
- 点赞
- 收藏
- 关注作者
评论(0)