Kirin 970的NPU实力究竟如何?(2)
分类:数码硬件 热度:

CPU、GPU甚至DSP都能够在终端设备上实现推理功能,但是这些处理器之间存在着巨大的效率差距。通用处理器适合绝大多数的工作,但是他们天生就不是被设计用来进行大规模的并行计算的。GPU和DSP甚至表现的更好,也有巨大的提升空间。

但是,此外,我们也见到了一种新的处理加速器的出现,比如麒麟970里面使用的NPU。

由于这类处理加速器是新近出现的设备,所以到目前为止,业界并没有更出一个统一的命名方式。华为海思命名的是一种方式,而苹果则是以另外一个名字命名。

不过从普世意义上来看,我们能够将这些处理器统一称之为神经网络IP。

为麒麟970 NPU提供IP的是一家名为寒武纪的中国IP供应商,据了解,NPU采用的IP是经过优化之后的产物,而不是直接采用现有IP。同时,华为还要求Cambricon能够与之共同发展改进该IP,因为在实际的应用当中,实际情况与计算情况,有时候还是会存在着一些差距。

但是,我们需要明白的是,我们应当避免对神经网络的理论性能数据过多关注,因为这些数据并不一定与实际性能有关,同时由于对神经网络IP了解有限,最终结果如何也未可知。

Kirin 970的NPU实力究竟如何?

当使用CPU以外的其他硬件设备来运行神经网络的时候,第一个障碍就是利用适当的API来访问模块。

传统的SOC和IP供应商已经能够提供专用的API和SDK来进行使用该类硬件的神经网络的应用开发。而海思提供的API不仅仅能够管理CPU,也能够用来管理GPU和NPU。虽然目前海思还没有对外公开该API,但是据了解,海思将会在今年晚些时候与开发商一起进行开发。

其他的厂商,诸如高通也提供了SDK来帮助程序开发人员在GPU和DSP等硬件的基础上进行神经网络的开发工作,当然还有其他一些IP供应商也有提供自己专门的软件开发工具来进行相关的开发。

但是,针对特定供应商的API同样存在着局限性,未来我们需要不同的供应商能够提供统一的API来进行更加快速,便捷的开发工作。

谷歌目前正在开展这项工作,该公司计划在安卓系统8.1当中引入相关的名为NN API的模块。

另外一个需要注意的问题是,目前很多的类似于NN API的只能够支持一部分功能,比如只能够支持NPU的一部分功能,如果开发人员想要在NPU的基础上,充分开发和利用硬件的性能,开发者就需要有专门的API来开发这类硬件。

Kirin 970的NPU性能测试

为了完成这类开发工作,我们还需要一个基准测试,来测试不同的供应商提供的API能够利用到NPU多少性能。

不幸的是,在现阶段,我们还缺少类似的实现该基准测试的方法,目前只有中国的一个厂商推出了相关的软件:在中国比较流行的鲁大师基准测试软件在最近推出了一个基于人工智能测试的框架,用来测试NPU和高通SNPE框架。

据了解,目前该基准测试能够测试三种不同的神经网络,VGG16, InceptionV3和ResNet34。

这类软件不仅能够测试相关的处理器的性能,并给出相关的结果。同时也能够以图形化的方式,从平均功率,效率以及绝对性能等三个维度展示处理器的处理能力。

Kirin 970的NPU实力究竟如何?

从这类软件呈现的图形数据我们能够观察到处理器的性能差异,CPU和NPU在进行相关运算时到底有多大的差距。

Kirin 970的NPU实力究竟如何?

当使用CPU来进行运算的时候,通常情况下CPU只能以1-2fps的速率进行计算,而所需要的功耗也异常的高。比如骁龙835和麒麟960的CPU在运算的时候,都需要以超过平均负载的工作负载进行运算。

相比较而言,高通的Hexagon DSP能够实现相对于CPU5到8倍的性能。

而华为的NPU的性能则更加明显,相对于ResNet34,NPU能够实现4倍的性能提升。

不难发现,不同的处理器之所以在性能方面表现出如此巨大的差异,是因为这些处理器的设计不同,所针对的处理器应用场景也不同。

由于卷积神经网络在运算的过程中需要进行大量的并行计算,因此,像麒麟NPU这样的专门的处理器在执行的过程中往往能够实现更高的性能。

而在功耗方面,我们则发现,相对于其他的处理器,NPU能够实现50倍的改进,尤其是在卷积神经网络实际的运用当中,这种能耗的提升更加明显。

Kirin 970的NPU实力究竟如何?

上一篇:SONY神秘新机通过FCC认证!3.5mm耳机孔不见了? 下一篇:iPhone X需求依然强劲,iTunes错放《雷神3》高清版
猜你喜欢
各种观点
热门排行
精彩图文