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