|

TinyML效能基準測試:MLPerf Inference:Tiny 0.7版觀察

   

作者:陸向陽

MLCommons針對各種人工智慧效能訂立測試基準,包含訓練的基準、推論的基準,並針對不同情境再進行細分,例如訓練又分成一般訓練或是高效能運算的訓練,推論也分成資料中心、邊緣運算、行動用、TinyML用,對我們創客而言,當然首要關注的是TinyML的基準測試,即MLPerf。

此前MLCommons公佈過一次MLPerf 0.5版的測試,約在去年六月,今年四月則再次更新,稱為MLPerf 0.7版,雖然一樣是非正式版(一般認定1.0版為正式版),但參與測試的軟硬體陣容已大幅擴充,值得觀察,本文以下即對此進行更多討論。

業者參與陣容大幅擴充

首先是參與者更多了,0.5版僅6組測試結果,0.7版增至26組;0.5版參與的測試者有些未持續在0.7版出現,如美國Latent AI公司、深圳鵬城實驗室等,但也有持續參與的,例如美國Syntiant公司、Fast Machine Learning Lab/FastML Lab(以軟體技術參與測試)。

另外有許多MCU相關大廠開始從0.7版加入測試,例如日本瑞薩(Renesas)、歐洲的意法半導體(STMicro)、美國的Silicon Labs/SiLabs,我國的晶新科技(Andes),以及中國大陸的阿里巴巴(Alibabab)等均參與。此外還有英國Plumer公司,同樣以軟體技術為主參與測試。

各業者送測的組態配置

我國晶心科技送測了3組,分別使用該公司的D25F、D45以及NX27V核心,D25F、D45為32位元AndeStar v5指令集架構但依循RISC-V技術,NX27V則為64位元,然後也用到RISC-V P(SIMD)、RISC-V V(向量)的延伸指令集等加速技術。

我國晶心科技有3組測試,其中2組使用晶心科技的FPGA開發板ADP-XC7K160/410,圖為160(圖片來源:晶心科技

嚴格來說,晶心是類同於Arm安謀的純矽智財授權商,沒有自己的晶片,所以晶心其實是用FPGA晶片來實現自己的核心,從而參與測試。另外軟體方面晶心除了用TensorFlow Lite for Microncontrollers外也有搭配自己的Andes NN函式庫。

接著談英國Plumerai,一樣送測3組,分別在STMicro、Cypress的MCU上執行,核心為Cortex-M4、M7。Plumerai主要是彰顯自己的推論引擎軟體技術,但一般毫無硬體加速器的設計下也能有不錯的推測效能。

進一步的是Renesas,送測2組,一組用一般的Cortex-M33但有搭配浮點運算單元(FPU),另一組是Renesas自有架構的32位元RXv2,軟體上都只有跑TensorFlow Lite for Microncontrollers。跑出的結果顯示,Cortex-M33搭配FPU在各種TinyML的情境基準測試上,其反應速率都快過RXv2、功耗用電都低於RXv2。

圖2 Renesas送測自有架構RXv2晶片是用自己的Renesas RX65N Cloud Kit套件(圖片來源:Renesas

而Arm架構的極大擁護者STMicro也送測3組,核心分別為Cortex-M4、M33、M7,並搭配STMicro自己的軟體X-CUBE-AI v7.1.0,測試結果效能上大體是M7 > M33 > M4,但若省電而言M33為最佳,M4反為最耗電,M7耗電還略低於M4。

再來是0.5版就參與測試的Syntiant,無論0.5版、0.7版都是使用NDP120晶片,但電路板與運作時脈有別,0.7版的2組測試分別為1v1版、0v9版的評估電路板,運作時脈分別為98MHz與30MHz。軟體方面主要為Syntiant自己的Syntiant TDK。

NDP120晶片內雖有Cortex-M0核心,但Syntiant其實主打PIM(Processor-In-Memory)技術,M0核心主要是控制協調之用。Syntiant揭露的測試項很少,只有測試關鍵字發現(Keyword Spotting)一項,但新版有進步,0.5版時的延遲為5.95mS(毫秒),0.7版精進至4.3mS、1.8mS,另0.7版有測試功耗狀況,30MHz版明顯叫98MHz版省電:35.29uJ(微焦耳)優於49.59uJ。

圖3 新創業者Syntiant的NDP120晶片非常嬌小,訴求在高度講究小體積、省電的AI應用(圖片來源:Syntiant

至於SiLabs只測1組,主要測其MVP加速器、其Gecko SDK。以上是0.7版的Closed送測,是大家遵循一致的標準來測,至於Open測試則無共同依循,可以任意自我宣告,0.7版主要為阿里巴巴跟之前就參與的FastML Lab的hls4ml。

Open類中阿里巴巴有4組,都是(軒鐵)XuanTie C906晶片,核心也是RISC-V,軟體則用Sinian/CSI-NN2,4組各自在一個基準測試中得到很佳的表現,例如視覺喚醒關鍵字上僅有4.702mS,影像分類只有3.122mS,關鍵字為1.202mS,異常偵測為0.208mS,擺明來取分的。

至於FastML Lab有8組,4組使用Xilinx Zynq XC7Z020(內有2個Cortex-A9核心),4組使用Xilinx Artix-7 C7A100T,軟體分別用hls4m  開源框架(用來轉譯機器學習演算法成FPGA韌體)以及FINN編譯器,各項的測試結果多再優於阿里巴巴,例如影像分類可以快到只要1.5mS,關鍵字可以快到只要0.017mS,異常偵測則為0.019mS,只有視覺喚醒關鍵字沒有揭露測試結果,而以阿里巴巴的為最佳。

結語

由於Open等於各自宣說,真正有共同基準的是Closed,筆者列出Closed中4個測試方面最快速、最省電的組:

– 視覺喚醒最快59.40mS,Plumerai搭配Cortex-M7核心

– 視覺喚醒最省4030.97uJ,STMicro的Cortex-M33核心

– 影像分類最快65.10mS,Plumerai搭配Cortex-M7核心

– 影像分類最省4151.13uJ,STMicro的Cortex-M33核心

– 關鍵字追最快1.80mS,Syntiant的98MHz NDP120

– 關鍵字追最省35.29uJ,Syntiant的30MHz NDP120

– 異常偵測最快2.28mS,STMicro的Cortex-M7核心

– 異常偵測最省45.72uJ,SiLabs的Cortex-M33核心

看來看去贏家多是Cortex-M33、M7,另外Plumerai的推論引擎軟體也不錯,Syntiant在PIM硬體技術在關鍵字追蹤表現上極佳。由此可知,新的核心、高階核心跟特有軟硬體真的能在分數上取勝。期待下一次的測試會有更多的業者參與,並給我們更多的驚奇。

(責任編輯:唐育琪)

陸向陽
陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。