作为新一轮科技革命的重要代表以及所有科技领域中日益强大的一股力量,人工智能正被越来越多的人所谈论,也正成为全球经济发展新引擎。两会期间,政府工作报告提出,加强新一代人工智能研发应用,发展智能产业,拓展智能生活。这是继2017年首次被写入之后,“人工智能”作为一个科技词汇第二次出现在政府工作报告里;此前普华永道曾预测,至2030年,人工智能将为世界经济贡献15.7万亿美元,这个数字将超过中国与印度两国目前的经济总量之和。
技术层面,目前人工智能正向终端侧迈进,在此基础上,异构解决方案与软件的紧密结合也正成为技术发展的主流。Qualcomm作为低功耗、高性能应用处理技术领域的领军企业,提供了面向人工智能的最大商用终端侧移动平台之一。公司已扩展产品方案,支持采用其平台的合作伙伴生态系统,利用人工智能去提供令人惊叹的用户体验。鉴于此,Qualcomm在MWC期间宣布推出人工智能引擎AI Engine。该人工智能引擎AI Engine由多个硬件与软件组成,能够加速终端侧人工智能用户体验在部分Qualcomm骁龙移动平台上的实现。
人工智能为什么向终端侧迈进?——传统而言,很多对神经网络的训练和推理都是在云端或者基于服务器完成。而过去几年,随着移动处理器性能的不断提升,对数据隐私保护的更高要求,以及连接技术的不断演进所能带来的完整可靠性,整个模式有了很大变化,很多人工智能的推理工作,比如模式匹配、建模检测、分类、识别、检测等逐渐从云端转移到了终端侧,这对于保护数据隐私、提升性能和整体可靠性有极大裨益。也就是说,未来,终端将成为人工智能的重要入口,包括智能手机、笔记本电脑、头显设备、物联网终端和汽车系统等。
Qualcomm人工智能引擎AI Engine“软硬兼施”
Qualcomm人工智能引擎AI Engine即为在骁龙移动平台上加速终端侧人工智能用户体验实现的硬件与软件组件的集合。其中关键组件包括——硬件:Hexagon向量处理器、Adreno GPU和Kryo CPU的人工智能优化组合;以及一套软件工具和库:骁龙神经处理SDK、Android NN和Hexagon NN;上述所有共同支持开发者与OEM厂商,轻松实现和加速骁龙内核上的人工智能处理。
为了将人工智能推理从云端迁移到移动终端上,Qualcomm充分利用了多核异构计算核心Hexagon向量处理器、Adreno GPU视觉处理子系统和Kryo CPU的骁龙可编程架构。事实上,高效运行的终端侧人工智能是一个涉及多方面的问题,仅靠单颗人工智能内核无法以最佳方式解决。与之相反的是,因为不同人工智能应用场景的功耗和对运算资源的需求各不相同,所以需要可编程的异构计算。Qualcomm的异构计算方案为开发者提供了更广泛的选择,面向不同类型的功能、基于不同类型的数据、在不同的计算精度水平上,可支持大量卷积或循环神经网络。异构计算核心(如骁龙的CPU、GPU和向量处理器)具备了开发者、OEM厂商以及独立软件开发商(ISV)所需的诸多优势,让他们可通过精确控制或Qualcomm开发的预优化人工智能库加速其应用实现。
硬件:多核异构计算核心
● HEXAGON向量处理器
Qualcomm Hexagon向量处理器是向量处理器子系统中的加速引擎,支持处理8位定点运算。相较于GPU或CPU,涉及向量数学的应用工作负载通常更适合在骁龙的向量处理器上运行。
● ADRENO GPU
具有庞大的并行数据集、需要大量的向量数学,尤其是对浮点精度有要求的应用工作负载,都非常适宜在骁龙的Adreno GPU上运行。通过最新的Adreno GPU对16位浮点精度的人工智能工作负载进行的优化,可提供更佳的能效表现,使其成为如计算机视觉物体分类、视频风格转换、场景检测和游戏等人工智能应用的理想选择。
● KRYO CPU
神经网络模型通常以32位浮点(高精度)在云端完成训练。它也可以在终端侧的CPU上实现类似运行,但其代价太大,需要终端在性能和功耗上作出一些牺牲。骁龙845中在Kryo CPU上优化了对8位定点精度的支持,帮助支持包含较大内核、相对较少向量处理、非规则性数据结构和/或复杂流程控制的应用。
总的来说,在骁龙平台上加速人工智能最高效的解决方案是将人工智能工作负载分配到CPU、GPU和向量处理器上。这为开发者提供了实现人工智能用户体验的多种灵活选择。
软件
AI Engine的第二个组成部分是软件和工具。在处理AI应用时,软件和工具无疑更加重要。硬件是一个加速的平台,而在软件层面开发者能够实现大量的创新,打造最新的AI应用。Qualcomm人工智能引擎AI Engine的核心软件构架包括:骁龙神经处理SDK、随Google Android Oreo发布的Android NN API以及Hexagon Neutral Network(NN)库。其中,骁龙神经处理引擎可帮助开发者节省在骁龙终端上优化已训练好的神经网络运行的性能的时间和工作量,Hexagon NN库让开发者可以直接将人工智能算法在Hexagon向量处理器上运行。为基础性的机器学习模块提供了优化的部署,并显著加速诸如卷积、池化和激活等人工智能运行。
广泛生态系统支持,推动AI应用发展
面对当今智能终端带来的大量人工智能特性及应用,终端侧人工智能需要多个硬件架构、软件工具及框架来满足开发者的需求以及性能门槛。目前全球多家领先的OEM厂商、开发者以及云供应商等生态系统厂商已采用或宣布支持Qualcomm人工智能引擎AI Engine,以优化和加速人工智能应用。
在今年的MWC期间,Qualcomm与包括商汤科技SenseTime、旷视科技Face++以及腾讯在内的多家中国企业分别展示了利用Qualcomm人工智能引擎AI Engine组件实现的AI应用。
实时视频风格转换
Qualcomm与商汤科技合作展示了实时视频风格转换。该应用能实时将摄像头采集到的普通视频,通过模型处理成特定风格化后的效果视频。商汤科技领先的人工智能算法和Qualcomm人工智能引擎AI Engine所支持的强劲处理性能,可保证风格化之后的视频色彩更加丰富,细节更加明显,充满层次感与立体感,同时保证转换后视频的实时性和流畅性。
由商汤科技人工智能技术与Qualcomm人工智能引擎AI Engine支持的实时视频风格转换应用
3D-Animoji
Qualcomm与旷视科技Face++联合展示了面向智能手机的人工智能应用——3D Animoji。得益于Qualcomm人工智能引擎AI Engine的支持,旷视的算法可以在骁龙移动平台上实现更快的处理速度,并在极低功耗的情况下实现复杂的场景感知计算,完成实时3D人脸建模和面部表情肌追踪等工作。
Qualcomm与旷视科技Face++联合展示了面向智能手机的人工智能应用——3D Animoji
腾讯手机QQ“高能舞室”
Qualcomm与腾讯展示了腾讯手机QQ应用程序中名为“高能舞室”的交互特性。在Android端的手机QQ中,采用了人工智能引擎AI Engine组件以加速该特性的帧率。
Qualcomm与腾讯展示腾讯手机QQ“高能舞室”特性
目前,Qualcomm骁龙845、骁龙835、骁龙820、骁龙660,以及最新推出的骁龙700系列移动平台都将支持该人工智能引擎AI Engine,其中,骁龙845将支持最顶尖的终端侧人工智能处理。骁龙845是Qualcomm的第三代人工智能移动平台。与前代SoC相比,骁龙845带来了近三倍的人工智能整体性能提升——将移动终端改变为绝佳的个人助手;简化图片与视频的拍摄;提升VR游戏体验,并让语音交互更加自然。
现在,多家智能手机厂商已利用骁龙移动平台上的人工智能引擎AI Engine,加速其终端上的人工智能应用,包括小米、一加、vivo、OPPO、摩托罗拉、华硕、中兴通讯、努比亚、锤子以及黑鲨,其中部分厂商正计划采用人工智能引擎AI Engine,在其未来的旗舰骁龙智能手机上优化人工智能应用。
除了商汤科技和旷视,其他多家领先的人工智能软件开发企业也为骁龙移动平台带来专属的用例优化。虹软为骁龙客户提供单摄和双摄算法,并积极开发人工智能用户体验。创通联达针对人工智能视觉用例和终端提供完整的解决方案。Uncanny Vision针对人、车辆、以及车牌检测和识别提供优化模型。这些企业以及其他更多公司都将利用Qualcomm人工智能引擎AI Engine组件,加速实现其人工智能模型的性能与用户体验。
此外,Qualcomm还和百度基于DuerOS共同发展终端侧的关键词检测和自然语言处理技术,为云端服务提供补充。同时,Qualcomm与Google在AI领域保持着长期的密切合作,自骁龙820移动平台开始,双方就携手实现了TensorFlow面向移动终端的优化,骁龙移动平台也由此成为首款支持TensorFlow的商用移动SoC。目前,Qualcomm正基于Facebook的Caffe2框架对多款Facebook应用,尤其是AR领域的应用进行优化。Qualcomm与微软、亚马逊也正利用ONNX交换格式进行合作,共同探索终端侧人工智能与云端人工智能的结合。
(转载)