人工智能
人工智能(AI)和机器学习(ML)日新月异,在游戏、人类对话、社交媒体甚至燃油泵方面产生的变化备受关注。如果您回顾一下并站在开发者的角度观察AI的话,可以看到这一过程中有外因,也有内因,并且外因和内因也在迅速变化当中:
• 外因:ML两大组成部分——训练和推理,直到最近才被安排到云端。移动处理器的计算能力在逐步提升,为边缘设备(如智能手机和无人机)运行推理工作负载(而非在云端运行)打下基础。
• 内因:如今,应用程序是否引人注目取决于用户体验。在对自拍进行美颜处理既有吸引力又有乐趣,但是,在云端执行这项工作会造成延迟,从而破坏美好的体验。如果您不在设备端运行分类和跟踪之类的工作负载,那么造成的不愉快体验会让客户最终离您而去。
• “推手”:移动处理器(CPU、GPU和DSP)每个核心都有自己的电源/性能配置文件。作为开发者,您可以在边缘设备(如智能手机)上选择最有效运行工作负载的时间和方式。
也正是因为如此,Qualcomm Technologies,Inc.(QTI)才推出了Qualcomm® 骁龙™神经处理引擎(NPE)SDK。该SDK已经以限定版本发布了数月,现在更是通过Qualcomm开发者网络提供给更广泛的开发者社区。该SDK旨在加速骁龙设备神经网络处理,方便开发者根据特定的用户体验选择最佳核心:Qualcomm Kryo™ CPU、Qualcomm Adreno™ GPU或Qualcomm Hexagon™ DSP。
具有更高性能和更低功耗的AI
在任何边缘设备上,AI都是性能和功耗平衡的棘手环节。
比方说,您已经在云端训练了神经网络模型。下一步是编写移动应用,利用模型运行推理,识别面部、跟踪对象、检测声音、理解语言,甚至将猫添加到自拍中。您知道,如果在云端运行这一切的话,造成的延迟会彻底毁了用户体验,因此,您编写应用在设备CPU上运行推理工作负载。但是很快您就会认识到,这样做的结果是,不但耗电量大,而且性能平平。
“我想不妨尝试一下其它核心而不是CPU,”您对自己说。
好主意。Snapdragon处理器上的CPU、GPU和DSP以不同的方式处理工作负载。比如,为获得最佳功耗/性能特性,语音检测应用最好在Hexagon DSP上运行,而对象检测或样式传输应用更适合运行在Adreno GPU上。
我们设计NPE SDK就是为了能够让您评估各核心执行模型的效率。然后,决定在哪里运行应用。
改善在Caffe / Caffe2和TensorFlow中训练的神经网络模型
QTI专注于两个开源深度学习框架:分别由Facebook和Google开发和发起的Caffe/Caffe2和TensorFlow。另外,如果您拥有Caffe或TensorFlow不支持的专有或自定义网络层,可以利用NPE SDK灵活添加。
推理工作负载卸载到正确的核心会带来哪些好处呢?我们在商用手机上的测试显示,Adreno GPU的性能和能效提升了4-5倍,而使用向量扩展(HVX)的Hexagon DSP也提升了2倍。
开发者已经在使用NPE,充分发挥骁龙的性能,提升移动应用体验。例如,Facebook在其开发者大会F8上宣布,将NPE整合到Facebook应用的相机功能中,加速实现Caffe2支持的AR特性,在拍摄照片和直播视频时,实现更流畅、无缝且逼真的AR特性应用。
接下来
NPE SDK包括运行时软件、库、API、离线模型转换工具、示例代码、文档、调试和基准测试工具。目前,NPE SDK兼容骁820, 835, 625, 626, 650, 652, 653 和 660(Android)和骁龙 625和626(Linux)。
如果您拥有训练神经网络模型的资源和专有技术,并且希望搭载骁龙的移动设备或边缘设备获得最佳性能和功耗,那么NPE SDK就是最佳选择。您不需要了解异构计算或成为ML专家,但如果您拥有数据、分析和深度神经网络训练的经验,会让您受益良多。
关注我和Qualcomm AI团队发布的文章,了解有关NPE SDK的更多详细信息:
• 使用NPE SDK的知名应用
• 入门方法
• 改善性能和功耗的技巧
同时,现在就访问我们的骁龙神经处理引擎页面,下载SDK。
您还可以注册参加我们于2017年8月1日上午9点举办的骁龙和边缘AI网络研讨会,了解为什么QTI认为移动设备是实现设备端人工智能体验的理想平台。
更多Qualcomm开发内容请详见:Qualcomm开发者社区。
全部0条评论
快来发表一下你的评论吧 !