解密PowerVR Series3NX系列——实现嵌入式AI的广泛应用

作者:Benny Har-Even

在半导体IP领域一切都发展的很快,我们屡获殊荣的神经网络加速器PowerVR Series2NX (我们喜欢称之为NNA)已经有了新一代继任者——PowerVR Series3NX。它在前一代的基础上有很多改进,在同级别的产品中具有更高的性能和更丰富的功能特性。

PowerVR Series3NX介绍:我们下一代神经网络加速器

PowerVR Series3NX是Imagination公司专门用于神经网络计算而设计的硬件加速器,比如基于被训练的数据达到识别特定事物的能力,借助我们提供的专业工具和API资源,我们可以让这些专用硬件以最优的方式运行。

PowerVR Series3NX有三个主要亮点:

  • 包含有五个处理核心
  • 优化了功耗、性能和处理核心面积
  • 新的特性

我们上一代设计即PowerVR Series2NX由两个处理核心组成,PowerVR AX2145能够实现每秒1万亿次的计算(TOPS),PowerVR AX2185能够实现4.1万亿次的计算操作(TOPS)。相比之下,新推出的PowerVR AX3145支持1.2万亿次的计算操作,PowerVR AX3385支持5万亿次计算操作——关键是与上一代相比,这两款处理核心的面积更加小,这意味着可以为SoC制造商带来功耗更低,成本更低的产品。

从下图中可以看出该系列产品还包括PowerVR AX3125,是一款非常小规模的处理核心,提供0.6 TOPS(每秒0.6万亿次计算操作),在一些应用中器件面积非常的重要,比如采用电池供电、物联网应用等的可穿戴设备上,功耗也是要优先考虑的。例如,打开和关闭一扇门所产生的动能足以打开相机、拍摄快照并在本地进行推断,而无需更换电池或提供电源。

PowerVR AX3595能够实现惊人的10 TOPS(每秒10万亿次操作),而提供2.4 TOPS的PowerVR AX3365实现了性能和器件面积之间很好的平衡。


总体来说,PowerVR Series3NX以更低的成本提供了更高的性能,与上一代相比功耗降低了40%,而每秒的计算操作则提升了40%。

保持较低的权重

在神经网络中“权重”决定了某个特征值对于输出结果的影响程度,这些权重值决定了神经网络占用内存空间的大小,在PowerVR Series3NX中我们增加了无损的权重压缩特性,这种压缩减少了需要存储和通过系统内存来传递数据的神经网络模型的大小,这意味着与PowerVR Series2NX相比,Series3NX提供了更加高效的总体带宽,相比Series2NX降低了35%,同时降低了SoC的功耗。

所有这些都是基于同一个架构,该架构支持灵活的数据位宽,使得运行更低的位精度数据成为可能,同时保证计算推理的准确性,因此输出的网络模型规模也相对较小。

大规模神经网络模型

虽然PowerVR AX3595单核心能够实现惊人的10万亿次计算操作,但是在一些用例中需要非常高的性能,PowerVR Series3NX现在可以通过集成多个核心实现20、40、80甚至160 TOPS,可以说极大的提升了性能,同时还为那些对功耗敏感的嵌入式设备进行了优化。

因此PowerVR Series3NX能够满足自动驾驶等应用的高计算需求,实现了下一代真正的人工智能。

安全保障

PowerVR Series3NX同时还提供了新的安全特性,比如支持行业标准的安全模型,目前它支持四种不同的配置:

  • 不安全模式:在没有任何其他开销的情况下实现最高的性能。
  • 模型保护模式:这种模式下模型、权重和中间数据都是安全的,当训练具有较大商业价值的模型时这是非常有必要的(比如安防摄像头)。
  • 内容保护模式:输入、输出和中间数据是受保护的,当视频需要DRM来确保它不会被窃取时(比如机顶盒)是非常有必要的。
  • 绝对安全模式:模型、权重、中间数据、输入数据和输出数据都是受保护的,适用的场景包括人脸验证、支付等相关应用。

编程可扩展性:PowerVR Series3NX-F介绍(灵活性)

AI是目前科技行业最热门流行语,因此机器学习和神经网络的发展速度非常的迅速,为了满足架构的可扩展性,并确保最新的模型和网络层能够有效的运行,我们引入了PowerVR Series3NX-F,它结合了Series3NX和高度优化的GPGPU,或还可以选择集成Series3NX和神经网络处理单元(NNPU), Series3NX和NNPU两个模块间通过共享RAM实现高效的数据通信。


这种双重用途的架构使得神经网络能够直接在芯片中加速时,不再需要CPU的协助,因此可以最小化性能瓶颈,使得CPU可以完全用于其他SoC操作。

由于NNPU是基于Rogue架构的,这使得开发者能够利用已经成熟的生态系统来开发自己的应用,面向计算编程提供了丰富的工具和APIs,当然这种设计还方便了SoC制造商为客户提供差异化的产品,支持任何采用OpenCL开发的应用。

计算SDK

然而这并不是全部,今年晚些时候我们将推出全新的计算SDK,帮助开发人员创建自定义的神经网络应用程序并且能够移植到PowerVR Series 3NX中,当然也会提供对SYCL特性的支持。

SYCL是Khronos小组制定的异构计算架构设计规范,这使得开发人员能够使用C++语言开发任何由OpenCL或特定神经网络API支持的应用。Imagination公司将每个SYCL函数库映射到我们专用的IMG DNN API库中,从而为整个行业提供了一个非专有的开放标准的编程开发环境。


更美妙的是它采用的是免费可跨平台的架构设计,让SoC厂商能够解锁他们的硬件潜能,使得开发人员能够使用更广泛的编程开发语言进行开发,这意味目前流行的神经网络框架,比如TensorFlow可以进行编译然后移植到Imagination PowerVR Series3NX硬件平台上运行。

目前Imagination正在与爱丁堡的软件工具开发组织Codeplay展开密切合作,将这些功能特性尽快实现。

全面的解决方案

PowerVR Series3NX是继Series2NX后全新推出的硬件神经网络加速器,它是一款优化的硬件解决方案,支持神经网络应用并且提供一流的性能。Series3NX包含有五个处理核心,SoC设计者可以实现不同的性能,单核设计支持0.6到10TOPS计算性能,而多核结构意味着最多提供高达160 TOPS的计算性能。

除此之外PowerVR Series3NX-F还支持行业内未来可能出现的新的神经网络模型,我们的体系结构具有灵活的可扩展性,可以助力为SoC厂商提供差异化的产品设计。

欢迎来到真实世界

在深入探究了3NX各种改进的细节之后,让我们再来回顾一下嵌入式AI的一些不可思议的用途以及它是如何影响我们世界的。AI将触及我们几乎所有能想到的市场,从物联网、消费者、汽车到移动端、工业、安全以及农业等:深度学习和神经网络的力量将提升并彻底改变这一切。

当今最广泛认可的计算机视觉应用之一就是无人驾驶汽车,为了让汽车“看清”它周围的环境我们有多种技术可以选择,比如雷达、激光雷达、红外、热成像和CCD摄像头,由于后者的成本最低,大多数自动驾驶汽车可能会配备许多这样的摄像头。然而“看清”并不是问题——更具有挑战性的是“理解”,无论采用哪种技术,都需要采集多方面的数据,因此使用神经网络进行传感器融合将在未来一年变得越来越重要。

许多大公司,包括科技巨头和传统汽车厂商都正在研究无人驾驶汽车,当时也有一些初创小型企业参与进来,比如MIT成立的iSee机构,正如这篇技术文章所评论的那样,“惊人的进步……多亏了深度学习技术,一种利用大量数据的神经网络技术”。


自动驾驶汽车不仅仅局限于道路,机器学习算法也被广泛用于农业,借助大型机器人来分析小麦联合收割机收取的小麦(字面意思就是谷物中分离出小麦),还可以借助计算机视觉技术实现喷除草剂,避免伤害农作物,这样会使得整个过程更加的高效、环保和经济。

还有很多其他领域的例子,比如我最近遇到的两个,他们都属于“计算机视觉”的范畴。第一个是3D视觉系统,可以帮助农民监控猪的行为,防止发生“咬尾”事件,令人烦恼的是有时猪会毫无预兆的去咬其他猪的尾巴,这不仅会给猪带来痛苦,还可能会引发感染,从而使猪肉变质,给农民带来经济损失。通过分析猪的行为,视觉系统可以在这些事件发生之前迅速发现从而预防这类事件的产生。


另一个例子是研究人员发明了一种可以组装宜家(IKEA)椅子的机器人手臂(假设它们可以忽略指令,那么就不用担心它们会偷懒),现在的情形是虽然机器人还不会为我们工作,但这是朝着正确方向迈出的重要一步,我们会不断的向前进步。

当然神经网络在嵌入式设备中还有无数其他的应用案例,比如手机或智能相机的人脸识别、TV用到的手势识别以及图像增强,尤其是图像放大技术,基于现有的像素信息向图像中增加更多的信息实现图像的增强。

所有这些应用案例需要的都是神经网络硬件加速技术。如果您对Imagination的专用神经网络加速加速感兴趣,请联系我们ke.xu@imgtec.com,我们有专业的技术团队为您量身定制适合您的解决方案。

原文链接:https://www.imgtec.com/blog/separating-the-wheat-from-the-chaff-in-embed...

声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利

推荐阅读