DSP

到底什么是 AI Engine?多核异构计算核心

2019-07-13 18:14发布

想象一下: 清晨有智能语音助手轻声唤醒你 工作时,人工智能助你高效办公 约会时,人工智能为你“出谋划策” 当手机里加持了人工智能 未来充满无限可能 最近几年,人工智能应用日益普及,个人语音助手一类的人工智能应用,为我们带来了令人惊叹的体验。为了让你更好地用上人工智能,我们在今年 MWC 上推出了Qualcomm人工智能引擎 AI Engine。 然而……到底什么是 AI Engine?简单说,AI Engine 就是在骁龙移动平台上加速终端侧人工智能用户体验实现的硬件与软件组件的集合。 硬件:多核异构计算核心 高效运行终端侧人工智能需要多核异构计算。因为不同人工智能应用场景的功耗和对运算资源的需求各不相同,仅靠单颗人工智能内核无法以最佳方式解决,所以需要可编程的异构计算。 举个例子,Hexagon 向量处理器、Adreno GPU、Kryo CPU就像三个各有所长的乐手,不同的曲目需要不同类型的乐手,有的擅长高音,有的擅长低音,只有根据曲目合理乐手搭配,方能呈上一场精彩合唱。 Qualcomm 骁龙移动平台充分利用了多核异构计算核心 Hexagon 向量处理器、Adreno GPU 视觉处理子系统和 Kryo CPU 的可编程架构。这为开发者提供了更广泛的选择,面向不同类型的功能、基于不同类型的数据、在不同的计算精度水平上,可支持大量卷积或循环神经网络。 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向量处理器上运行。为基础性的机器学习模块提供了优化的部署,并显著加速诸如卷积、池化和激活等人工智能运行。 移动平台支持 目前,骁龙845、骁龙835、骁龙821、骁龙820 均已支持 Qualcomm人工智能引擎 AI Engine,其中骁龙845将支持最顶尖的终端侧人工智能。 而作为骁龙 600 系列中迄今为止最强的产品,骁龙660移动平台同样支持 Qualcomm人工智能引擎  AI Engine,它首次将配备 HVX 的 Qualcomm Hexagon DSP 运用至骁龙 600 系列之中,支持性能的飞跃式提升。除了带来卓越的AI 体验,骁龙660移动平台还支持先进的拍摄技术、增强的游戏体验和持久的电池续航时间。 全新的骁龙700系列平台也将支持 Qualcomm人工智能引擎 AI Engine,骁龙700系列移动平台预计将于今年上半年向客户商用出样,让我们一起期待吧。