拿下AI榜双冠背后 华为云ModelArts的性能秘密
作者:媒体转发 时间:2019-04-02 16:16

就在上周三,斯坦福大学发布了最新的 DAWNBench 榜单,这是全球人工智能领域最权威的竞赛之一。华为云 ModelArts 一站式AI开发平台,将图像识别总训练时间和推理性能榜单的冠军收入囊中。
此次华为云 ModelArts 将训练时间缩短至4分8秒,比3个月前榜单公布的纪录足足快了一倍。而此前几次 DAWNBench 图像识别训练的最佳纪录也均由华为云 ModelArts 创造。
大洋彼岸的喜讯刚刚公布,仅隔一日,榕城福州又为AI开发者们带来新的好消息。在华为中国生态伙伴大会上,华为云 AI 市场正式发布。这个在华为云 ModelArts 平台基础上构建的开发者生态社区,为高校、企业及个人开发者等群体提供安全开放、公平可靠的 AI 模型、API、数据集以及竞赛案例等内容共享和交易。
那么,势头强劲的华为云 ModelArts 究竟有何超能力?它如何在高手如云的基准测试中,仅用短短3个月便打破自己的纪录?它又分别对训练和推理做了哪些优化,从而实现如此出色的性能?新发布的AI市场又为 AI 开发者们带来了哪些便利?本文将一一揭晓华为云 ModelArts 的技术硬实力究竟强在哪儿。
捧走训练推理双料冠军,比此前最高训练纪录快1倍
斯坦福 DAWNBench 榜单是用以衡量端到端的深度学习模型训练和推理性能的国际权威基准测试平台,相应的排行榜反映了当前业界深度学习平台技术的领先性。
该榜单最新的图像识别排行榜显示,在训练性能方面,华为云 ModelArts 用128块 V100 GPU,在 ResNet50_on_ImageNet(93%以上精度)上训练模型,训练时间仅为4分08秒,较其2018年12月创下的9分22秒纪录快了1倍,比此前 fast.ai 在AWS平台上的训练速度快4倍。

在推理性能方面,华为云 ModelArts 识别图片的速度是第二名的1.72倍、亚马逊的4倍、谷歌的9.1倍。

华为云 ModelArts 是如何做到在国际权威深度学习模型基准平台上表现出色,并在短短3个月的时间打破自己创造的纪录?
这就要归功于 ModelArts 团队从训练和推理两大部分着手,包括高性能分布式模型训练和极速推理技术在内的一系列优化。
优化训练的三大维度:网络结构、框架和算法
在训练方面,华为云 ModelArts 团队主要从深度神经网络结构、分布式训练框架、深度学习训练算法三个维度展开优化。
1、深度神经网络结构优化
本次使用的网络结构是基于经典的 ResNet50 结构。由于在训练中使用了 128*128 的低分辨率输入图片来提升训练的速度,对训练精度产生了一定影响,原始模型无法在维持训练 epoch 数的情况下将模型训练到指定的 top5 93% 精度。
为此,ModelArts 团队对 ResNet50 中的卷积结构进行了优化,从而在低分辨率训练模式下也能够稳定达到目标精度。
2、分布式训练框架优化
深度学习训练过程涉及大规模的参数的网络间传递。TensorFlow 使用中心化的网络参数服务器(Parameter Server)来承担梯度的收集、平均和分发工作,对 server 节点的访问会成为瓶颈,带宽利用率低。为此 ModelArts 团队使用 AllReduce 算法来进行梯度聚合来优化带宽。

同时对传输的梯度进行融合,对小于阈值大小的梯度多次传输合并为一次,提升带宽利用率;另外在通信底层采用 NVIDIA 的 NvLink、P2P 等技术来提升节点内和节点间通信带宽,降低通信时延。

3、深度学习训练算法优化
在本次的训练过程中使用的分布式全局 batch size 为32768,这样的超大 batch size 提升了训练的并行度,但也导致了收敛精度降低的问题。为此 ModelArts 团队实现《Large Batch Training of Convolutional Networks》中提出的层次自适应速率缩放(LARS)算法,在全局学习率调度方面,使用了带 warmup 的 linear cosine decay scheduler,训练优化器则采用 momentum 算法。

在本次提交的训练结果中,ModelArts 仅用了35个 epoch 即将模型训练到了指定精度,并在全程除了最后一个 epoch 外均保持在32K的大 batch size 下,最终用时4分08秒,比之前的成绩再次提升了一倍。
优化推理的三大维度:网络结构、量化与剪枝
在推理方面,ModelArts 团队从以下三个方面进行了优化:1.网络结构优化2. Int8 量化3. 神经网络卷积通道剪枝。
1、网络结构优化


