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

简介: 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加速,到深度学习框架优化的全栈异构计算服务平台。

目录
相关文章
|
7月前
|
存储 机器学习/深度学习 人工智能
阿里云视觉智能开放平台确实拥有视频目标检测的能力
【2月更文挑战第9天】阿里云视觉智能开放平台确实拥有视频目标检测的能力
152 7
|
7月前
|
SQL 存储 数据管理
阿里云视觉智能开放平台的逻辑数仓基于统一的SQL语法
【2月更文挑战第9天】阿里云视觉智能开放平台的逻辑数仓基于统一的SQL语法
229 2
|
7月前
|
开发者 Python
阿里云视觉智能开放平台中,请问这个如何排查?
【2月更文挑战第9天】阿里云视觉智能开放平台中,请问这个如何排查?
71 6
|
6月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之uniapp框架如何使用阿里云金融级人脸识别
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
141 0
|
4月前
|
存储 安全 API
"解锁企业级黑科技!用阿里云视觉智能打造钉钉级人脸打卡系统,安全高效,让考勤管理秒变智能范儿!"
【8月更文挑战第14天】随着数字化办公的发展,人脸打卡成为企业考勤的新标准。利用阿里云视觉智能开放平台构建类似钉钉的人脸打卡系统,其关键在于:高精度人脸识别API支持复杂场景下的快速检测与比对;活体检测技术防止非生物特征欺骗,确保安全性;云端存储与计算能力满足大数据处理需求;丰富的SDK与API简化集成过程,实现高效、安全的考勤管理。
98 2
|
4月前
|
缓存 负载均衡 算法
"揭秘!阿里云视觉智能开放平台人脸1vn搜索慢?轻松几招,QPS飙升,让你的应用快如闪电,用户体验秒变VIP级享受!"
【8月更文挑战第14天】在数字浪潮中,人脸识别技术广泛应用于安全监控到个性化服务等领域。阿里云视觉智能开放平台凭借其强大算法和服务模式成为行业翘楚。面对人脸1:Vn搜索响应慢的问题,不仅可通过增加QPS优化,还需从参数调整、缓存机制、并行处理及算法硬件升级等方面综合施策,以实现搜索速度与准确性的双重提升。
54 2
|
4月前
|
机器学习/深度学习 算法 搜索推荐
"震撼揭秘!阿里云AIGC智能图像识别:黑科技如何颠覆你的视界,让图像识别秒变超能力,生活工作全面革新!"
【8月更文挑战第12天】在数字化浪潮中,图像数据激增,高效准确处理成为关键。阿里云智能图像识别服务(AIGC)应运而生,依托深度学习与计算机视觉技术,实现图像特征精确提取与理解。通过大规模数据训练及优化算法,AIGC在图像分类、目标检测等方面表现出色。其应用场景广泛,从电商的商品识别到内容安全审核,再到智能交通和医疗影像分析,均展现出巨大潜力。示例代码展示了AIGC图像生成的基本流程,彰显其技术实力与未来前景。
100 1
|
6月前
|
算法 小程序 开发工具
视觉智能开放平台操作报错合集之同样的图片路径(上海阿里云),sdk报错code.400,是什么原因
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
|
7月前
|
机器学习/深度学习 API 计算机视觉
阿里云视觉智能平台的自学习服务
【2月更文挑战第2天】阿里云视觉智能平台的自学习服务
70 10
|
7月前
|
API 网络安全
阿里云视觉智能平台中人脸搜索功能在长时间不使用后第一次使用时出现连接失败
阿里云视觉智能平台中人脸搜索功能在长时间不使用后第一次使用时出现连接失败
269 2
下一篇
无影云桌面