如何基于ModelArts实现最快最普惠的深度学习训练?
【摘要】 随着过去几年的发展,以ResNet50为代表的CNN模型已经成为了深度学习在计算机视觉方面最常用的模型之一。然而深度学习模型的训练通常非常慢,例如,如果用1块P100的GPU训练一个ResNet50需要1周时间(假如训练90个Epoch)。在工业界,我们都追求极致的训练速度,以便进行快速的产品迭代。
目前,学术界和工业界都在致力于加速深度学习训练的研究。...
随着过去几年的发展,以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)。如下图所示:
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
热门文章
评论(0)