1、PowerVR 2NX NNA引领神经网络加速器的未来 Benny Har-Even Imagination公司 从早期的桌面 PC游戏到街机游戏机, 到后来的家庭游戏机以及移动设备端等, Power VR一直都与图形技术密切相关, 今年是 Power VR25周年, 近期我们发布了一系列的文章来庆祝。除此之外, Power VR 还拥有涉及计算机视觉和 AI应用方面的一系列 IP产品。今年 9月 21日 Power VR在中国首发其发展史上一项全新的 IP产品硬件神经网络加速器:“Power VR 2NX”。我们将其命名为神经网络加速器 (NNA) , 它能够提供全面的硬件解决方案, 支持多
2、种神经网络模型和架构以及机器学习框架, 比如谷歌公司推出的 Tensor Flow和 Caffe, 其具有行业领先的性能和低功耗特性。毫无疑问神经网络变得越来越流行, 在各种各样的产品中都可以找到它的相关应用。它们会根据你的兴趣自动调整社交多媒体内容、让你的照片显示得更加好看、在 AR/VR头戴设备中增强检测和眼球跟踪功能。在智能监控领域它们可以应用于安全保障、提供增强的面部识别功能、群体行为分析等。在网上支付系统中他们对于诈骗行为的检测也比人类更加的强大。“神经网络”也将应用到无人驾驶汽车系统中, 帮助避免碰撞事故的发生, 无人机跟踪有一天会帮助我们运送包裹, 最近比较受大家关注的就是通过面
3、部拍照来解锁手机了。硬件是前进的方向为了能够实现如此众多的功能, 神经网络首先需要经过训练, 这通常需要强大的服务器硬件提供支持。物体识别的实现其实就是不断地进行推理和对比, 而且需要实时的方式来完成。当然神经网络越大, 需要的计算量就越大, 这就需要更高水平的性能支持, 尤其在移动应用方面。尽管神经网络推理引擎可以在 CPU上运行, 但是它们通常采用 GPU利用其强大的并行计算特性, 这会帮助更快处理神经网络计算。然而为了在严格的功耗要求下满足下一代性能要求, 专用的神经网络加速硬件则是必需的。这对硬件来说是一个自然演进过程。原本早期的桌面处理器甚至没有集成数学运算协处理器模块, 无法在游戏
4、类应用软件中提供浮点数计算加速功能, 然后自 20世纪 80年代这种功能已经成为 CPU设计的标准。在 20世纪 90年代以后CPU集成了内存缓存以进一步提升性能, 不久 GPU也被集成于其中。随后在2010年代出现了专用于编解码的 ISP (图像信号处理) 和硬件设备, 以实现流畅的视频回放。现在轮到神经网络拥有专用的芯片了。保留在设备端在很多案例中, 神经网络的推理处理过程是放在云服务器强大的硬件上来执行的, 但是由于多种原因这部分工作现在需要转移到本地硬件设备上来, 有些应用必须要快速的响应。由于延迟问题通过互联网运行神经网络是不切实际的, 转移到本地设备上来能够消除可能发生的安全问题。
5、况且蜂窝网络 (3G、4G、5G) 也不是在任何情况下都可行, 本地专用的硬件设备则更加可靠, 除了能够提供更强大的性能, 还能大幅减少系统功耗。无人机就是一个案例, 它将采用神经网络硬件加速实现更快更高效的碰撞检测 下载原图举个例子, 无人机的飞行速度一般会超过 150mph或者 67米/秒, 没有硬件的情况下, 它需要检测前面 10-15米范围内的障碍物从而避免碰撞。由于延迟、带宽和网络的可靠性等因素, 采用云服务器的方式几乎是不现实的。采用本地真正的硬件解决方案比如 Power VR 2NX, 无人机可以运行多个神经网络, 能够在1米范围内实时识别和跟踪前方的障碍物。如果我们想借助无人机
6、帮我们传递包裹或者以独特的视角观看各种体育运动, 神经网络硬件辅助则必不可少。如今我们的智能手机保存了太多我们的照片, 一般会有 1000张或者更多, 手机系统可以采用不同的方式帮助我们自动进行排序, 比如识别出包含某个人的所有照片, 这个过程需要大量的分析计算, 一款旗舰级的 GPU运行神经网络处理过程可能需要 60秒, 但是采用 Power VR 2NX则仅需要 2秒钟。Power VR 2NX能够为移动设备提供高速的图片处理功能, 同时保持低功耗 下载原图同时我们还要考虑电池使用时长。GPU 处理大约 2400张照片会使用 1%的电量, 而消耗同样的电量 Power VR 2NX能够处理
7、大约 428000张图片, 这无疑展示出其行业领先的功能特性。低功耗特性支持更多新的应用场景, 比如智能监控。2NX 足够强大, 能支持采用本地硬件平台进行分析处理, 比如部署在城市中心、体育场内的摄像头或者智能家居安全系统等都有其相关应用。因为 2NX支持不同的网络类型, 可以做出更智能的决策, 减低了错误发生的几率。由于其低功耗特性, 这些摄像头都可以采用电池驱动, 方便了部署和管理。灵活的位宽支持为了支持不同的应用案例, 2NX NNA 进行了全面的设计, 支持高效的神经网络推理推理过程。是什么让 2NX硬件加速器区别于其他的神经网络解决方案 (DSP/GPU) ?首先 2NX超低功耗利
8、用了我们在移动平台设计方面的丰富经验, 第二个是灵活的位宽支持, 更重要的是每个推理层都具备此特性。神经网络训练通常采用 32位全精度, 但是这样无疑会需要更高的带宽, 更多的功耗, 这对于移动设备的功耗要求显然是不允许的, 尽管硬件设备有足够的性能支持神经网络的运行, 但这对电池的使用寿命会有很大的冲击。为了解决这个问题, 2NX 为权重和数据提供可变的位宽支持, 这样就能够在保持较高推理精度的同时大大降低对带宽的要求, 功耗要求也随之减少。我们的硬件是目前市场上唯一能支持从 16位到 4位带宽的解决方案。与其他解决方案不同, 我们降低位宽要求并不是采用生硬的方法, 在每个分层我们都可以灵活
9、配置权重和数据的位宽, 因此开发者可以全面优化他们训练网络的性能。而且我们不光要保持精度还要保持精确性, 结果就是在更低的带宽和功耗的情况下提供更高的性能。实际上 2NX需要的带宽仅是其他竞争解决方案的 25%左右, 在某些应用场景从8位位宽降低到 4位位宽精度, 2NX 消耗的功耗则降为 69%, 但是精确度的降低却不足 1%。领先的性能从原始性能的角度来看, Power VR 2NX 也是行业领先的。最近某个智能手机制造商宣布其硬件平台支持人脸检测并可用于解锁手机, 相当于每秒 6000亿次的推理操作。Power VR 2NX 单核 IP运行在保守频率 800MHz, 能提供 2048 M
10、ACs/cycle (行业标准性能指标) 操作, 意味着每秒 3.2万亿推理操作相当于最有竞争力的对手的两倍。2NX 是一个高度可扩展的解决方案, 如果需要更高的性能, 则可以使用更多的核心。2NX非常强大, 在非常小的面积上能够提供行业最高的推理/mm 指标。实际上在So C中, 我们推出的 Power VR GPU结合 NNA的解决方案, 相比竞争对手纯 GPU解决方案占用更少的硅片面积, 当然 2NX可以单独使用, 不是必须要结合 GPU, CPU也仅仅是用于驱动。我们推出的 2NX IP同样具备存储管理单元 (MMU) , 可以应用于安卓 (Android) 和其他复杂的操作系统 (O
11、S) 中, 而且不需要集成额外的硅片或者其他复杂的软件。广泛的支持:不同的网络类型、模型、框架和 API等神经网络涉及各种各样的形式和特性, 选用哪种很大程度上依赖于我们要实现的系统功能。2NX NNA 支持多种形式的神经网络, 包括卷积神经网络 (CNN) 、多层感知器 (MLP) 、递归神经网络 (RNN) 和 SSD物体检测框架。目前 2NX支持主要的神经网路框架, 比如 Caffe和 Tensor Flow, 对于其他框架的支持也在持续开发中。使用我们提供的优化转换和调优工具, 结合 Imagination推出的深度神经网络 (DNN) API, 开发者能够快速部署他们所选择的网络框架
12、并且运行 Power VR NNA加速器。Power VR 长久以来一直在支持安卓系统, 当谷歌公司发布安卓系统神经网络 API后, 2NX 也将紧跟其后全面支持安卓系统。当然开发者也可以采用现在的工作流程开发移动 App原型, 然后使用Imagination DNN API与 2NX进行对接, 实现明显的应用系统加速和功耗降低。总结随着我们的世界与计算机的关系越来越密切, 机器也会更加地理解这个世界, Power VR 2NX NNA代表的是神经网络加速和性能的一个转折点。在行业内具有最高的“推理/milliwatt”和“推理/mm”性能指标, 它是唯一能够满足在移动硬件平台部署神经网络功耗和性能约束条件的 IP解决方案。除此之外 Power VR NNA还支持主要的神经网络和框架, 结合 Imagination推出的 DNN API使得Power VR 2NX成为驱动未来神经网络应用最理想的解决方案。