6月21日起,智东西公开课推出AI芯片系列课第一季,7位AI芯片领域大咖将在此为大家进行系统讲解,带领大家一起认知芯片新势力,看清芯片技能创新难点,把握芯片落地运用趋势,一起点燃中国芯希望。
第一课由联发科技打算与人工智能本部总监张家源主讲,主题为《如何基于NeuroPilot平台打造手机AI》。本文为张家源的主讲实录,共计6959字,估量8分钟读完。一起理解下张家源的主讲提要:
1、NeuroPilot平台可实现的手机AI运用
2、手机AI的寻衅
3、NeuroPilot平台如何战胜这些寻衅
在浏览正文之前,可以带着以下5个问题:
-对付浩瀚的手机运用,NeuroPilot平台是如何在算法上实现协同互助的?
-手机AI运用在软件和硬件上的趋势分别是什么?
-作为开拓者,该如何通过NeuroPilot SDK快速地落地AI运用?
-针对开拓者,基于NeuroPilot平台的开拓流程是若何的呢?
-在手机AI运用中,NeuroPilot平台有什么上风?
主讲环节张家源:大家好,我是联发科技打算与人工智能本部总监张家源。本日晚上很荣幸有机会来到这个平台,与大家分享联发科技看待AI,尤其是在终端AI的趋势与机会。联发科技成立于1997年,这二十一年来,联发科技在不同的领域,从家用,手机或车用市场累积了很多的知识产权,目前也正是AI从云端往终端发达发展的期间,联发科技已经准备充分了,我们提出的AI平台NeuroPilot也正是为了加快终端AI,供应跨平台、高度软硬统一以及集成整合的办理方案。
本日晚上我们环绕三个主题来讲,第一个主题是:NeuroPilot平台目前可以实现的手机AI运用有哪些。从这些运用中我们可以归纳出有哪些手机AI所碰着的寻衅。末了NeuroPoliot是如何战胜这些寻衅而供应出办理方案。
在进入到主题之前,我们还是先来解释一下,常日一个AI的运用与开拓会分为两个阶段,首先是模型的演习阶段,Training阶段;其次是推论阶段,Inference阶段。模型的演习须要海量的资料以及经由良好设计的模型,通过TensorFlow、Caffe等时下最遍及的框架来达成。但常日这个模型须要的规模大小有所不同,一样平常来说,越繁芜越弘大的模型所须要的演习韶光越多,这阶段常日不会是在手持装置上实行,由于它是须要强大运算能力的CPU和GPU等云端处理系统来演习。
对付模型的推论,一旦模型经由演习完成之后就可以得到一组即时运算的模型权重资料。这一部分所须要的运算能力相对会远比模型的演习来的小。因此第二阶段的推论相对来说,是有机会可以在手持式装置上的即时运作,但是并非所有的手持装置都可以负得了这个阶段所须要的运算能力。要能够实现即时的模型推论,如果没有分外的硬体加速,也是很难达成的。
首先我们现在看一下手机AI运用的不雅观察以及种别。这里我们针对这些手机的AI运用分成了六个种别,第一个是图片;第二个是视频;第三个是扩增实境AR;第四个是语音;第五个是代理人;末了是跟安全有关的。在这些项目中,联发科技与生态系统上的算法伙伴公司一起协同开拓,并确定这些项目的落地。在研发科技的平台上也是可以得到充分的资源,并且有足够的利用者体验。
联发科技与生态系统上的互助模式,从目前大家运用体验最多的图片来看,有所谓的Bokeh(背景虚化)、Scene Detection、Face Detection等,同时我们与算法公司互助去确定这些算法在联发科技的平台上可以得到最佳的效能。
在这么多的干系运用下,AI图像和影像运用有一些根本的元素,统共归纳出这四大项,包含工具检测、画面分割、超分辨率以及姿势识别。
首先,工具的检测是通过传统实作办法,这个项目我相信大家在目前最新的手机上都已经得到了很好的运用。而画面分割的运用相对广泛,从手机的角度来看,第一我们可以针对工具,接着我们可以把画面给分割出来;从自驾车的定义来讲,我们可以知道哪边是车道,哪边是车辆以及哪边是讯号,这也可以做出很多广告投放的效果。第三个是Super Resolution(超分辨率),我们都希望能够在放大图片的过程中,让图像能够具有更大的尺寸,更多的像向来呈现出更高的画质。
但是你如果只是利用一样平常的滤镜处理,可能会让图像充满马赛克或模糊不清,而Super Resolution便是利用AI来学会如何在放大图片之后能将成果套用到演习资料,让放大图片的过程中减少失落真。
第四个是Pose Estimation(姿势识别),对付一样平常的动态捕捉技能来说,你每每须要在手、脚或头部佩戴多个追踪器才能检测出动作,通过深度学习技能的帮忙可以从图像影片中检测出你的眼睛、肩膀、手、腰等动作进而可以识别出你的姿势,这个运用可以在监视系统里面安置于人潮多的车站、街道以及其他随意马虎涌现紧急状况的地方,以供应必要的帮忙。
这些发达的发展对付平台或是芯片的运算需求仍旧是持续增加的。对付这个需求,我们往面前看,在接下来的几年内都会有非常高运算力的哀求。
刚才我们谈完了在影像上面的运用,接着我们谈一谈在措辞翻译上的运用。
第一个,谈到语音,我们就来看语音干系的运用,目前跟语音干系的运用体验实在都还不错,我相信大家在出国的时候都会拿脱手机来翻译,上图这个例子叫做PERIGO,是葡萄牙文的意思,当你看不懂时,你就会拿脱手机来扫描,同时也可以很快地从云端得到翻译。
对付在语音上面的发展,我以为目前最大的问题还是在其余一个层次的自然措辞处理,这里有两句英文,但是如果丢给机器翻译可能会得到同样的意思。第一句话是“I arrived at the bank after crossing the street. ”,意思是过了这条街就可以到银行了。但是其余一句是:“I arrived at the bank after crossing the river.”,意识是过了这条河就会到对岸。
由于措辞的变动性高,语义理解目前仍旧是一个很大的寻衅。
在影像上,我最喜好用所谓的摄像运用Bokeh Effect(背景虚化)做其余一个例子,由于我本身也有在拍照,玩单眼相机。一样平常来说,如果你要得到背景虚化,可能要选择类似光圈一点二大小的定焦镜,但这些传统的背景虚化办法在手机上可能会须要两个双摄摄像头。通过两个摄像头的影像可以剖析出照片中的前景背景以及整张照片的深度资讯。
有了这些深度资讯就可以有效地把背景和前景区隔开来,并且把背景进行虚化。而这会须要相对昂贵的摄像头本钱才做得到,目前很多AI的发展会希望让单摄像镜头的手机经由模型的演习来分辨出前后景之分,进而达到背景虚化的效果,同时手机本钱的低落也可以得到显著的效果。
对付这么多的手机AI运用,很多人可能会认为在终端Device上可以犹如在PC或者是利用云端运算得到同样的效果,而实际上不然,实际上在实现的时候,在手持装置上你会碰着很多现实的物理限定,比如一样平常手机的运算速率不足快,导致很多有用有趣的AI运用是无法完全地在手机上运作。
联发科技针对AI潮流的发达发展,我们的宗旨是确定我们的软硬体平台,可以充分供应开拓者所须要的下个时期的技能,让利用者得到满意的体验。其余,我们的NeuroPilot平台不管是AI软体框架的利用或者是手机的运算能力都有机会可实现的。
接着我们来谈论一下,目前手机AI所碰着的寻衅会有哪一些。
终端人工智能(Edge AI)最紧张有四大需求,或者可以说有四大寻衅须要战胜。从云端往终端移动,首先是对付回应的哀求要短,对付隐私的需求要高,终端Device的连接要方便,终端Device须要具有低功率。这四大需求确实是目前推动人工智能从云端往终真个四大提升。
但是天下并不是这么美好的,终端人工智能受限于它的外型尺寸、电池大小、散热不易、贷款内存不足大等问题。因此对付做工程的人来说,你须要定义你的问题和定义你的目标,在有限的电力、带宽、内存及芯片大小下,达成最大化终端人工智能的好处。
首先,我们用手机AI中最常用的Vision或是图像的网络精度以及打算繁芜度来看终端人工智能所碰着的寻衅。左边指的是所谓的抽象层比较高,右边是进到更细的Pixel Level Quality部分。从左往右看,左边的Vision Perception意思是,只要做出分类或者是侦测位置的第一精度运算即可,目前所看到的每一Inference大概介于一到十GMACs。
接着,在认出物件的位置后,你自然而然地会想要去做Construction把环境建立起来,建立一个环境中须要去分割不同的物体,同时你也可能想要得到一些深度的资讯,乃至你想要得到这个场景中物件流动的方向,而这个部分大概又会比前面再增加十倍的运算力,大概会有将近一百个GMACs。
到最右边,在你建立的环境也认出了物体后,这时你是不是有可能会须要对Vision Quality做更大的最佳化。这里头目前最多的运用便是所谓的Image super-resolution,如何把一张小的照片或者影片借由AI演习来提升成更大的照片和影片并且没有失落真,乃至由Image dehaze去模糊和去雾霾,亦或者是由Image denoise去模糊和去焦点。个中,这里的运算能力又比前一个增长了将近一百倍,这些需求便是往终端人工智能最大的驱动力。自然,而这些需求所带来的运算力就会增加越来越多的功耗。
越高的运算力需求,在HAI碰着最大优先级最高的问题前三项是功耗、功耗和功耗。要如何达成最好的功耗呢,方向上我们从两个角度下手。首先要优化算法来减少打算的需求,也便是所谓的轻薄短小化;再来,要利用得当的硬件,也便是异构运算来达到最佳的能耗比。
这方面的趋势有两块,第一个是我们刚刚说的网络轻薄短小化,考虑在手机上要做到低功耗,在算法的趋势上,目前已经从浮点32位到浮点16位,乃至到定点的Fixed 8,目前通过re-training的办法都可以做到精度丢失掌握在百分之一内。再往前看,目前我们看到的Complexity、Memory和BandWidth虽然慢了下来,但是在精确度持续的提高以及未来有硬件的支持,我们相信这方面的趋势可以持续的增长。
网络本身的精确度降落不会影响精准度,乃至我们可以进一步对网络做优化,也便是我们常听到的NN Reduction。在精准度丢失可接管的情形下,可以将部分的打算做移除,而网络轻薄短小化的好处,我相信大家该当可以很随意马虎地去理解,可以提升打算与影象体利用的效率。由于你降落打算繁芜度减少的打算量,降落影象体的用量,带宽的利用也变小,自然而然带来的效益就可以附能越来越多的网络运用。
软件的趋势是如此,那在硬件上的趋势是什么呢?在硬件上的趋势,我们会强调的异构的运算。不同的运用案例对精度的哀求会有所不同,趋势上要依据运算的属性来选择适当的硬件来实行。举例来说,CPU本身比较适宜实行Control以及Serial Computing,类似像Mobilenet-SSD网路,将Mobilenet给APU实行,SSD给CPU实行,这就会是一个不错的搭配。
GPU本身比较适宜平行或者是浮点运算,目前的趋势是较高精确度的哀求会考虑利用浮点十六位的model运算在GPU上。
而APU(AI specialized processing unit)是特殊为AI设计的硬件,例如针对Convolution的运举措看成了最佳化,这紧张会因此Fixed Point定点运算为主。
硬件本身的发展趋势便是须要供应及时 real time 或者是runtime的异构运算來达到效能最佳化以及能耗最佳化。
我们谈了很多AI的运用,也谈到这些运用在平台上的软件硬件所碰着的寻衅,那么联发科技的NeuroPilot是如何战胜这些寻衅呢。
联发科技的人工智能科技研发目的有几个。我们针对手机的AI硬件供应了加速芯片,并且也供应APP开拓者大略好用的NeuroPilot SDK,一个好的硬件要加上大略好用的软件才能够发挥加成的功用。在这软件中也包含着一些工具包,帮助你顺利的转换浮点到定点,而不会损耗精准度,或者供应不同的网络转换Convert,方便将你的model转换成可以在MTK手机平台上实行。
开拓者如何通过NeuroPilot SDK快速地落地AI运用,大概的流程实在是相对大略的。左手边是开拓者现有的模型与演习资料库,联发科技供应的NeuroPilot平台可以帮你快速地转换你的成果到我们的平台上。同时开拓者通过不同的framework来做模型的演习,比如TensorFlow、Caffe等,但这些框架目前是非常多的,实际上也不是每种软体框架都适宜在手机上实行,因此真正要在手机上实行模型的推论,实在是一个相对繁芜而且困难的事情。
如果要每个开拓者都自行去战胜这些寻衅,实际上是一件相称不可行的事情。正由于如此,联发科技开拓一个适宜开拓者随意马虎开拓的AI软体框架NeuroPilot,让任何一个开拓者都可以通过NeuroPilot将你已经演习好的模型快速地支配到我们的手机平台上。
在开始讲实作过程前,还是花一些韶光跟各位先容一下NeuroPilot SDK SoftWare的架构。我们从上往下看,大概有这几个层次。首先最上层的是我们的AI运用,例如face ID、Bokeh等;再下一层便是根据这些AI运用的model framework,我们有TensorFlow、TF Lite、Caffe、Caffe2等;再往下一层,我们供应了Quantization以及Model Converter,这时候可以载入TensorFlow Lite model,通过Android NN API将Update资讯往下传。
最下一层我们供应了Androidn NN Runtime,根据这些NN HAL service的能力来做动态的切换与Ext.。这边我们得解释一下,为什么联发科技会选择根据Android NN 的架构,我们希望大家能够加速发展,由于目前百花齐放,如果有个标准化的API可以加速算法开拓,并且降落它在不同平台上转换的本钱,这些额外的韶光和本钱该当是算法公司所要负的任务,联发科技选择Android的一个缘故原由便是希望我们的客户或partner在转换平台上可以得到最好花费最低的利器。
接下来开始进入到最核心的部分,我们针对开拓者的NeuroPilot的整体流程大致上分为两个部分。第一个部分是离线offline convert tool,第二个部分是On Device框架。在offline convert tool中,现行的AI软体框架有太多的样式,一个纯挚的On Device框架基本上很难完备支持全部的框架,以是联发科技开拓了一个Offline convert tool,目的是要把各式各样的AI model format可以转换成一个统一的格式,让TensorFlow的format可以往下传到我们的平台上。而On Device framework是基于Google开拓的Android技能所延伸出来的一个有效好用的软体框架。
除了标准化的API,如果我们的客户或是我们的伙伴算法商有特殊的需求,我们也供应的一个Extension的API让客户可以直接往下撰写他自己的OP。
接下来我们将演示如何转换网络模型以及API快速整合。实在过程非常的大略,首先演示的是,针对开拓者,如何将网络模型转换TensorFlow模型。从左到右分为三阶段,第一阶段,如果开拓者利用Caffe或者ONNX这几个开拓框架在做演习的,我们供应的工具可以让你转换到TensorFlow模型,但如果你本身便是利用TensorFlow做演习的,那我们就可以直接增援。
第二阶段是我们所谓的model优化。通过我们供应的工具可以进行优化,包括神经网络的简化或者神经网路的精度轉換; 第三阶段,我们末了产生TensorFlow模型跑在Android框架上。因此这三个步骤都是我们联发科技会供应的软体工具包。
针对开拓者的API整合也非常大略,流程基本上便是通过ANeuralNetworkTFLite_create()载入一个TensorFolw模型,接着通过ANeuralNetworkTFLite_getTensor()设计设定模型的输入与输出格式,接着通过ANeuralNetworkTFLite_invoke()实行模型,再通过ANeuralNetworkTFLite_getTensor()取得结果的分布,末了再通过ANeuralNetworkTFLite_free()来做开释。举一个目前最大略的相簿分类做例子,当你项目分类的APP实行起来时,首先载入已经Training好的TensorFlowLiteModel,将想要进行分类的照片设定到模型的输入,然后实行模型并取得照片分类的结果及其分布,重复这个过程直至完成所有的分类,接著离开并开释模型即可。
步骤相对来说比较大略,但是在这个过程中难免会碰着出错的地方,对付开拓者来说,实际上困难的是在开拓过程当中要如何有效地出错,可能是针对Performance做剖析,也可能是针对运用本身的优化。NeuroPilot针对开拓者的这些需求供应了三大类的工具,第一个是刚刚讲过的NN Utility;第二个是 profiling,常日在一个模型的推论效能不好时,你很难定位到真正的问题点,我们供应的这个工具可以让各位知道如何从所谓的模型端到系统端得到相对应的资讯;第三个是Debugger,一个模型推论过程中一旦发生缺点,乃至是崩溃,NeuroPilot也可以供应相对应的办理方法。
常日开拓者在剖析效能的时候是很难针对系统资讯做全面的检测,只能单方面的来看自身的模型效能。但是实际上,效能不好不一定是纯挚的模型推论所造成,很多的情形是系统层面的问题,比如可能是影象体不敷或者是运算能力资源被其他系统Task所占住,乃至是IO卡住等等。对付这些系统层面的问题,如果没有一个完全且良好的工具,那么你是很难进行剖析的,联发科技供应了一个完全的Profiling Tool,可以让开发者完备节制系统的变革,并且这个Tool也有完善的界面让开发者方便利用,同时利用Profiling Tool可以加快开拓者的调度以及Debuger的过程。
我们用这一页PPT来归纳利用NeuroPilot的好处,联发科技人工智能平台的策略有以下三种。
第一,快速移植。我们供应标准的AndroidAPI以及高度整合的工具包来缩短移植支配的过程,个中有标准的Android NNAPI、随意马虎利用的工具包以及一些根本的CV及NN函式库。
第二,我们供应了较佳的系统效能,包含系统优化的硬件加软件组合及开拓工具来达成更佳的系统效能以及较少的电力花费。个中,异构系统实行,我们可以精确分配任务给适当的处理器,利用核心算法来降落系统带宽的需求及网络繁芜度的降落,并且我们也支持客制化OP以达成不同伙伴或厂商的差异化需求。
第三,NeuroPilot是跨平台的solution,跨了Android及Linux平台,针对这些不同的平台供应同等的体验,来知足联发科技在不同产品线包含的所有Phone、Home或是Automobile上不同的产品需求。
末了,我总结一下今日的概要。第一,人工智能从云端往终真个趋势是确定的,在这根本上,我们所须要的是,回应要快、隐私度要高、贯串衔接要快、功率要低,我们要办理的问题包含电力、散热以及带宽内存不足大的问题。第二,手机人工智能趋势是往低精度、轻薄化以及异构运算等方向发展。第三,联发科技通过硬件及软件的高度整合来提升手机AI的效能。我们额外投资的APU供应手机人工智能更佳的功耗以及打算效能,同时NeuroPilot平台供应更快的整合能力,末了NeuroPilot也供应跨平台/跨产品线的弹性让不同的平台得到同等的体验。以上便是本日的分享,感激大家。
Q&A环节
问题一
李海东-广智微芯-IC工程师
1,NeuroPilot的runtime层含义是什么?是如何知足计策互助伙伴的客制化需求的,一样平常开拓者能否利用该机制?
2,NeuroPilot的性能指标若何?(性能,功耗)
3,NeuroPilot适用于MTK的哪些芯片?
4,如何拿到详细的开拓资料,及可供试用的各种型号的开拓板?
张家源:1、èRuntime 的含义指的是动态地针对model 的需求 (FP32 or Int8) 动态选择最适宜的硬件加速。一样平常开拓者可以利用该机制, 由于我们是根据Android-NN的架构,如果客制化需求是指客制化的OP, 我们有供应相对应的customization flow and service。
2、Helio P60所配备的dual APU性能达270GMACs, 同时功耗仅为竞品CPU的1/3。
3、2018年往后推出的芯片都适用, 包含手机 (Helio P60, 以及 P22) 或是其他电视、车用干系芯片。
4、请留下你的联结办法, 我会宴客户增援部门联系你。
问题二
崔永明-安然科技-图像算法
1,目前手机ai是否都须要利用定制芯片来实现模型加速,可否利用手机的通用gpu来实现模型加速?
2,ai在移动真个趋势如何,是否算法前置到移动端是大的趋势?
张家源:1、在一样平常情形下, 如果只利用手机的通用gpu来实现模型加速, 每每会造成gpu 的效能不佳以及功耗表现不好的情形, 正是由于这样, 联发科技才投资NeuroPilot 以及分外硬件APU, 来得到好的AI利用者体验。
2、犹如本日所分享, 回应快, 隐私高, 贯串衔接便利, 以及功率低等趨勢都是推动终端AI的最主要成分, 这个趋势基本上已经确定了, 接下来几年算法软件硬件的进步可以预期带来101010 有千倍的提升。
问题三
邓望明-酷派-产品总监
针对智能硬件比如智能安防摄像头,或者智能音响方面的AI联发科是怎么方案的?
张家源:这个问题范围有点广。联发科技的智能硬件会与生态链上的算法互助伙伴, 一同针对这些运用提出最佳化的办理方案。
问题四
李培华-中航华东光电-软件开拓部经理
APU是否也是通过一个DSP核实现的,其算力如何?与高通,华为的AI芯片比较如何?支持哪些AI架构?
张家源:联发科技在Helio P60的APU 是由两颗DSP-like 来实现, , 我们可以同时支持两个model 来实现不同AI 运用 (eg, 相机人脸辨识加上Bokeh)。此外, NeuroPilot增援目前主流框架TensorFlow, Caffe , ONNX (MXNET, Caffe2), 得以让利用者快速布署模型于联发科技的手机平台.
问题五
吴金豪-深圳芯海科技-IC验证工程师
1,Neuropilot平台的竞争对手有哪些?剖析与对手比较的上风劣势。
2,目前Neuropilot平台无法知足的运用中,不才一代产品打算知足哪些运用处景。
张家源:1、犹如前一题, 联发科技Helio P60 是由两颗APU 来实现, 我们可以同时支持两个model 来实现不同AI 运用(eg, 相机人脸辨识加上Bokeh)。此外, NeuroPilot 针对跨平台(Android and Linux) 都利用同一套AI SDK interface, 可以降落算法商转换平台的额外本钱。再加上NeuroPilot 基于Google 的Android-NN做最佳化, 遍及性最高。
2、人脸、场景等识别都已经有相对应的运用落地, 但是目前运用发展日月牙异, 对芯片的需求仍旧持续增加, NeuroPilot 平台会与生态圈上的算法伙伴们持续推出最佳化的产品来知足客户的需求。
问题六
杨永东-本识科技-产品总监
张老师好,我可能没有用心听,我的问题是运用APP如果内置了NeuroPilot的运算框架,怎么向前兼容没有此功能的芯片呢?我们比较关心运用设计的前向支撑问题。
张家源:目前确实无法相容, 未来如果芯片作业系统可以更新到Android-P, 由于Anroid-P本身就包含Android-NN, 就不会有相容性问题。