1. 程式人生 > 實用技巧 >AI Benchmark v4 Device選擇:Google Pixel 4/XL簡析

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):

  1. INT8的NNAPI1.1資料竟然TPU Edge不敵Hex. 690,當然它們的實現路徑不同,Hexagon直接是TFLite Delegate;TPU Edge通過NNAPI實現,這裡如果模型中有運算元支援有問題,效能就會大不同;
  2. 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裝置。