开发者社区> 雁鹰> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

解密 | 阿里云破图像识别世界纪录的背后

简介: 2018年12月25日,斯坦福大学发布最新的DAWNbench深度学习推理榜单,阿里云获得了图像识别性能及成本双料冠军。本文将深度解读背后的技术秘密。
+关注继续查看

本文原作者:昀龙、顾真

2018年12月25日,斯坦福大学发布最新的DAWNbench深度学习推理榜单,阿里云获得了图像识别性能及成本双料冠军,打破了基于亚马逊AWS计算平台保持的长达8个月的纪录。这是该榜单首次出现中国科技公司。

阿里云技术团队使用ecs.gn5i-c8g1.2xlarge实例,以每张图片4.218ms的性能(见图2),0.00000154美金(见图4)的推理成本分别登顶推理性能和成本榜单,不仅性能是第二名基于Amazon EC2 [c5.18xlarge]实例的2.36倍,而且平均每张图片的推理成本也比第二名低6.1%。

image


图1 图像识别示意图

尽管针对DNN性能的优化始终是学术界及产业界研发的热点,但在DAWNbench竞赛推出之前,业内并没有一个对深度学习训练及推理任务进行端到端评价的标准。DAWNbench竞赛是第一个既关注性能指标,也关注模型精度及成本等指标的竞赛。自从斯坦福大学在2017的NIPS会议上发布DAWNbench竞赛以来,该竞赛吸引了产业界的极大关注。

阿里云参与了DAWNbench竞赛中的两个项目:1,针对ImageNet验证集中50000张图片的分类任务,要求分类模型的Top-5精度不低于93%,统计分类每一张图片的平均延迟,延迟越低,性能越高,排名越高。2,在每次一张的情况下,完成50000张图片推理的平均成本

bb35eea5daf9606126f19683fdbe2190


图2 DAWNbench竞赛的推理性能榜单(截取日期:2018年12月25日)

2bf228f956695844a7f43c6d0dbb1286


图3 DAWNbench竞赛的推理成本榜单(截取日期:2018年12月25日)

5E070F20_AD61_4ba9_AF4C_8D28D94A75A8


图4 DAWNbench竞赛阿里云的推理成本数据

图2与图3分别给出了截止2018年12月25日这两个项目的排名情况。从图2与图3可以看到,在这两个子项目上,阿里云均名列第一。为了在这两个任务上达到最快的性能,和最低的成本,参赛团队从以下三个维度开展了优化:1,深度学习模型的选择;2,8bit量化优化;3,阿里云GPU实例的选择。

深度学习模型的选择

在阿里云团队参赛之前,ImageNet推理任务榜单的第一名选择了ResNet50模型,在Amazon EC2 [c5.18xlarge]实例上以推理性能9.96ms和平均推理成本1.64E-06美金排名第一。该模型源自于Facebook在1小时内完成ImageNet训练的论文“Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour”,将之标记为ResNet50-v2,将原始的ResNet50模型标记为ResNet50-v1。虽然ResNet50-v2更易于训练,但其训练计算量增加了约12%,推理计算量增加了约6%。对于推理任务,在精度达标的情况下,任何程度上计算量的节省都是有价值的。基于此,阿里云团队选择了ResNet50-v1模型。

image


图5 ResNet50模型训练过程中学习率的设置

在训练ReseNet50-v1模型的过程中,采用经典的三段式格式,很难达到93%的Top-5精度。为了解决精度问题,参赛团队遍历了超参数空间,但ReseNet50-v1模型的Top-5精度仍旧难以稳定的超过93%。为了解决该问题,团队设计了图5中的学习率格式,训练的早期学习率线性增大至峰值,随后线性衰减。以该学习率为基础,最终得到了Top5精度为93.28%的ResNet50-v1模型。

Int8量化

低比特量化是提升推理性能的一种主要手段,尽管目前已经有了采用1比特或2比特进行ResNet网络推理的研究,但这些过低精度的量化往往导致了较大的精度损失。与此相对,阿里云团队采用了Int8量化方法,在提升计算性能的同时,兼顾了模型的预测精度。

为了使优化的成果服务于广大的阿里云客户,团队选择了TensorFlow这一流行的深度学习框架来开展优化,其中Int8量化的工作基于TensorRT开展。优化的难点在于将训练好的TensorFlow模型量化为TensorRT的Int8模型,并将量化后的TensorRT模型加载进TensorFlow计算图中进行推理。

随后,团队基于TensorFlow的Benchmark代码开展了深度优化。在Int8量化的过程中,需要计算量化前后的Kullback-Leibler散度,以实现神经网络各层激活值动态范围的校准。团队首先实现了校准过程,这个过程包含了三个环节:Int8量化模型的建立、针对量化模型的校准、基于校准结果产生优化后的Int8模型。随后优化了Benchmark的推理模式,使其能够导入优化后的推理引擎。

阿里云GPU实例的选择

参赛团队选择了支持8b计算的NVIDIA Tesla P4 GPU,以及基于该GPU的阿里云ecs.gn5i-c8g1.2xlarge实例。该实例包含了一个8核的vCPU,及1块P4 GPU。该实例提供了三种价格选项:包年包月,按量付费及抢占式实例。在抢占式实例下,每个实例每小时的价格仅为7.015元。

GPU Latency(ms) Top5 Accura
Tesla P4 4.218 93.16%

表1,阿里云ecs.gn5i-c8g1.2xlarge实例的平均推理性能及精度

表1给出了在阿里云ecs.gn5i-c8g1.2xlarge实例上,针对DawnBench竞赛ImageNet推理任务的优化结果。由表1可以看到,在ecs.gn5i-c8g1.2xlarge实例上,每次完成1张图片推理的平均性能为4.218ms,是第二名基于Amazon EC2 [c5.18xlarge]实例的2.36倍。当采用按量付费购买模式时,成本为1.54E-06美金,比第二名节省6.1%。而在抢占式实例下,成本将进一步降低为1.23E-06美金,比第二名节省26.2%。完成50000张图片的推理精度为93.16%,超出ImageNet推理任务精度要求。

优化成果可用于计算机视觉任务中广泛使用的ResNet、Inception 等模型,而且已经集成在了阿里云GPU计算平台加速框架(Perseus)内,将以镜像的形式为使用GPU的客户提供更好的使用体验。阿里云正在构建从虚拟化,存储,GPU加速,到深度学习框架优化的全栈异构计算服务平台。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云高校计划视觉AI五天训练营教程 Day 5 - 创意日-你的图像识别项目
图像识别技术是基于阿里云深度学习技术,可实现精准识别图像中的视觉内容,包括上千种物体标签、数十种常见场景等,为您提供图像打标、场景分类、颜色识别、风格识别以及元素识别等能力。图像识别技术可广泛应用于数字营销、新零售、广告设计等行业场景。
0 0
阿里云图像识别Java调用示例参考
本文给出使用Java语言分别使用网络图片和本地图片调用场景识别API的示例。
0 0
【阿里云MVP Meetup 第四期】产业中的“图像识别”分享与探索,干货来袭!
【阿里云 MVP Meetup第四期】在北京阿里巴巴创新中心现场,AI for Industries,邀请工业行业的MVP 和阿里巴巴iDST同学们同台分享和探索产业中的“图像识别”,为开发者们带来产业AI实践经验盛宴。现场爆满,互动热烈,现场更有专家一对一咨询。
3333 0
阿里云智能图像识别服务发布
本文的整理自2017云栖大会-上海峰会上阿里巴巴iDST研究员华先胜,关于智能图像识别服务发布的讲义。从图像识别介绍、到市场分析、再到阿里云解决方案,最后进行了功能展示以及介绍了如何调用服务的方式。
3041 0
阿里云机器学习技术分享1——图像识别之TensorFlow实现方法【视频+PPT】
阿里云AI之图像识别技术是如何实现的!?视频+PPT干货奉上 讲师简介:赵昆 阿里巴巴机器学习技术专家 欢迎加入阿里云机器学习大家庭,**钉钉群:11768691** , QQ群:567810612 一、阿里云机器学习之图像识别实践-基础篇: 观看视频:http://cloud.
2984 0
aliyunid阿里云国际站版代充-如何通过 SDK 使用海外云服务器ECS实例详细介绍
开发人员可以通过SDK创建阿里云国际版的海外云服务器ECS实例,下面aliyunid小编将简单介绍了如何通过Java SDK创建海外云服务器ECS实例。
0 0
+关注
雁鹰
阿里云ECS技术运营; 阿里云总监课第四期导演; 有表达力的技术青年,静心做一个云计算的布道者
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
阿里云存储产品手册
立即下载
阿里云AI产品必知必会系列电子书
立即下载
阿里云云原生 Serverless 案例集
立即下载