闪马华为 ATOM深度学习平台携手华为好望共同发现AI+视频落地无限可能
2019年10月29日,闪马智能正式入驻华为好望(HoloSens Store),成为首批算法合作伙伴之一。截止目前,双方已经在产品共研、市场应用拓展等方面取得了令人满意的成果。
在近半年的共同研发的过程中,闪马智能的「算法研发核心驱动力」ATOM深度学习平台发挥了至关重要的作用。3月25日,闪马智能创始人兼CEO彭垚受邀来到2020年度华为HDC DevRun Live开发者沙龙,并作了《ATOM 深度学习平台联合华为Holo Sens 打造云边端一体化交通城市治理异常行为分析》主题演讲,获得了万余名在线观众的高度好评。
以下是现场录像及文字实录
分享内容主要结构如下:
1. ATOM深度学习平台简介
2. ATOM数据处理系统架构
3. ATOM数据标注系统的创新
4. ATOM深度学习平台在闪马AI业务生产平台中的作用
ATOM深度学习平台简介
ATOM的历史
大家知道我们闪马智能前身是七牛的人工智能实验室。在16年的时候,ATOM前身是AVA深度学习平台,这是我跟另一位闪马创始人林亦宁博士两个人在七牛云内部人工智能实验室的一个项目。当时我们就开始构建AVA的深度学习平台,那个时候主要是面向每天超过20亿的视频、图像数据,我们要去进行数据的、视频的、图像的训练,那么多数据怎么做?肯定要想办法去提升效率。
我们当时也训练了很多的算法,包括参加全球的一些大型视频分类比赛。这个过程中都会耗费很多GPU资源。所以从16年开始,我就徒手开始去打造这么一个深度学习平台,那个时候还叫AVA。19年我创立了闪马智能,我们就把原先的AVA平台重新升级成ATOM整体的深度学习平台。这里面其实它跟业务环节,整个的一个生产端到端的能力就实现了完整的闭环,这是ATOM深度学习平台的起源。
ATOM的能力全貌
ATOM深度学习平台现有功能里面主要包括几大块,训练是整个ATOM平台的一个核心组件。除了训练以外,它有很多基础设施的支撑,包括存储能力、资源管理能力、监控能力,还有对深度学习框架的支持、资源Interface框架的支持。最后还有一些管理上的作用。比方说可以设置管理员、用户这样的整套平台的框架。
发展了那么多年以后,ATOM平台形成了目前的整体架构。从最底层开始介绍,最底层的实际上是IaaS的一些硬件服务,包括GPU服务器,以及一些网络这样的设备。第2层是虚拟化层,我们主要是去用容器的方式对整个计算实体,包括GPU的计算实体进行了一些编排系统,应用的是Kubernetes的一套系统。再之上我们又有一套专门针对数据、资源的管理,包括块存储和对象存储的管理。
如何提高整个训练性能呢?我们采用的是一套分布式的缓存系统。
因为没有分布式缓存系统,使用者就需要从对象存储和块储存里去读取视频图像数据,这就会造成更多的延迟,导致整个训练过程相当耗时。因此,整体的训练调度过程就成为ATOM很核心的一些组件。在此之上,我们在19年又完成了比较重要的两个模块,就是对分布式的云存储和云平台的一个融合。这是什么意思?就是说我们原来可能只能在一个机房,或者说一个云,比如华为云或者是阿里云中的一家云平台的基础上去做。今年我们实现了跨云平台,其中有包括有华为云、阿里云、滴滴云、七牛云这样一个跨多平台的融合系统。
最后,再上层我们有4个应用系统,标注系统、数据集管理系统、训练管理系统,以及模型管理系统。
使用ATOM深度学习平台的训练流程
ATOM平台的整个训练流程如图所示。首先算法工程师先到ATOM平台上开始编写程序,开发整套的模型。有了模型以后,我们就会去调整模型的一些参数偏差。加载完参数以后,我们就会分配到一些GPU资源,这些资源会挂载一些算法镜像,就可以开始自动训练。
到了一定条件以后,任务完成。ATOM平台会自动化地完成模型验证,之后,就可以自动发布。根据效果的反馈和新的数据来源,我们在发布后可以对这个模型进行再次的研发。所以这是一个闭环的学习、开发、调整的过程。
ATOM数据处理系统架构
数据处理系统是ATOM里面整个计算系统的一个基础设施和核心,包含了几大块功能,一是整个数据处理系统可以兼容一些云平台基础设施的管理,包括一些基础的数据处理的管理、上传下载数据、数据同步等。另外数据在跨计算中心的存储中,我们可以实现数据的预处理和数据集的管理,这些是我们对数据处理的基础能力。
在数据处理能力之上,我们有整套的作业系统。这些作业系统可以帮助我们去完成一个个任务,包括像图片的过滤,及对图片进行标注。
再上层是一些业务系统在闪马的作业栈当中,其中包括了深度训练的作业。因为每个深度训练的作业都有自己的一些退出条件,当触发这些条件后,就会自动从计算设计中退出。当然我们也会面临各种各样的业务场景,比方对海量数据进行认知识别,都是通过整个ATOM的数据处理系统去进行支撑的。现在我们整体的数据处理系统全部都是部署在云端,可以看到我们跟华为云的对象存储有深度的应用合作。
ATOM数据标注系统的创新
数据处理、训练系统之外,标注系统也是非常核心的一个模块,因为标注是一个比较复杂的过程,需要完成很多的任务。
比如对新员工的培训、上岗认证,需要要去做一些考试系统。比如做机动车类别的识别,有哪些种类的车,然后我让标注人员进行标注,标注完成以后系统会自动给他打分。达到一定标准后才可以上岗。还可以有师徒的关系,师父角色可以每天去检查徒弟的作业情况,可以及时向徒弟反馈作业做得好或者不好,就可以看到他标注能力的成长。另外就是质量管理,标注得如果特别好,我们就可以从系统上反映出来,并提供相应的奖励。我们系统支持很多种的质量管理,包括一些Cross review,然后再加领导review的这种机制,保证质量最高标准。此外,我们的平台也支持外部标注机构和人员一同参与。
标注系统在整个ATOM平台流程中位于数据处理和清洗之后。标注完成后我们就开始进行审核和发布,再进行训练一体化的过程。我们整个标注系统也全是在云端,包括公有云私有云,结合闪马的业务生产平台后,就形成了整个闪马的云边端生产的完整闭环。
ATOM深度学习平台在闪马AI业务生产平台中的作用
ATOM平台实际上就是我们像工厂的生产线一样,也是一个完整的闭环。主要分为以下几步:
1.源数据的管理
2.标注系统
3.数据集的维护、管理、清洗
4.模型训练
5.模型评估与优化
6.模型上线
7.效果反馈
8.持续迭代
9.数字列表
ATOM的最大优势主要有三点。
首先从数据标注来看,支持多种数据采集的能力,包括国标摄像头、 VR 、或者是一些标准的协议。第二可以支持公有云上的多云部署、更可以一键部署、扩容或缩容。第三能够支持多平台多型号的GPU芯片计算实体。
ATOM的训练评估也可以做各种各样的Interface,整个模型管理是统一化的。在我们平台上其实有超过几百种的模型,天天在ATOM平台上进行再次的训练、评估这么一个过程。模型Transfer模块实际上是我们一个核心的技术模块,我们叫Tron平台。它能够提升整个推理过程中的性能让硬件可以去适配,像边缘计算盒子、华为软件定义摄像头等。
在去年安博会上,闪马就成了华为Holosens Store的首批合作伙伴。然后我们跟华为实际上是有很多方面的一些合作,主要是围绕ATOM整个平台的训练。训练完成后,就可以生成各行各业的一些模型,例如交通、物流、环保, 金融 生产等方面。后续这些模型都将会陆续上线到华为的Holosens Store 上,再部署到华为SDC摄像头或者是IVS的整个视频的智能计算平台上,服务各行各业。
如果有对ATOM平台感兴趣的同学,欢迎上知乎找我多多交流。