导语:随着物联网的快速发展,越来越多的用户希望将 AI能力下沉到边缘层,让边缘设备能够自动处理关心的一些数据,再把结果上报到云平台。这样做既节省了资源,又提高了运算效率。
随着技术进步,手机等移动设备已成为非常重要的本地深度学习载体,然而日趋异构化的硬件平台和复杂的终端侧的使用状况,让AI技术在端侧的应用能力颇受挑战。端侧模型的推理往往面临着算力和内存的限制,为了能够完整的支持众多硬件架构,并且实现在这些硬件之上人工智能应用性能的优化,不少科技公司开启了深入研究。技术媒体InfoQ上周采访了京东智联云视觉研发部的产品经理张志强,交流了京东AI技术在端侧的应用。
(以下为采访稿件内整理)
AI技术在端侧能解决什么问题?
在探讨这个话题之前,我们需要先明确端侧的定义。端侧其实是相对于云中心侧来讲的。云中心侧其实是一种集中式服务,所有采集和感知到的视频、图像数据都通过网络传输到云中心侧进行后续处理。云侧的资源高度集中并且具有很高的通用性,但是随着IoT设备和数据的指数爆发式增长,云侧的集中式计算模型慢慢暴露出了很多不足,比如数据处理的实时性,网络条件制约,数据安全等。
AI技术用于端侧也就是我们常说的边缘计算,张志强说,这种模式可以更好的支持AIoT场景,具有如下优点:一是AI技术用于端侧可以第一时间对收集的数据进行处理,不需要通过网络上传到云侧的处理中心,极大加快了系统响应也减少了系统处理延迟,5G技术的普及也为端侧处理提供了保证;二是端侧计算可以更高效的处理有价值的关键数据(大约20%),其余的数据(大约80%)只是临时性的,在端侧结合AI能力,不仅可以更及时处理数据,而且减轻网络带宽的限制和缓解对中心侧数据存储的压力;三是在端侧的AI技术可以高效地对用户的源数据进行处理,将一些敏感的数据进行清洗和保护,端侧设备只将AI处理后的结果进行上报。
总的来说,AI在边缘侧的执行可以实时进行数据处理,实时响应,有效降低因数据传送到云计算中心而导致的延迟。
目前,主要的应用是物联网的边缘计算,京东对内、对外都有一些落地案例,例如:无人售货机和智能结算台上使用了AI的商品检测技术,包括顾客所选取的商品SKU等,主要采用的是端侧的AI能力;以及在智慧园区里进行基本的人脸结构化、人体结构化、车辆结构化,还有基于视频分析的周界安全检测、物体遗留等场景。某些场景不仅结合了边缘计算的AI能力,同时也使用了云端的AI能力进行二次分析,采用的形式是云端协同。在一些更复杂的场景,比如智慧园区,智慧社区,智慧城市的项目落地中,大多都是采用的端云协同的应用形式。
端侧AI的研发难点
众所周知,端侧的技术难度是如何在资源有限的硬件环境里满足业务对性能的要求,无论是存储、内存,或者计算资源都比较有限。端侧对AI模型提出了更高的要求,比如对模型生命周期的管理,发布,回滚,灰度,版本管理等,如何方便模型的升级更新需要建立一套完善通用的机制和平台。另外,边缘计算的硬件设备种类很多,在初期对不同硬件架构的学习、适配和模型迁移工作会占用比较长的时间,比如有很多之前自定义的模型算法算子不支持,需要算法侧重新设计和开发,无形中增加了AI在端侧应用的复杂度。
为此,经过前期积累,京东也针对市面上流行的不同边缘计算硬件产品进行了抽象和平台化,屏蔽底层差异化,统一建设了从算法开发、模型适配、本地测试,部署上线等的一系列CI/CD机制,实现快速交付。
过往,不少开发者都会遇到离线训练和在线推理结果不一致的问题。对此,京东方面发现训练和推理的结果不会完全一样,但是基本一致。可以从以下三方面考虑:一是在模型设计上尽可能轻量化。在保证模型性能的前提下,使网络参数减少的同时,不损失网络性能,尽可能的降低模型的复杂度以及运算量;二是性能与精度进行权衡,找到平衡点;三是检测两者的预处理与后处理有无差异,可以在网络处理前后进行预判和比较。
京东端侧AI技术实践
2019年中,京东云与AI视觉研发部开始规划在端侧场景下的AI视频分析平台mVCG-Air,与该版本相呼应的是在云端场景部署的mVCG-Pro,二者统称为mVCG(mega-Video Computing Grid),也就是超大规模的视频计算分析网络。
【mVCG-Air技术整体架构图】
mVCG-Air是AI视频分析处理能力在端侧应用的典型产品,经过快速迭代mVCG-Air目前已经在不同场景落地。张志强表示,该平台解决了在落地场景中接入的设备多,同时对视频分析的时效性很高,云端处理受网络带宽有滞后影响的问题。
此外,mVCG-Air结合了目前性能较高的端侧计算设备,同时内部全部使用了京东智联云自研的AI核心技术,所有算法模型针对端侧计算设备进行了全面优化和加速,开发者可以轻松实现定制化、快速交付。
有必要统一模型研发流程
综合整个实践过程,不难发现 ,拥有统一所有模型的研发流程,使得模型研发之初的特征工程再到模型训练,再到推理上线等做统一的规划是十分必要的。比如,京东同一个模型未来可能会在不同的场景都需要部署落地,有的是基于边缘计算的mVCG-Air部署,有的是基于云中心的mVCG-Pro进行部署,那么就需要有统一的模型训练和转换机制。同时,同一个模型有可能会在不同的边缘硬件上进行部署,在模型设计之初就需要考虑后续的一致性等问题。京东内部已经沉淀了一套完整的模型研发测试流程,使得一个模型可以轻松同时落地不同的异构硬件设备上。
资源调度设计
关于资源调度,其实包括边缘侧mVCG-Air和中心侧mVCG-Pro的调度,也包括mVCG-Air管理的设备之间的调度。张志强表示,在mVCG内部有个很重要的模块组件,就是模型仓库,与其相关联的有算力调度,任务调度等。
【算法仓库体系架构图】
算法仓库体系架构使得智能分析能力不再固化在mVCG的产品中,实现“一套平台,多种算法”,具有系统高可用、资源高利用率、算法灵活开放等优势。基于算法仓库可以对mVCG所有算法模型进行统一高效管理,包括模型管理、模型灰度部署、模型发布、模型升级、模型算法版本管理。每个模型都有自己的画像Model Profile,通过分布式组件,根据模型画像和当前业务负载实现模型算力的灵活分配和调度,所有模型算法是基于插件机制实现灵活部署、自动分配、快速加载、高效运行和无感知版本更新。
硬件选型
事实上,软件层面的定制优化永无止境,这包括模型加速推理,模型量化剪枝,让模型体积更小,占用资源小同时又不失精度。当然,软件层面的优化工作也需要取决于边缘侧设备的开放程度。
除了软件层面的能力,AI所需的超强算力必须有合适的硬件与之相匹配。张志强表示,京东云与AI视觉研发部mVCG-Air在研发过程中使用了ARM架构的CPU+NPU,现在不断有更新、更快的硬件加速卡或者是端侧产品推出,选取性价比最高,同时最适合业务场景的才是最好的。
未来,mVCG-Air也将继续赋能感知设备以智能,并融合云端物联网和信息网的数据,实现对人(人脸、人体)、车、物体、场景、行为的全息感知,同时深入挖掘多维数据的潜在价值。应用的重点包括京东内部的很多重要场景,也包括对外的场景,比如智慧园区,智慧城市,智慧车站,智慧警务等。
未来规划
边缘计算作为传统云计算的重要补充,各自发挥特长,随着端侧设备处理能力的大幅度提升,基于AI的智能设备正在发挥越来越重要的作用。
AI和端侧的结合其实属于AIoT的一部分,因为智能物联网AIoT是在2018年兴起的概念,目前各类AI公司、芯片公司都处在百家争鸣的阶段,市场空间非常大,包括端侧人工智能在建筑人居、工业制造、智慧城市等不同产业领域的瞭望,都充满了期待。
2020年,AIoT正在发生的一个趋势是人工智能和设备的加速融合。大多数情况下,端侧人工智能计算和云侧计算将会长期共存,甚至采用混合的方式,一部分由设备自身的AI能力及时执行运算,另一部分通过统一云中心完成。现在,业界对于端侧人工智能讨论比较多的还是软硬件选型、动态调度和垂类落地的问题。作为云计算的下沉计算模型,端侧的人工智能发展还需要一些时间和耐心。
欢迎点击“更多”了解京东智联云!