2017年9月21日,全球知名的图形处理器技术厂商Imagination Technologies在深圳召开媒体发布会,正式发布了新一代的图形处理器PowerVR Series9XE和 9XM GPU,与此同时,Imagination还发布了旗下首款神经网络加速器PowerVR Series2NX NNA。
终端侧部署人工智能已是大势所趋
随着人工智能技术的发展,越来越多的行业开始引入人工智能技术。虽然,此前众多的人工智能都是依赖于云端来实现的,但是在终端侧部署人工智能已成为大势所趋。现在不少智能手机芯片、手机终端厂商也开始将人工智能技术部署到智能手机终端上。
虽然,智能手机依靠云端也能够实现“人工智能”,但是仍有着很多弊端。首先,个人隐私数据上传到云端会对隐私不利;其次,云端人工智能需要较高的带宽支持(可能会有大量的数据传输),同时功耗也更高;第三,云端人工智能会有较高的延时性,对于延时性要求较高的产品并不适合,比如无人机。
而用户在本地终端上进行部署人工智能计算则不会有这些问题,而且可以有更高的安全性、更高的性能、更低的功耗、更低的延时、更高的可靠性、对于带宽的需求也更低。显然,在终端侧部署人工智能是很有必要的。
所以我们也可以看到,2016年高通正式发布了骁龙神经处理引擎SDK,加入到了骁龙处理器当中。今年9月2日(德国当地时间),华为也正式发布了全球首款内置神经元网络单元(NPU)的人工智能处理器麒麟970。随后,在美国当地时间9月12日,苹果发布的新一代iPhone所搭载的A11仿生处理器也加入了全新的神经网络引擎。显然,在终端侧部署人工智能已成为大势所趋。
Imagination PowerVR市场高级总监Chris Longstaff认为:“未来人工智能将像CPU、GPU和视频编解码器一样在SoC中无处不在,这需要硬件来实现。”即在SoC当中加入人工智能处理器。
神经网络处理器大受青睐
人工智能的概念比较广泛,目前有很多厂商采用原有的CPU、GPU,或者DSP来进行人工智能计算,但是相对而言,基于神经网络的人工智能专用处理器更受市场青睐。
从技术角度看,包括深度学习在内的人工智能实际上是一类多层大规模人工神经网络。它模仿生物神经网络而构建,由若干人工神经元结点互联而成。神经元之间通过突触两两连接,突触记录了神经元间联系的权值强弱。每个神经元可抽象为一个激励函数,该函数的输入由与其相连的神经元的输出以及连接神经元的突触共同决定。为了表达特定的知识,使用者通常需要(通过某些特定的算法)调整人工神经网络中突触的取值、网络的拓扑结构等。该过程称为“学习”。在学习之后,人工神经网络可通过习得的知识来解决特定的问题。
由于神经网络计算的类型和计算量与传统计算的区别,导致在进行神经网络计算的时候,传统CPU、DSP甚至GPU都有算力、性能、能效等方面的不足,所以激发了专为神经网络计算而设计处理器或加速器的需求。
目前神经网络计算类型主要有卷积神经网络(CNN)、循环神经网络(RNN)和长短期记忆网络(LSTM)等。
CNN是一种前馈神经网络,人工神经元可以响应周围单元,可以大型图像处理。卷积神经网络包括卷积层和池化层;而RNN神经网络是一种节点定向连接成环的人工神经网络。这种网络的内部状态可以展示动态时序行为。可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等;LSTM是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。
Imagination推出神经网络加速器PowerVR NNA
面对市场对于人工智能在终端侧部署的需求,今天Imagination宣布推出了旗下首款神经网络加速器PowerVR NNA,其首款产品就是PowerVR Series2NX NNA。
据介绍,Imagination PowerVR NNA是一个从0开始设计的完整、独立式的硬件IP神经网络加速器,通过神经网络(NN)专用的PowerVR架构实现。
PowerVR NNA的特色在于可以同时支持CNN、RNN、LSTM三种神经网络类型,并且可支持caff、caffe2、Google TensorFlow等通用机器学习体系架构,还支持可适用于移动端的TensorFlow Lite、caffe2go等机器学习体系架构。同时,PowerVR NNA还可提供业界领先的面积效率。
这也使得PowerVR NNA可以用于移动、监控、汽车与消费等众多领域,并以非常低的功耗实现神经网络的高性能运算。
Imagination表示,NNA的潜在应用不计其数,其中包括AR/VR头戴设备中的特征检测与眼球追踪;汽车安全系统中的行人检测与驾驶员警觉性监控;智能监控系统中的脸部辨识与人群行为分析;网络诈欺检测、内容建议(content advice)、以及预测性UX;虚拟助理应用中的语音识别与回应;以及无人机中的防撞与对象追踪等。
以无人机为例,如果以67米/秒的速度飞行,在没有部署人工智能硬件的情况下,通常需要10-15米的防碰撞距离。而如果采用了Power VR NNA则可以实现在不到1米的距离内避开障碍物,同时由于可支持多个神经网络,所以可在避免碰撞的同时识别和跟踪物体。
另外,以移动设备上的照片/视频识别为例,高端GPU对1000张照片进行搜索/排序,大约需要60秒;消耗1%的电量,可实现照片排序2400张或者视频分析1分钟20秒(视频的时长)。而如果采用Power VR NNA对1000张照片进行搜索/排序,只需要2秒;消耗1%的电量,可实现照片排序428000张或者视频分析237分钟。
显然,得益于Power VR NNA的部署,终端侧的人工智能将会变得比以往更加的高效。
“NNA将会成为一种基本类型的处理器,预计会跟CPU和GPU一样重要,而这两类处理器Imagination均已能供应。”Chris Longstaff非常自豪的说到。
PowerVR 2NX NNA架构和特性
作为Imagination神经网络加速器PowerVR NNA的首款产品——PowerVR 2NX NNA又有那些特色呢?
官方的资料显示,PowerVR 2NX NNA采用的是可扩展架构:16位支持128-1024MAC/每时钟频率,8位支持256-2048MAC/每时钟频率。通过多核扩展可支持超过2048MAC/每时钟频率。同时支持在未来开发不同性能和特点的内核,以满足不同市场和应用需求。
灵活支持不同位长的数据类型:支持16、12、10、8、7、6、5、4位——汽车等一些市场需要16位支持,而另一些市场可能则只需要较低精度即可,这样可以更快速度的处理;权重和激活位宽精度每层均可调节;以最小功率和带宽实现最大性能。
可变精度的内部数据格式:累加器内部在需要时可支持高精度运算,而输出精度可调;可为结果保证最佳精度。
为所有关键神经网络层提供全硬件支持:“加速器”——为处理提供全硬件支持,主CPU用于驱动;最大限度的提高性能,减轻CPU负载;支持多种网络类型。
与ISP、GPU和CPU兼容的读写格式:以最少的外部处理和带宽,确保与其他系统组件的互操作性;支持NNEF等交换格式。
加速器内优化数据流:旨在减少对外部存储器的访问。
MMU(内存管理单元)可配:支持Android或者其他复杂的操作系统。
PowerVR 2NX NNA可吊打麒麟970和苹果A11?
那么PowerVR 2NX NNA性能相比现有的其他人工智能硬件解决方案来说到底如何呢?
据Imagination介绍,PowerVR 2NX NNA这样的专用的人工智能硬件解决方案 —— 与单纯的DSP解决方案相比,它可提供8倍的性能密度提升,同时将能以最低的功耗与成本达到最高的性能。
从上面的这张图上,我们可以看到,PowerVR 2NX NNA的性能最高可达2000MAC/每时钟频率,远超DSP、CPU、NN SDP、DSP+Hardware、DSP+Hardware、VPU+Hardware等解决方案,是目前性能最接近的竞争对手的两倍,同时,所需要的面积却不到其1/2。(Imagination称,以上数据是基于卷积神经网络的实测数据或竞争对手的公开数据)
Imagination表示,PowerVR 2NX NNA可目前实现最高效率的解决方案,可提供:业界最高的单位毫瓦推理 (inference/mW) IP内核,以提供最低的功耗;业界最高的单位面积推理 (inference/mm2) IP内核,可实现最具成本效益的解决方案。
此外,PowerVR 2NX NNA是业界最低带宽的解决方案,能最小化外部DDR内存的带宽需求,神经网络非常耗费带宽,这也会为SoC设计人员和OEM公司在设计系统时带来挑战,而PowerVR 2NX NNA支持权重与数据的高灵活性位宽,包括低至4位的低带宽模式,确保系统的性能不会受到带宽的限制。
根据Imagination的数据显示,相对与8位的带宽模式来说,4位的低带宽模式下,PowerVR 2NX NNA性能提升了60%,功耗降低了69%,但是相对精度只降低了不到1%。与竞争对手的解决方案相比,PowerVR 2NX NNA所需的带宽只有其25%-50%。
回过头来,我们再来看看PowerVR 2NX NNA与目前备受关注的人工智能处理器麒麟970和苹果A11在人工智能性能上的对比。
根据此前华为公布的数据显示,其麒麟970可以在1分钟内识别2000张图片,消耗1%的电量可识别5000张图片。而Imagination给出的数据则显示,其上一代的PowerVR 7XTP GPU也可实现一分钟内识别1800张图片,消耗1%电量可识别2400张图片,虽然在能耗上要略大一些,但是在识别速度上已经接近了麒麟970的水平。至于PowerVR 2NX NNA则更是逆天,可以在1分钟内识别30000张图片(达到了麒麟970的15倍),如果只消耗1%的电量,则可识别高达438000张图片(功耗只有麒麟970的1/88左右)。
苹果A11公布的数据显示,其神经网络引擎可支持6000亿次操作/秒,PowerVR 2NX NNA则支持4万亿次操作/秒,PowerVR 2NX NNA的性能可达苹果A11的6.7倍左右。
显然,从Imagination公布的数据来看,PowerVR 2NX NNA在人工智能方面确实有着吊打麒麟970和苹果A11的实力。
专为移动和Android设计
目前在移动终端侧部署人工智能已是大势所趋,谷歌、苹果、Facebook、百度、华为等厂商都纷纷将人工智能应用于移动领域。而一直以来,移动市场也是Imagination的最大市场。此次推出的PowerVR 2NX NNA也主要是针对移动市场,其具有低功耗、小面积、支持内存管理单元、支持Android等操作系统等特性。
Chris Longstaff也表示:“随着谷歌Tensorflow Lite以及 Android API的即将发布,再加上Caffe2Go架构的快速进展,我们将看到智能手机AI应用程序数量的快速爆发。PowerVR 2NX是现今唯一的一套IP解决方案,能以低功耗、小面积、MMU和对Android的支持,来满足移动解决方案部署的所有需求。比如以高效率的方式来执行包括影像辨识、语音辨识、计算摄影等在内各种的推理任务。”
除了移动市场之外,PowerVR 2NX NNA专为适应多种市场的推理引擎设计,其高度可扩展架构也适用于未来的更多应用市场。
而为了推动PowerVR 2NX NNA的快速应用和部署,Imagination还为开发人员提供了所有必要的工具,让他们能快速、轻松地启用和执行其神经网络,并确保运算带宽能与准确度完美平衡。
PowerVR 2NX的开发资源包括映射 (mapping) 和微调工具、样本网络、评估工具与文件。完整的 PowerVR NX Mapping Tool 能从业界标准的机器学习框架,包括Caffe 和 Tensorflow,轻松进行转换。高级的网络设计人员将能在2NX NNA 上设计与构建神经网络,以充分发挥其硬件特性。
Imagination也可提供通用的Imagination DNN (深度神经网络) API,能在CPU、GPU与NNA之间轻松转换。此单一的API能够跨多种SoC配置执行,因此能在现有设备上轻松开发原型。
据Imagination介绍,PowerVR 2NX NNA可进行独立授权,可以与第三方的CPU、GPU相配合。不过,Imagination也表示如果把新的 PowerVR Series9XE或 9XM GPU与 2NX NNA在相同的芯片中搭配运用,将可提供更为优异的性能。目前PowerVR 2NX NNA已开始提供授权。据透露,目前已有不少客户对于这款产品表现出了比较大的兴趣。
Imagination能靠PowerVR NNA重返巅峰吗?
众所周知,今年年初,苹果宣布在未来两年内放弃使用Imagination公司的图形技术,这对于Imagination来说可谓是一大打击,要知道苹果一直是Imagination的最大客户,苹果每年支付给Imagination的许可费用和专利费占其总营收的约50%。而随着苹果即将放弃采用Imagination的技术,Imagination的未来前景堪忧。
(这里补充一点:日前苹果发布了其新一代的处理器苹果A11,苹果官方公开表示,其集成了苹果自主设计的GPU。对此,我们也咨询了Imagination,对方表示不便对于苹果的产品进行评论,但是其透露,根据其与苹果的协议,苹果是可以基于PowerVR GPU进行自己的定制化设计的。那么似乎也意味这苹果A11的GPU仍然还是基于Imagination的技术。)
而为了减少即将丢失苹果这个第一大客户对于自身的影响,Imagination在巩固移动图形处理器市场的同时,顺应市场趋势和需求,推出神经网络加速器PowerVR NNA也确实不失为一个明智之举。
“神经网络加速的专用硬件将成为未来SoC的标准IP模块,就如同CPU和GPU一样。我们很高兴率先向市场推出完整的硬件加速器,能完全支持高精准度的灵活方式,使神经网络能以最低的功耗与带宽运作,并提供优于竞争对手方案的绝对性能与单位面积性能。我们提供的工具将能让开发人员非常快速地启用并执行其神经网络,因此能快速增加营收。”对于PowerVR NNA的未来,Chris Longstaff表现的很有信心。
不过,不少移动芯片厂商似乎也在积极研发自己的人工智能芯片,PowerVR NNA虽然从数据上来看确实非常亮眼,但是究竟能否像PowerVR GPU一样获得市场的广泛认可还有待观察。
作者:芯智讯-浪客剑