本文主要是介绍AI Benchmark v4 Device选择:Google Pixel 4/XL简析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
田海立@CSDN 2020-10-07
AI Benchmark v4测试项更新以及榜单数据解读知道了AI Benchmark执行的时候可以选择NNAPI,也可以直接用TFLite里的Delegate。Google Pixel 4/XL里用的芯片是高通骁龙855+Google TPU Edge,设备如何选择,选择的是否合理,这里简要分析之。
把榜单soc数据拷贝下来,复制到Excel表格里,简单分析一下。这里只留取Snapdragon 855和Snapdragon 855 + Pixel Neural Core:
可以看到执行Device的选择:
- Snapdragon 855用的是hg,也就是INT8是Hexagon Delegate;FP16是GPU Delegate,这里指定了执行Device及其实现方式(也可以通过NNAPI来让NN Runtime自主选择的)。
- Google Pixel 4的soc Snapdragon 855 + Pixel Neural Core用的是nn,也就是无论INT8还是FP16选择的都是NNAPI,让NN Device的HIDL实现来决定具体由哪个Device来执行。
SOC Snapdragon 855 + Pixel Neural Core里的NN Device里除了Qualcomm 855里的Hex. 690 for INT8, Adreno 640 for FP16, 还有TPU Edge for INT8。HIDL实现里上报的能力(Capabilities)对于INT8类型,TPU Edge指标是大于Hex. 690的,所以NNAPI执行选择Device时,会自动选择TPU Edge for INT8, Adreno 640 for FP16。
再来对比一下两者指标(Pixel 4 vs Snapdragon 855):
- INT8的NNAPI1.1数据竟然TPU Edge不敌Hex. 690,当然它们的实现路径不同,Hexagon直接是TFLite Delegate;TPU Edge通过NNAPI实现,这里如果模型中有算子支持有问题,性能就会大不同;
- FP16的NNAPI1.2数据Pixel 4 远低于vs Snapdragon 855,都是GPU执行的,也只是路径不同而已,855直接是TFLite Delegate;Pixel 4通过NNAPI实现。同一Device,NNAPI性能低这么多,应该是算子支持有问题。
如果Google不去关注这个榜单,不深究数据,我们无从知晓内部具体实现,就没法更改。但对于AI Benchmark来说,可以比较更客观一点的可以是:对于Pixel 4的FP16选择GPU Delegate。这样,INT8数据因为无从知道如何选择NN Device,通过NNAPI让NN Runtime来自主选择;对于FP16,就直接通过TFLite Delegate指定GPU设备。
这篇关于AI Benchmark v4 Device选择:Google Pixel 4/XL简析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!