华为HiAI+NPU移动AI性能超GPU十倍,亿级用户10亿基金生态开放
【新智元导读】27日,新智元与华为合作推出“华为HiAI能力开放公开课”,以华为AI芯片麒麟970的加速性能为核心,第一讲直播观看人数超过20万,内容从华为移动AI平台战略到算法模型移植再到高质量应用开发,包含HiAI平台的五大引擎、一套接口,全面开放NPU加速性能,体现了华为以NPU为核心构建移动AI生态,干货满载!开发者可以将HiAI能力快速集成到APP中,服务华为智慧终端亿级用户。
在圆桌对话环节,新智元创始人兼CEO杨静作为主持人,与华为消费者BG软件战略与技术合作副总裁杨涛、华为智慧工程部副总裁张宝峰、百度AI技术生态部总经理喻友平、华为麒麟芯片市场总监周晨四位嘉宾,探讨了华为AI芯片麒麟970的性能及AI芯片整体走向等关键问题。华为有计划将AI能力推广到所有机型,长远看还会将NPU应用到手机以外的地方。
【点击链接回顾公开课】
IT大咖说直播地址:http://www.itdks.com/eventlist/detail/1943
花椒直播地址:http://www.huajiao.com/l/198455718
35万+,这是华为拥有的开发者的数字。2016年,华为开发者分成收益为28亿人民币。2017年,华为消费者云服务用户总数达到3.4亿,同比增长62.5%。
为了更好地服务用户,科技企业必须与开发者携手向前,因为开发者才是技术生态的根本。为此,新智元与华为终端开放实验室合作,携手推出面向全体应用开发者的“华为HiAI能力开放公开课”,服务尝试投身人工智能领域的企业和开发者,提升开发者的竞争力。
1月27日是这次公开课的第一讲,为了这堂课,华为移动AI开放平台HiAI的首席市场战略官、首席软件架构师、引擎首席架构师和开发工具资深专家,4位顶级讲师一起出动,从战略到平台功能,再到如何移植算法模型和开发高质量应用,全方位介绍了如何利用华为HiAI开放平台及其能力,打造杀手级移动终端应用。
NPU释放端侧AI算力,开放生态激活AI应用场景
公开课直播开始不到40分钟,观看人数就超过了20万,现场听众也积极提问,气氛异常火爆。
作为华为移动AI能力的核心,华为的AI芯片麒麟970以及NPU模块自然是开发者关注的焦点。
在圆桌对话环节,新智元创始人兼CEO杨静作为主持人,与华为消费者BG软件战略与技术合作副总裁杨涛、华为智慧工程部副总裁张宝峰、百度AI技术生态部总经理喻友平、华为麒麟芯片市场总监周晨四位嘉宾,探讨了华为AI芯片麒麟970的性能及AI芯片整体走向等关键问题。
圆桌对话嘉宾(从左往右):杨静、张宝峰、杨涛、喻友平、周晨
周晨表示,麒麟芯片要做的,是用做芯片的方式解决AI技术端侧工程化的问题。“用CPU软件的方式与用专用硬件逻辑是工程实现的两个方向,前者灵活没有成本,但是效率低;后者则在效率上最优,但是因为增加成本,这个决策就看大家谁有决心做了。”
张宝峰表示,考虑到用户隐私和执行效率,华为认为AI在初期的时候,在端侧更具优势,应该尽可能把执行的部分放在端侧,这也是华为最初做NPU芯片的主要原因。
华为与百度的战略合作,一个具体的体现便是华为AI芯片与百度开源机器学习/深度学习平台PaddlePaddle的对接,喻友平和张宝峰透露,“后续会有非常深度的业务”。
相比苹果和三星的AI芯片,华为海思是用硬件的方式来加速,“我们对于开放的事情还是有差异的,苹果把这个能力主要用在FaceID,我们是通过HiAI全面开放给开发者,开发者可以用到手机业界最强的AI推理能力。”周晨说。
目前,NPU计算模块只在华为高端手机机型上使用,但杨涛表示,华为有计划将所有AI能力扩展到全部机型上面,长远来看,还肯定需要拓展到手机以外的其他产品。
过去几年,云端计算力有一个急速的增长,如今,端侧算力成了制约技术和应用发展的瓶颈。AI对算力的追求永不停歇,周晨认为华为AI芯片只是开了个头,很快所有的人都会一起往这个方向走。
以NPU为核心构建移动AI生态,部分本地应用性能已媲美云端
华为消费者BG智慧工程副总裁张宝峰说,华为HiAI平台三层意义:第一是让手机能把AI应用程序运行的更快,体验更好;第二是希望让开发变得简单,让开发者用最低的工作量、最快的方式,把业务提供给客户;第三是华为能够与伙伴建立起AI开发生态,产生一个双赢多赢效果。华为开发者联盟还发布“耀星计划”,设置10亿基金用于开发者创新、营销等。
接下来,HiAI首席市场战略官杨金对华为HiAI平台做了详细介绍。HiAI移动计算平台特点是便捷、实时、高效、灵活,特别向广大开发者开放了硬件加速的能力,也即专门的神经网络处理单元NPU,保证满足开发者的神经网络算法模型在端侧具有实时Realtime的推理Inference效果,在其开放平台里提供非常丰富、易用、可视化的工具链,这些工具都统一的集成在可视化的IDE集成开发环境当中,同时还提供及其丰富的、灵活的、高效的、便捷的多层次的API给开发者。
具体说,HiAI移动计算平台开放三层的能力,分别为云端能力开放(Huawei HiAI Services)、端侧应用能力开放(Huawei HiAI Engine)和端侧芯片能力开放(Huawei HiAI Accelerator)。
其中,底层Huawei HiAI Accelerator是HiAI芯片能力开放的核心内容,能够快速转化和迁移已有模型,借助NPU的加速获得最佳性能,主要依靠海思麒麟芯片实现。
HiAI移动计算平台支持针对神经网络模型运算的专用AI指令集;通过模型编译和转换工具,能够把神经网络模型各种算子,比如卷积、池化、激活、全链接等离线编译成NPU的专用AI指令序列,同时将数据和权重重新摆放,指令与数据融合在一起生成离线执行模型。
在离线编译的时候,可以把前后层(卷积、Relu、Pooling)能够融合的算子进行层间融合,这种方式可以减少DDR的读写带宽,提升性能。同时支持稀疏化模型加速,在不损失计算精度的前提下,对权重进行置零稀疏优化,NPU可以跳过系数为零的乘加运算,极大地提高了计算效率,同时也降低了带宽。另外还支持8bit ,1bit 量化,有效降低计算带宽和存储,提高能效。
从平台功能看,面对广大类别应用,HiAI涵盖了六大功能的优化提升:
杨金说,很多创业公司依赖于像阿里云、亚马逊的云端处理器,成本高昂。“一位创业者告诉我,他做一个应用,有20多万的日活,每个月给阿里云的计算成本大概是好几十万,试想,如果用户快速发展到几百万,对很多创业公司这个成本是非常大的负担。”
“HiAI平台,能够做实时的视频风格化,能够达到很不错的效果,能够做实时的像素级的物体分割,能够做本地的实时的物体识别,HiAI可以做本地的图片识别分类,做到跟云端相当的分类准确性。通过HiAI的赋能,可以解锁更多更新奇,更酷炫的玩法。”
其中一个关键,就是NPU的支撑以及多处理器的异构计算,NPU通过专用的AI指令集,可以用最少的时钟周期高效并行执行更多的神经网络算子。
五大引擎、一套接口,全面开放NPU加速性能
落实到应用开发这个大家最关心的话题,HiAI引擎首席架构师杨鋆源做了介绍说,如今AI能力开发及应用存在几大问题:
1、门槛高:越精准及时的智能服务,需要强的计算力、全面海量的大数据,越依赖芯端云。
2、效率低:模型建立,全面海量的数据收集与训练需要大量的时间才能达到一定的质量要求。
3、能力碎:智能化体验是割裂的,大多数为单一场景、某一关键步骤实现了智能化,不连贯。
4、提升难:应用上线后,使用用户少导致现网数据少,无法进一步深度学习,能力拓展难。
杨鋆源表示,华为HiAI引擎的目标,通过开放应用层API,使能开发者在不懂AI算法的情况下也能开发高质量AI应用,完全聚焦在应用的体验和业务实践上,而不是聚焦在后端大量的模型训练和算法上。
目前在火热的AI领域,更快速的推出高质量AI应用是抢占市场先机的最好手段,本次Huawei HiAI Engine就是通过开放和共享华为自有应用层商用级的AI能力API来使能合作伙伴在未来的竞争中赢得先机,使能华为手机上面的应用都能提供业界最佳的AI体验。因此,Huawei HiAI Engine面向移动终端提供多种AI能力和JAVA应用层接口。
具体看,Huawei HiAI Engine包含CV引擎能力、ASR引擎、NLU引擎、情景引擎和决策引擎五大引擎智慧能力包。同时为开发者提供完整的工具链,文档,接口丰富;同时为开发者提供大量直观的DEMO作为学习材料;当前提供JAVA API调用接口,后续会提供更加丰富的接口格式。开发者只需集成非常轻量级的AAR包即可进行AI应用的开发,而无需关注后端的CPU/NPU/GPU模型的差异和训练框架的差异,只要具备Android应用开发的能力,就能进行AI应用的开发,我们的目标是2小时内完成AI接口的集成和AI应用的实现。
后续Huawei HiAI Engine将逐步开放以下已有商用级的API接口供开发者调用
现场针对Huawei HiAI Engine能力如何考虑在不同芯片上的实施策略问题,杨鋆源认为AI能力商用的主要目是体验的提升。例如图片识别场景,不同模型可能需要的时间分别是10秒,1秒,100毫秒,但对于最终用户体验是完全不同。而在现有机型上证明充分利用NPU能力可使能华为终端上的AI体验达到最佳,可以更好的满足AI应用的商用要求。并且,NPU后续会覆盖华为的更多的机型。
在IT领域,现在是快鱼吃慢鱼的时代,通过调用成熟的商用机AI能力,现场举例可以数倍以上的降低上市时间,以及大幅减少应用所占用的内存及物理空间,为合作伙伴在未来的竞争中赢得先机。
自己上手才能学会:HiAI能力如何快速集成到APP中
工欲善其事必先利其器,华为也为开发者提供了HiAI开发工具,帮助开发者加快AI接入,提升开发效率。
华为HiAI开发工具资深专家董鑫具体讲解了DevEco AI应用开发工具三大内容,DevEco AI应用开发工具包括HiAI Engine助手、HiAI模型转换、HiAI模型助手、远程真机调试等功能:
1.开发者如何接入华为AI开放能力:请开发者登陆华为开发者联盟网站了解接入流程。我们推荐开发者接入HiAI应用流程如下:
2、HiAI模型如何快速集成到APP中:通过HiAI模型助手提供的向导只需四步就可以快速将开发者的AI模型集成到APP中。
3、HiAI Engine助手该如何使用:HiAI Engine是华为面向第三方应用开发者开放的华为人工智能引擎,HiAI Engine助手辅助开发者通过集成SDK的方式,使用EMUI系统提供的AI能力,快速开发应用。
最后HiAI开发工具产品经理吴文飞现场给大家演示了工具使用。基于Android Studio的功能扩展,上手快,使用简单,欢迎开发者申请下载尝鲜。
实战案例:华为海思和HiAi软硬件协同,NPU性能超GPU和CPU十倍
Kirin(麒麟)970平台首次在移动计算平台上引入了专用神经网络计算单元(NPU),其强大的计算能力使能了Mate10/Mate10Pro上的多种端侧AI应用。HiAI首席软件架构师黄宇宁介绍了如何将算法模型移植到华为HiAI平台上,主要分三个版块内容:
1、DDK是华为NPU对外提供的开发资源包,英文是Device Development Kit,也就是设备开发工具包,它一共包含了五个部分内容:Android demo源码、DDK、开发参考文档、Caffe模型转换工具、TensorFlow模型转换工具。
2、环境准备:linux的版本(模型转换工具在linux上运行,linux各版本镜像)、NDK的开发环境(DDK编译推荐NDK r14b及其以上版本)、JDK(应用层JDK 8)、安卓Studio(Android Studio)都是标准的开发环境的条件。
3、集成步骤:算子兼容性评估—模型的转化—模型的加载—模型运行—模型卸载
此外,华为HiAI平台支持针对神经网络模型运算的专用AI指令集,可以用最少的时钟周期高效并行执行更多的神经网络算子。
HiAI移动计算平台通过工具可以把神经网络各种算子,比如卷积、池化、激活、全链接等离线编译成NPU的专用AI指令序列,同时将数据和权重重新摆放,指令与数据融合在一起生成离线执行模型。在离线编译的时候,可以把前后层(卷积、Relu、Pooling)能够融合的算子进行层间融合这种方式可以减少DDR的读写带宽,提升性能。
黄宇宁总结说,华为加海思拥有很好的协同优势,华为的软件也针对硬件做了深入的优化最后,黄宇宁讲了两个实战案例:
1、构造模型:基于BVLC pretrained AlexNet model
2、模型算子评估:评估训练的模型是否满足DDK算子规格需求
3、模型转换:通过caffe模型转换工具转换为华为NPU格式
4、模型管家接口:调用模型管家的能力API,实现模型的加载、运行、卸载
经过Huawei HiAI的加速,在Kirin970平台上,AlexNet网络的前向推理计算能在30ms内返回结果,同样的深度网络在典型移动芯片平台的ARM CPU上运行时间约为300ms。Huawei HiAI的加速比达到了10倍。
1、构造模型:基于TensorFlow,构造Mnist手写体数字识别模型
2、模型算子评估:评估训练的模型是否满足DDK算子规格需求
3、模型转换:将Mnist手写体模型由TensorFlow转换为华为NPU格式
4、模型管家接口:调用模型管家的能力API,实现模型的加载、运行、卸载
由于这个网络结构很简单,在典型的移动芯片平台上,用ARM CPU一般在20ms左右能完成前向推理计算,但是Huawei HiAI依然能够提供约3x的加速比。
Huawei HiAI加速能力将极大提高On-Device AI的可行性,不但可以更好的保护用户隐私,还能有效降低计算延时。我们希望和开发者一起,为用户提供各种差异化的特性,提升用户体验。
那么,第一课内容先到这里,欢迎大家继续关注新智元×华为HiAI公开课,接下来还会在深圳开讲。
【点击链接回顾公开课第一讲内容】
IT大咖说直播地址:http://www.itdks.com/eventlist/detail/1943
花椒直播地址:http://www.huajiao.com/l/198455718