AI Benchmark v4 Device选择:Google Pixel 4XL简析

    科技2024-03-28  90

    田海立@ 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设备。

     

    thl789 认证博客专家 系统分析师 Android 人工智能
    Processed: 0.018, SQL: 8