自动驾驶轻松开发?华为云ModelArts赋能智慧出行
作为战略新兴产业,人工智能已经开始广泛应用于多个领域。近几年,科技公司、互联网公司等各领域的企业纷纷布局自动驾驶。那么,自动驾驶技术究竟发展得如何了?日前,华为云携手上海交通大学创新中心举办的华为云人工智能大赛·无人车挑战杯(以下简称无人车挑战杯大赛)正在如火如荼地进行中。
此次大赛的难点之一在于无人车检测算法的开发。在开发过程中,参赛者需要自行采集交通灯、自动泊车位等图片数据,然后进行数据的预处理、标注,最后完成检测算法的开发并部署至无人车。
面对上述难点,华为云为选手提供了面向开发者的华为云全流程模型生产服务——ModelArts, 为开发者提供全流程的AI开发服务,包括数据准备、算法开发、模型训练、调参优化、模型部署以及AI开发全流程管理等。
1 数据准备
算法开发往往需要用到大量的训练数据。通过调查发现,数据准备和标注需要耗费整体开发50%+的时间。而ModelArts内置AI数据框架,包括数据采集、数据筛选、数据标注、数据集版本管理等功能,同时支持数据半自动化标注,能够大大提升数据准备的效率。
具体来说,ModelArts支持计算机视觉、自然语言处理、音视频等多种AI场景的数据标注,同时提供丰富的标注图形,包括矩形、多边形、圆形、点、直线、虚线等。通过预置算法和用户自定义算法可实现数据的自动标注,然后人工进行仅需少量的手工修正即可。如下图所示,标注人员可通过简单标识后,由工具自动化标识准确信息,如轮廓信息,在特定场景下可提升手工标注效率10倍。
针对无人车检测算法开发的数据准备环节,参赛者首先可以使用无人车上的华为云HiLens Kit摄像头来采集交通灯、泊车位图片数据;然后将采集好的数据上传至OBS桶中,并在ModelArts物体检测标注作业;接下来进行少量的人工标注后,可以启动智能标注;待智能标注完成后再进行人工确认标注结果,即完成了数据的准备工作。
2 算法开发
为降低AI开发门槛和简化开发过程,ModelArts集成了所有主流的AI算法框架,包括TensorFlow、PyTorch、MXNet、Caffe等,同时提供友好的算法开发和调测环境Jupyter Notebook。此外,ModelArts还内置了多种预置算法,可以帮助开发者快速生成模型。
通常,深度学习领域需要大规模的加速计算,这需要大规模GPU集群进行分布式加速。而现有的开源框架需要开发者编写大量代码实现在不同硬件上的分布式训练,而不同框架的加速代码又都不相同。为了解决这些痛点,需要一种轻型的分布式框架或SDK。ModelArts的MoXing构建于TensorFlow、MXNet等框架之上,使得这些计算引擎分布式性能更高、易用性更好。
由于本次大赛无人车检测算法需要在昇腾310芯片运行,因此参赛者需基于Caffe框架来开发交通灯、泊车位的检测算法。为了让参赛者快速熟悉ModelArts、熟悉基于Caffe框架的开发,比赛官方提供了基于Caffe使用SSD算法开发的端到端的基础示例代码。参赛者可准备好数据后,直接在示例代码基础上进行算法的优化,这也大大降低了参赛者的开发门槛。
3 模型训练
一般来说,模型训练的精度与收敛时间都和训练数据量、神经网络层数、模型参数以及硬件资源算力等因素有关。想要训练出一个理想的模型,往往需要反复的调整模型参数,并且经过多次的迭代训练,因此加速模型训练、简化调参难度对于用户来说是尤为重要的。
现在,ModelArts通过级联式混合并行技术等各类优化技术,在同样的模型、数据集和同等硬件资源情况下,使得模型训练耗时降低一半,尤其是大规模集群训练线性加速比达0.8。同时,ModelArts通过模型自动搜索、迁移学习、模型自动选择、超参自动化等协同优化来实现训练自动化。在深度学习模型训练方面,ModelArts将分布式加速层、自动化算法层抽象出来,形成一套通用的框架——MoXing,在自动混合精度训练、动态超参调整基数、模型梯度自动融合拆分等方面都进行了优化。
在斯坦福大学发布的最新结果DAWNBench(An End-to-End Deep Learning Benchmark and Competition),ModelArts在图像识别(ResNet50-on-ImageNet-1K,128V100,93%及以上精度)的训练时间上排名第一,仅需2分43秒。
在硬件资源方面,ModelArts提供了公共资源池、专属资源池,CPU、GPU(1*P100、1*P4、8*P100、8*V100等)多种实例规格。丰富的、大规模计算资源可满足用户各种训练作业需求。
可以说,无论是在算法优化上,还是在硬件资源上,ModelArts都大大帮助了参赛者快速地开发出无人车检测算法。
4 模型部署
通常,AI要规模化落地,模型的部署会非常复杂,智慧交通就是一个常见的场景。例如,更新模型后,需要一次性将模型同时部署到不同规格、不同厂商的摄像头上,这是一项非常耗时、耗力的巨大工程。而ModelArts不仅支持云上在线推理、批量推理,还支持将模型部署到边缘侧和端侧,满足大并发和分布式等多种场景需求。
本次大赛参赛者就是先在ModelArts平台上开发的无人车检测算法,然后部署到HiLens Kit智能摄像头上。
5 AI开发全流程管理
过去,AI模型的开发和调优需要大量的迭代和调试,数据集、训练代码或模型参数的变化都可能会影响模型的质量,如不能统一管理开发流程元数据,可能会出现无法重现最优模型的现象。现在,ModelArts支持数据集、训练、模型版本管理,可实现千万级的模型、数据集以及服务等对象管理,并且无需人工干预,自动生成溯源图,选择任一模型都可以轻松找到对应的数据集、训练、模型部署。尤其是训练断点接续和训练结果比对,这些实用功能都大大受到AI开发者的好评。
参赛者可借助ModelArts AI可视化全流程管理工具,轻松管理交通灯和泊车位的数据集版本、训练版本、模型版本,进而提高模型优化的效率。
华为云ModelArts不仅能帮助无人车挑战杯大赛参赛者开发AI算法,还能为整个自动驾驶领域提供强力有的支持。目前,ModelArts已助力华为自动驾驶平台,高效管理AI数据处理流程,包括采集、筛选、混合标注和数据溯源,大大缩减了数据处理时间;利用分布式集群训练,提升了模型训练效率。40T原始数据处理从8000人天缩短到80人天,AI模型开发周期从数月缩短到周。
此外,值得一提的是华为云自动驾驶云服务Octopus也正是基于ModelArts,围绕数据和模型,提供端到端的自动驾驶业务,包括数据集、标注、算法、训练、模型。可以预见的是,随着自动驾驶领域的发展,华为云ModelArts将会发挥越来越重要的作用,助力推动汽车产业智能发展。
日前,无人车挑战杯初赛刚刚结束,全国十强战队已经产生,选手们将前往上海,在即将举办2019华为全联接大会上决一胜负。现在,售票通道已开放,登录大会官网即可在线购票,欢迎前往现场观战,一起见证无人车大赛的决赛过程。