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