AI Benchmark测试原理、v4测试项变化以及榜单数据解读
田海立@csdn 2020-10-3
AI Benchmark這里特指ETHZ(蘇黎世聯邦理工學院)的AI性能評測工具。最新其發布了v4版本以及基于這個版本的soc和手機AI性能數據。本文分析了AI Benchmark測試的原理,v4版本的變化,以及榜單頭部海思麒麟990 5G與MTK天璣1000+的對比。據此也就能解讀AI-Benchmark榜單上各個數據的含義了。
我盡量用公開的技術和客觀的數據來說話,不用非公開渠道獲得的信息,僅代表個人觀點,不代表所服務公司態度。但有涉密或不可公開信息,會及時刪除。
?
一、AI Benchmark測試相關
1. 移動端側AI推理的碎片化
AI的發展,先是有了各家設備的私有實現,然后才有AndroidNN試圖統一Android平臺上端側的推理框架。所以AI性能評測工具也就有了安兔兔、魯大師的基于soc廠商私有sdk的實現,也就有了ETHZ基于AndroidNN的實現。安兔兔、魯大師等起個大早趕了個晚集,AI評測領域并沒有多大聲音;而各soc廠商(高通、華為、MTK、紫光展銳...)卻不斷拿AI Benchmark說事,發布新芯片時宣傳其AI性能。
2. AI Benchmark測試原理
AI Benchmark是基于AndroidNN的,所以講AI Benchmark的原理離不開AndroidNN。先看一下,AndroidNN的框架:
上層通過NNAPI提供API給上層使用,注意這里的API還是比較lower level的,對于不是關注AI實現的開發者來說不是很友好的。Android NN在誕生之初就不是提供給最終應用開發者的,更上層是推薦TensorFlow Lite這樣的基于Model級別的ML框架的。
NN HAL定義一層NN device的抽象層,屏蔽細節,只要DSP/GPU/NPU基于NN HAL實現,NN Runtime就能基于其能力(Capabilities)來調度使用。
所以,AI Benchmark在這個生態鏈里,也就是應用層的概念,只是TFLite因為晚于AndroidNN集成于Android,所以TFLite是直接被打包于AI Benchmark的apk里的。
AI性能除了運行時間之外,基于數據集的精度也是一個很重要的指標。試想如果一個NN Device跑的是很快,但是丟失關鍵的數據結果都不對,那快又如何。所以,AI Benchmark里集成了很多的TFLite模型來分別測試CPU/INT8/FP16/FP32/INIT數據;還內置數據集測試特定測試項來評估精度數據。
?
二、AI Benchmark v4更新
前面說了v3之前的測試項,當然這也是一個變化的過程,比如性能測試是v3才加入的。
今年5月31號,AI Benchmark官方網站上公布了v4版本的變化,這里簡要總結一下:
1. TFLite delegates
因為最近TFLite的變化,對Device利用Delegate機制直接做了支持,這些包括github里GPU的直接支持,也與Qualcomm合作實現了Hexagon的支持(與Samsung的合作未在TensorFlow官方發布,但AI Benchmark那里應該拿到了Samsung提供的Delegate支持)。
所以,v4版本里Qualcomm與Samsung的TFLite Delegate支持直接集成到了apk里,這兩家的手機直接通過TFLite Delegate支持。
2. NNAPI-1.2
v3版本的時候,NNAPI-1.2還沒正式發布,所以v3版本之前不會有NN1.2的特性。在V4版本里,針對NNAPI設計了case。
3. 并行執行
NNAPI可以看到可以有多個NN Device,這些Device是可以并行執行的。當然這里的并行也可以是不同數據類型的模型的支持。這里也有了很好的設計與實現。
4. 評分系統
這里數據集與測試模型以及測試項都有了變化,所以評分系統也有相應的變化。
不過這里,并沒有詳細列舉測試項以及對應比值,而v3版本在其paper里是有詳細描述評分標準里各個測試項所占的比重的。這里可以期待其在最新paper里公開,也或許可能不對大眾開放了,僅對其合作伙伴開放。
?
三、AI Benchmark v4測試數據簡要解讀
AI Benchmark網站上已經發布了v4的性能數據,移動端數據包括了phone數據與soc數據。
Phone數據里采用同一soc的廠家差別都不大,所以手機廠商所做的努力有限,基本還是由soc來決定。但phone廠家的這點微小的差異也反應了各家的實力。
這里來看soc榜單
1. 執行設備
MTK/海思使用的NN device,也就是TFLite -> NNAPI -> NNHAL到NN Device這一同之前版本一樣的路徑;
而Qualcomm對quantized走的是Hexagon Delegate;FP類型走的是GPU Delegate。Samsung的Quantized與FP類型走的都是其Eden Delegate。
當然沒有NN設備的終端,直接走的是TFLite / NNRuntime的CPU實現。
2. 類別支持的差異
分析一下頭部MTK天璣1000+與海思990 5G的差異(這里只大致從官方數據分析,更詳細的也不便再公開分析,再說真有這數據也不能隨便給你了)
記得v3最后版本的時候,海思990 5G應該是遙遙領先,但這個版本MTK天璣1000+卻領先這么多。(可惜v3版本的結果沒有截圖,如果你有數據,麻煩給個鏈接)
海思990 5G對FP16做了很好的支持,而v3之前的版本FP16評分中占的比重較大,所以990 5G芯片領先于其他家。反觀現在這個榜單:
CPU數據,海思990 5G略低于MTK天璣1000+,這CPU架構決定,廠家能做的有限;
量化數據,NNAPI1.1,海思990 5G略低于MTK天璣1000+,正常情況;
量化數據,NNAPI1.2,海思990 5G遠低于MTK天璣1000+,這說明了對新NNAPI的支持,海思做的比起MTK很差,或根本沒做支持;(感興趣的讀者,有他們家手機可以自己抓數據分析一下)
FP16數據,NNAPI1.1,海思990 5G雖然遠高于MTK天璣1000+(近兩倍,24964 vs 12876);而NN1.2,海思990 5G卻僅與MTK天璣1000+相當,真的是NN1.2沒做升級支持啊。
LSTM/RNN,MTK天璣1000+也做了更好的支持。
?
結語
本文簡要分析AI Benchmark測試的原理,v4版本的變化,以及榜單頭部海思990 5G與MTK天璣1000+的對比。
當然了,這個榜單高也并不能說明問題的全部,比如海思990 5G位置在v3/v4榜單的變化也說明了這類榜單并不能反應AI能力的全部。真正注重用戶體驗,場景做得好的話,也就不用靠這個榜單來說話了。
而這里評分標準的變化也反應了產業界對量化與浮點模型支持的趨勢,雖然AI Benchmark算是學院派做的,但這一趨勢反應的是產業的變化。AI趨勢的引導甚至是產業界領先于學術界,誰做的好,占據了產業生態主導誰就掌握了話語權。
?
參考資源
1. AI Benchmark:All about Deep Learning on Smartphones
2. Android Neuralnetworks
3. github TensorFlow Lite
4.?AI Benchmark v4: ?Pushing Mobile NPUs to Their Limits
5. AI Benchmark soc ranking
6. AI tests
?
?
?
總結
以上是生活随笔為你收集整理的AI Benchmark测试原理、v4测试项变化以及榜单数据解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火车头 采集 java 生成正文_火车头
- 下一篇: 漯河到海南七日游