欢迎访问:沃派博客 每天不定时发布IT文章相关资讯
当前位置:沃派博客-沃派网 > IT文章 > 正文

斯坦福DAWNBench:华为云ModelArts深度学习训练全球最快

12-04 IT文章

近日,斯坦福大学发布了DAWNBenchmark最新成绩,在图像识别(ResNet50-on-ImageNet,93%以上精度)的总训练时间上,华为云ModelArts排名第一,仅需10分28秒,比第二名提升近44%。成绩证明,华为云ModelArts实现了更低成本、更快速度、更极致的体验。

斯坦福大学DAWNBench是用来衡量端到端的深度学习模型训练和推理性能的国际权威基准测试平台,相应的排行榜反映了当前全球业界深度学习平台技术的领先性。计算时间和成本是构建深度模型的关键资源,DAWNBench提供了一套通用的深度学习评价指标,用于评估不同优化策略、模型架构、软件框架、云和硬件上的训练时间、训练成本、推理延迟以及推理成本。


null

作为人工智能最重要的基础技术之一,近年来深度学习也逐步延伸到更多的应用场景。随着深度学习模型越来越大,所需数据量越来越多,深度学习的训练和推理性能将是重中之重。华为云ModelArts将结合华为在AI芯片、硬件、云设施、软件和算法的全栈优势,打造更快的普惠的AI开发平台。

下文将深入分析,华为云ModelArts如何做到性能极致——128块GPU,ImageNet训练时间10分钟。

1. 深度学习已广泛应用,模型增大、数据增长,深度学习训练加速的需求日益剧增

近年来,深度学习已经广泛应用于计算机视觉、语音识别、自然语言处理、视频分析等领域,可服务于视频监控、自动驾驶、搜索推荐、对话机器人等场景,具有广阔的商业价值。

为了达到更高的精度,通常深度学习所需数据量和模型都很大,训练非常耗时。例如,在计算机视觉中,如果我们在ImageNet[1]数据集上用1块V100 GPU训练一个ResNet-50模型, 则需要耗时将近1周。这严重阻碍了深度学习应用的开发进度。因此,深度学习训练加速一直是学术界和工业界所关注的重要问题,也是深度学习应主要用的痛点。

Jeremy Howard等几位教授领衔的fast.ai当前专注于深度学习加速,在ImageNet数据集上用128块V100 GPU训练 ResNet-50模型的最短时间为18分钟。

然而,最近BigGAN、NASNet、BERT等模型的出现,预示着训练更好精度的模型需要更强大的计算资源。可以预见,在未来随着模型的增大、数据量的增加,深度学习训练加速将变得会更加重要。只有拥有端到端全栈的优化能力,才能使得深度学习的训练性能做到极致。

[1] 文中所指的ImageNet数据集包含1000类个类别,共128万张图片,是最常用、最经典的图像分类数据集,是原始的ImageNet数据的一个子集。

2. 华为云ModelArts创造新纪录,“极致”的训练速度

华为云ModelArts是一站式的AI开发平台,已经服务于华为公司内部各大产品线的AI模型开发,几年下来已经积累了跨场景、软硬协同、端云一体等多方位的优化经验。ModelArts提供了自动学习、数据管理、开发管理、训练管理、模型管理、推理服务管理、市场等多个模块化的服务,使得不同层级的用户都能够很快地开发出自己的AI模型。

null


在模型训练部分,ModelArts通过硬件、软件和算法协同优化来实现训练加速。尤其在深度学习模型训练方面,华为将分布式加速层抽象出来,形成一套通用框架——MoXing(“模型”的拼音,意味着一切优化都围绕模型展开)。采用与fast.ai一样的硬件、模型和训练数据,ModelArts可将训练时长可缩短到10分钟,创造了新的纪录,为用户节省44%的时间。

null

3.分布式加速框架MoXing

MoXing是华为云ModelArts团队自研的分布式训练加速框架,它构建于开源的深度学习引擎TensorFlow、MXNet、PyTorch、Keras之上,使得这些计算引擎分布式性能更高,同时易用性更好。

高性能

MoXing内置了多种模型参数切分和聚合策略、分布式SGD优化算法、级联式混合并行技术、超参数自动调优算法,并且在分布式训练数据切分策略、数据读取和预处理、分布式通信等多个方面做了优化,结合华为云Atlas高性能服务器,实现了硬件、软件和算法协同优化的分布式深度学习加速。

null

易用:让开发者聚焦业务模型,无忧其他

在易用性方面,上层开发者仅需关注业务模型,无需关注下层分布式相关的API,仅需根据实际业务定义输入数据、模型以及相应的优化器即可,训练脚本与运行环境(单机或者分布式)无关,上层业务代码和分布式训练引擎可以做到完全解耦。

4.从两大指标看MoXing分布式加速关键技术

在衡量分布式深度学习的加速性能时,主要有如下2个重要指标:

1)吞吐量,即单位时间内处理的数据量;

2)收敛时间,即达到一定的收敛精度所需的时间。

版权保护: 本文由 沃派博客-沃派网 编辑,转载请保留链接: http://www.bdice.cn/html/9341.html