隨著物聯(lián)網(wǎng)(Internet of Thing, IoT)誕生,萬物都上網(wǎng),新產(chǎn)品如果沒有「IoT+」或「+IoT」就好像跟時代脫了節(jié)。接下來人工智能(Artificial Intelligence, AI)興起,于是星爺說:「爭什么爭,把兩樣摻在一起做瀨尿蝦牛丸不就得了,笨蛋!」,因此智慧物聯(lián)網(wǎng)「AI + IoT = AIoT」就理所當(dāng)然變成最佳的營銷術(shù)語了。
不過本來只要把各種傳感器(Sensor)偵測到的信號利用超便宜的單片微機(jī)(Single Chip Microprocessor或Micro Control Unit,MCU)(以下簡稱MCU)加上通訊模塊就能把數(shù)據(jù)送上云端進(jìn)行儲存及各種智能分析、預(yù)測。但隨著云端通訊、儲存及計(jì)算費(fèi)用的增加,數(shù)據(jù)隱私及計(jì)算結(jié)果反應(yīng)速度的不足,于是大家就把目光重新拉回那個吃苦耐勞又便宜的MCU上,期望在不上網(wǎng)的情況下,在本地端(邊緣)就能完成邊緣智能(以下簡稱Edge AI)的運(yùn)算,所以微型機(jī)器學(xué)習(xí)基金會(tinyML.org)這個國際組識因運(yùn)而生,提供大家更多的解決方案。
接下來就讓我們來進(jìn)一步了解AIoT、MCU及tinyML的機(jī)會在哪里,要如何整合才能變成下一個明星產(chǎn)業(yè)。
何謂MCU?為何爆紅?
2020年受COVID-19疫情爆發(fā)影響,世界大部份的工廠都無法順利生產(chǎn)及出貨,波及各行各業(yè),半導(dǎo)體(IC)產(chǎn)業(yè)亦成為重災(zāi)區(qū)。不論上游的原物料,中游的晶圓代工廠、封裝測試廠、設(shè)備供貨商,到下游的電子、家電、計(jì)算機(jī)及外圍產(chǎn)品無一不受影響。由于整個半導(dǎo)體供應(yīng)鏈?zhǔn)颍虼碎_始出現(xiàn)大缺貨現(xiàn)象。剛開始主要在搶高階芯片(如CPU, GPU, 手機(jī)芯片等)產(chǎn)能,后來開始排擠到中低階微處理器(MCU),間接導(dǎo)致2021年幾乎所有MCU個個漲勢如虹。
什么是MCU呢?這是一種發(fā)展了四十多年的技術(shù),它將運(yùn)算單元(CPU)、輸出入單元(GPIO)、輔助控制單元(Timer, UART, I2C, SPI, ADC等)及內(nèi)存(Flash, SRAM,EEPROM)整合在同一顆芯片上,相當(dāng)于把一部計(jì)算機(jī)塞進(jìn)一個芯片中,故早期亦將MCU稱為「微電腦芯片」。近年來更有許多廠商把無線通信部份(如WiFi, BlueTooth, Zeebee, 4G, 5G等)甚至人工智能所需的神經(jīng)運(yùn)算加速單元(如NPU)加入其中。
MCU充斥在我們的日常生活中,食衣住行育樂都能看見它的身影,包括各式家電、行動(穿戴)裝置、多媒體設(shè)備、電動玩具、物聯(lián)網(wǎng)產(chǎn)品甚至汽機(jī)車的控制及電源管理系統(tǒng)等,讓我們越來越不能沒有它。另外我們常見的高階手機(jī)芯片功能雖也是包山包海,它屬于系統(tǒng)級芯片(System on Chip, SoC),單價(jià)高(>US$100),頻率速度高、計(jì)算能力強(qiáng),但操作系統(tǒng)、應(yīng)用程序及內(nèi)存未包含在芯片中,且鮮少直接用于一般邊緣端AIoT產(chǎn)品中,故本文就暫不討論這類產(chǎn)品。
Fig. 1 嵌入式系統(tǒng)SoC及MCU差異比較圖
MCU的優(yōu)點(diǎn)是體積小、價(jià)格便宜(視功能配置,約US$0.5 ~ 20)、功耗極低(mW等級)可使用電池供電、功能強(qiáng)大,從4bit到32bit都有,容易開發(fā),有非常完整的工具鏈(Tool Chain)及生態(tài)體系(Ecosystem),連中小學(xué)生在玩的Micro:bit, Arduino開發(fā)板都屬于MCU的范圍。但缺點(diǎn)是系統(tǒng)架構(gòu)種類及供貨商太多,沒有統(tǒng)一的開發(fā)工具。
另外受限價(jià)格因素,通常工作頻率不高(MHz等級),程序及內(nèi)存區(qū)域都很小(KByte等級,少數(shù)能到MByte),不利大量運(yùn)算,通常也沒有操作系統(tǒng),僅有少數(shù)像Arm Mbed,RTOS能運(yùn)行在較高階的MCU上,所以開發(fā)出來的程序就很難像手機(jī)上的APP一樣可以任意運(yùn)行在不同硬件的手機(jī)上。
MCU產(chǎn)業(yè)現(xiàn)況
MCU目前是非常成熟產(chǎn)業(yè),包含可以讓用戶任意自行開發(fā)程序運(yùn)用所有資源的通用型MCU,和搭配專屬功能只需少量程序甚至不用寫程序的專用型MCU(如LCD驅(qū)動,電源管理等)。由于本文會將重點(diǎn)放在討論MCU如何加入Edge AI相關(guān)算法,故僅會列出通用型MCU相關(guān)信息。
這里粗略整理一下,國外知名通用型MCU供貨商,包括Analog, Atmel, Cypress, Freescale, Infineon, Microchip, NEC, NXP,Renesas, Samsung, Silicon Labs, STMicroelectronics (STM), Texas Instruments(TI), Toshiba, Zilog等(依英文字母順序排列)。
國產(chǎn)方面大約有五十家,包括中微、中穎、宏晶、雅特力、芯圣、匯春、靈動、晟硅、芯海、樂鑫、貝特萊、兆易、云間、健天、炬芯、國民、復(fù)旦、貝嶺、巨泉、國芯、東軟、沁恒、華芯、希格碼、華大、萬高、時代、航順、賽元、峰岹、極海、賽騰、杰發(fā)、芯旺、比亞迪及琪浦維。
而MCU指令集依寬度可分為4/8/16/32 bit,依工作架構(gòu)又可分為復(fù)雜指令集(Complex Instruction Set Computer, CISC)和精簡指令集(ReducedInstruction Set Computer, RISC),前者主要代表有Intel 8051系列,而后者常見代表則有Arm Cortex-M, RISC-V等系列,而后者有指令工作周期短及省電優(yōu)勢,因此目前RISC已逐漸取CISC。
而Cortex-M4之后的指令集更加入浮點(diǎn)及平行運(yùn)算(如SIMD)指令集,而RISC-V則有P及V指令子集可以對應(yīng)。更多MCU分類方式可參考Fig. 2。
Fig. 2 MCU屬性分類圖。
通用型MCU廠商早期多以Intel 8051(8bit CISC指令集)系列為主,隨著技術(shù)演進(jìn)及用途陸續(xù)發(fā)展出自己(或兼容)的指令集。1985年Arm推出第一顆RISC架構(gòu)的CPU「Arm1」。Arm是一家不生產(chǎn)實(shí)體集成電路(Integrated Circuit, IC)的公司,它只授權(quán)知識產(chǎn)權(quán)(Intellectual Property Core, IP)給其它公司整合成實(shí)體集成電路。
Arm 于2004年推出第一顆32bitRISC指令集的MCU IP 「Cortex-M3」,此后接連發(fā)展出Cortex-M (MCU)系列,包括M1, M0, M4, M0+, M7, M23, M33, M35P, M55等,國內(nèi)幾個大廠亦陸續(xù)取得授權(quán),生產(chǎn)相關(guān)MCU。
近年亦有些廠商不想支付巨額的授權(quán)費(fèi)用或需要更復(fù)雜客制化應(yīng)用,進(jìn)而轉(zhuǎn)向第五代CPU開源精簡指令集RISC-V(V為羅馬數(shù)字5)發(fā)展出自家的MCU。
AIoT與MCU關(guān)連
物聯(lián)網(wǎng)(Internet of Thing, IoT)主要希望萬事萬物都能上網(wǎng),讓用戶能透過網(wǎng)絡(luò)隨時可以得對象的狀態(tài),如開關(guān)、溫濕度及各式傳感器,甚至可以下命令(遠(yuǎn)程遙控)改變對象的工作內(nèi)容,如電氣設(shè)備啟動停止、冷氣照度調(diào)整等。所以IoT大致包含幾大項(xiàng)目,「感測組件」負(fù)責(zé)收集對象及環(huán)境狀態(tài),而「作動組件則改變對象的電氣狀態(tài)或機(jī)構(gòu)動作,而這些輸出入須由「微處理器(MCU)」來處理相關(guān)運(yùn)算工作。
另外為了讓用戶能透過行動通訊裝置(如手機(jī)、平板等)遠(yuǎn)程工作,所以還需要透過不同等級的有線及無線「通訊組件」(如Blue Tooth, ZigBee, WiFi, Ethernet, LoRa, NBIoT, 4G等)分段接力將信息傳送到云端,必要時還可以把這些數(shù)據(jù)長期儲存在云端。從上述可知MCU在IoT中拌演著非常重要的中介角色。
Fig. 3 智慧物聯(lián)網(wǎng)架構(gòu)
過去經(jīng)常有很多人誤解,以為只要一直定時收集一個或多個傳感器變化信息或者用戶操作記錄,計(jì)算機(jī)就能接著自動提取數(shù)據(jù)特征或分析預(yù)測時序變化,大數(shù)據(jù)會自動變成人工智能,幫忙預(yù)測和決策。
但很遺憾地是后半段的工作通常沒人去做,所以根本沒有AI + IoT變成AIoT這回事。為什么呢?因?yàn)榇蟛糠軲CU的工程師要搞懂如何把數(shù)據(jù)從本地(邊緣)端串接到云端就已費(fèi)盡大部份的力氣,此時還要讓他們再搞懂AI的算法和應(yīng)用就是難上加難。
若此時搭配一個專業(yè)AI工程師直接從云端處理數(shù)據(jù),那應(yīng)該就沒問題了吧。不幸地是這里常需結(jié)合領(lǐng)域知識,由專業(yè)人士進(jìn)行特征定義及協(xié)助標(biāo)注監(jiān)督式學(xué)式所需的數(shù)據(jù)集,不然很難取得有用成果。
或許有人會說那用非監(jiān)督式學(xué)習(xí)算法(如回歸、聚類等)或者采用時序預(yù)測模型算法來解決不就好了。但現(xiàn)實(shí)上還是要有專業(yè)人士協(xié)助定義問題及需求,如此提取出的特征和預(yù)測的結(jié)果才具實(shí)務(wù)意義。
此時若我們把AIoT的智能能力限縮一些,不要包山包海,不要企圖找出通用模型,那或許就較容易找到特定問題的解答。
再來說到云端AIoT,如果你的口袋夠深,它幾乎擁有無限的儲存空間和算力,不管再復(fù)雜的算法都沒問題。可是當(dāng)要采用只有幾塊美金的MCU來完成Edge AI應(yīng)用時,常用算法要移植到只有數(shù)Kbyte到數(shù)MByte的程序代碼區(qū)及數(shù)十Byte到數(shù)十Kbyte的隨機(jī)內(nèi)存區(qū),加上只有數(shù)Mhz到數(shù)十MHz的計(jì)算能力的MCU上時,就很難達(dá)成了。因此目前MCU能適用的Edge AI范圍就必須有所限制。
tinyML時代來臨MCU迅速崛起
人工智能(AI)時代來臨,好像不管什么產(chǎn)品只要加上AI兩字就能大賣,就像三十多年前家電產(chǎn)品加上「微電腦控制」(其實(shí)就是MCU)就能更受消費(fèi)者青睞。但傳統(tǒng)云端式AIoT,不僅產(chǎn)品制造商花費(fèi)很多,如電費(fèi)、通訊、儲存、計(jì)算、訓(xùn)練、布署等維護(hù)費(fèi)用,使用者亦要隨之付月費(fèi),如此才能持續(xù)獲得AI服務(wù),所以常會令人卻步,認(rèn)真思考投入后是否劃算。
基于上述問題,許多廠商開始思考將AI微型化、本地(邊緣)化,以低帶寬(甚至完全斷網(wǎng))、低延遲(快速反應(yīng))、高隱私(數(shù)據(jù)不外流)及低成本來完成像智能傳感器(Smart Sensor)等微型AI應(yīng)用,如此就有很大機(jī)會能使用中高階MCU來完成。
基于上述AI微型化理念,許多CPU, GPU, MCU, AI加速計(jì)算芯片大廠、AI開發(fā)工具及應(yīng)用廠商紛紛響應(yīng),于2019年成立微型機(jī)器學(xué)習(xí)基金會(tinyML Foundation) ,每年定期會舉辦高峰會,讓廠商、學(xué)界、社群都能共襄盛舉。2021高峰會有近六十個贊助商(如Fig.4 所示)。
根據(jù)該基金會對tinyML的定義:「微型機(jī)器學(xué)習(xí)(以下簡稱tinyML)為一個快速發(fā)展的機(jī)器學(xué)習(xí)(Machine Learning)技術(shù)和應(yīng)用領(lǐng)域,包括硬件、算法和應(yīng)用軟件。其能夠以極低功耗執(zhí)行設(shè)備上的傳感器(Sensor)的數(shù)據(jù)分析,通常在mW(毫瓦特)以下范圍,進(jìn)而實(shí)現(xiàn)各種永遠(yuǎn)上線(或稱常時啟動)(Always On)的應(yīng)用例及使用電池供電的設(shè)備。」
這里的ML雖然指的是機(jī)器學(xué)習(xí),不過亦可延伸解釋到深度學(xué)習(xí)(Deep Learning, DL)甚至人工智能(AI)、邊緣智能(Edge AI)。從上述定義可得知tinyML 幾乎是鎖定MCU及低階CPU所推動的Edge AI,明顯會對未來MCU的市場動能提供新一波的助力。
市售通用型MCU的類型非常多,目前以Arm Cortex-M系列MCU支持的廠商算是最多的(含通用型和專用型),其市占率也是最高的,光2020第4季統(tǒng)計(jì)就出貨了44億顆芯片。其規(guī)格跨度很大,很容選用到合適的系列,從最小的M0, M0+, M1, M3, M4, M7, M23, M33到M35,最新的M55還有搭配上AI加速計(jì)算芯片U55。
由于相同的系列不同廠商制作規(guī)格可能有所不同,這里以STM32為例,其工作頻率速度可由32MHz (M0+) 到550MHz (M7),其算力可從75 CoreMark (M0+) 到 3224 CoreMark (M7)。
Fig.5 STM Cortex-M相關(guān)產(chǎn)品規(guī)格表。
由上述內(nèi)容可知MCU的普及已幫 AIoT打下很棒的基礎(chǔ),未來若再加上tinyML就能引爆下一波新的微型Edge AI應(yīng)用。
tinyML開發(fā)平臺及應(yīng)用領(lǐng)域
目前tinyML基金會并沒有明確的定義那些項(xiàng)目才算是其范圍,也沒有制定特定的開發(fā)框架及函式庫(如機(jī)器人操作系統(tǒng)ROS),而是開放給硬件及開發(fā)平臺供貨商自行解釋及彼此合作。
目前較常見的應(yīng)用,包括振動偵測、手勢(運(yùn)動傳感器)偵測、傳感器融合、關(guān)鍵詞偵測(聲音段分類)、(時序訊號)異常偵測、影像分類、(影像)對象偵測等應(yīng)用,而所需算力也依序遞增。(如Fig. 6所示)
一般來說智能傳感器(如聲音、振動、溫濕度等)大約Arm Cortex-M0+, M3左右就能滿足,而智能影像傳感器(小尺寸影像)要完成影像分類及對象偵測工作,則需要Cortex-M4, M7甚至要到Cortex-A, R系列。當(dāng)然亦可使用非Arm系列等價(jià)算力MCU完成,就看各開發(fā)平臺供貨商是否有支持。
Fig. 6 Arm MCU等級芯片智能運(yùn)算能力與適用情境。
通常AI應(yīng)用程序開發(fā)包含有很多步驟,包括數(shù)據(jù)收集(含非時序型及時序型)、標(biāo)注(監(jiān)督式學(xué)習(xí)用)、模型選用、訓(xùn)練、超參數(shù)調(diào)整(以下簡稱調(diào)參)、優(yōu)化,最后才是布署到指定硬件上進(jìn)行推論、驗(yàn)證及重新訓(xùn)練等工作項(xiàng)目,不論是大型AI應(yīng)用程序或者小型tinyML應(yīng)用皆是如此。
不過雖然MCU的執(zhí)行速度及內(nèi)存容量勉強(qiáng)可以滿足小型AI應(yīng)用的推論工作,但因MCU速度較慢,內(nèi)存較小,所以訓(xùn)練、調(diào)參的工作多半還是會在落在較高階的CPU(如Intel Core i7)甚至是GPU(如Nvidia GTX)。
目前常見的AI開發(fā)框架有TensorFlow, PyTorch, ONNX, Caffe等,但這些都不適用小型的單板微電腦硬件(如樹莓派)運(yùn)行,更不要說是在MCU上布署。于是就有像TensorFlow Lite for Microcontroller (以下簡稱TFLM)搭配MCU專用函式庫(如ArmCommon Microcontroller Software Interface Standard for Cortex-M, 以下簡稱CMSIS)的開發(fā)組合,確保開發(fā)出來的內(nèi)容一定可以在特定系列的MCU上執(zhí)行。
由于MCU種類繁多,不同廠牌及家族間兼容性不高,所以很少有開發(fā)工具有辦法支持所有的MCU,工程師須在開發(fā)前要注意是否滿足。
Fig. 7 AI應(yīng)用程序開發(fā)流程。
一般來說開發(fā)一個AI應(yīng)用程序需要很多種軟件工具及硬件平臺才能完成,為了讓更多原先使用MCU的工程師能順利開發(fā)tinyML應(yīng)用,于是許多平臺開發(fā)商推出了從資料采集一直到布署全部包辦的一站式云端開發(fā)平臺,包括Edge Impulse, AIfES, cAInavas, SensiML等。
有些甚至還有提供調(diào)參可視化接口,方便AI工程師了解模型表現(xiàn)能力及調(diào)整對策,亦有提供內(nèi)存(含程序代碼及變量)需求表,方便MCU工程師了解資源分配及應(yīng)用范圍。所以有了這樣的平臺就更能帶動用戶發(fā)展自己的數(shù)據(jù)集及應(yīng)用,大大加速了tinyML的發(fā)展。
國產(chǎn)MCU廠商的機(jī)會與挑戰(zhàn)
從以上分析來看,tinyML或者說MCU等級的Edge AI會隨著芯片等級升高,價(jià)格下跌,讓AIoT的應(yīng)用從云端慢慢轉(zhuǎn)移到本地(邊緣)端,同時也會讓帶有AI算法的MCU成為未來爆量的明星產(chǎn)品,如此便可大幅增加通用型MCU的附加價(jià)值,不再淪為紅海價(jià)格戰(zhàn)產(chǎn)品。
從國際主流MCU產(chǎn)品規(guī)格來看,現(xiàn)有國產(chǎn)通用型MCU的規(guī)格普遍偏低,性價(jià)比不足,深究其原因可能是著重在利潤較高的專用型MCU上,而忽略通用型MCU的發(fā)展,因此可能失去一個翻轉(zhuǎn)產(chǎn)業(yè)的大好契機(jī)。
雖然國際大廠已在硬件端及平臺端都已有充份布局,但tinyML的重點(diǎn)還是在AI應(yīng)用軟件(包括模型開發(fā)及優(yōu)化),若國產(chǎn)MCU供貨商能積極自行開發(fā)或者大幅投資第三方AI技術(shù)供貨商產(chǎn)出特定用途AI算法,那就還有機(jī)會彌補(bǔ)短期無高性價(jià)比產(chǎn)品的缺點(diǎn)。待未來AI應(yīng)用需求更為聚焦時,推出更高性價(jià)比的產(chǎn)品,那真正邊緣端AIoT的無限商機(jī)就指日可待了。
小結(jié)
人工智能(AI)或深度學(xué)習(xí)(DL)這幾年已成為顯學(xué),整個生態(tài)系也逐漸形成,過往不受重視的tinyML(MCU等級的AI)正在悄悄崛起,且已在國際上受到重視,積極發(fā)展中。
若以國內(nèi)市場巨大的需求支撐,國內(nèi)廠商加強(qiáng)的半導(dǎo)體設(shè)計(jì)制作、軟韌體及AIoT產(chǎn)品的開發(fā)能力,只要大膽投資、積極面對產(chǎn)業(yè)變化,急起直追,相信不久的將來中國就會變成另一個世界級Edge AI及tinyML產(chǎn)業(yè)的中心。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17148瀏覽量
351188 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44634瀏覽量
373318 -
AIoT
+關(guān)注
關(guān)注
8文章
1408瀏覽量
30684 -
TinyML
+關(guān)注
關(guān)注
0文章
42瀏覽量
1237
原文標(biāo)題:當(dāng)AIoT遇上tinyML是否會成為MCU供應(yīng)鏈下一個新商機(jī)!?
文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論