探討智能物聯(lián)網(wǎng)與MCU智能化

責(zé)任編輯:zsheng

2018-11-08 10:17:20

摘自: 電子發(fā)燒友網(wǎng)

隨著人工智能和物聯(lián)網(wǎng)技術(shù)的發(fā)展,我們看到智能設(shè)備正在加速普及。我們的身邊,漸漸地有智能音箱、早教機(jī)器人、掃地機(jī)器人等新智能設(shè)備品類出現(xiàn),同時(shí)在智能工業(yè)、智能城市和智能零售等領(lǐng)域,智能化的腳步也在向前進(jìn)展。我們看到,在這樣的發(fā)展趨勢(shì)下,傳統(tǒng)的MCU芯片也在發(fā)生著深刻的變化,在向智能化的方向發(fā)展。

這一波人工智能的興起起源于大數(shù)據(jù)和深度學(xué)習(xí)。隨著互聯(lián)網(wǎng)的發(fā)展,人類社會(huì)產(chǎn)生了大量數(shù)據(jù),而大數(shù)據(jù)配合深度神經(jīng)網(wǎng)絡(luò)等算法可以訓(xùn)練出一些精度極高的機(jī)器學(xué)習(xí)模型,從而能撬動(dòng)人臉識(shí)別,自動(dòng)駕駛,語音識(shí)別等新應(yīng)用?;诖髷?shù)據(jù)的人工智能中,終端節(jié)點(diǎn)負(fù)責(zé)采集數(shù)據(jù)并且交給云端,云端服務(wù)器反復(fù)迭代訓(xùn)練高精度模型,并最終將這些模型部署到應(yīng)用中。應(yīng)當(dāng)說數(shù)據(jù)采集和模型訓(xùn)練的任務(wù)分別在終端和云端做目前得到了一致認(rèn)可,但是具體部署的機(jī)器學(xué)習(xí)模型在何處執(zhí)行在不同的應(yīng)用中卻有所不同。

有些應(yīng)用(如攝像頭內(nèi)容分析)的模型部署在云端,即終端把原始數(shù)據(jù)完全回傳給云端,云端在該數(shù)據(jù)上執(zhí)行深度學(xué)習(xí)模型的推理,之后把結(jié)果發(fā)回給終端,終端再根據(jù)云端的結(jié)果執(zhí)行相應(yīng)操作;而在自動(dòng)駕駛等應(yīng)用中模型必須部署在終端,即終端收集到數(shù)據(jù)后在本地執(zhí)行深度學(xué)習(xí)模型的推理,并根據(jù)結(jié)果作出相應(yīng)動(dòng)作。在智能工業(yè)等需要在終端執(zhí)行深度學(xué)習(xí)模型推理的場(chǎng)景,原來用來執(zhí)行相關(guān)動(dòng)作的MCU就必須能夠支持這樣的深度學(xué)習(xí)推理計(jì)算,這也就是MCU的智能化。

通常來說,機(jī)器學(xué)習(xí)模型必須部署在終端執(zhí)行的理由包括傳輸帶寬、反應(yīng)延遲和安全性等。從傳輸帶寬來考慮,目前物聯(lián)網(wǎng)中節(jié)點(diǎn)分布在各種場(chǎng)景中,如果要把原始數(shù)據(jù)直接傳輸?shù)皆贫?,則帶寬開銷非常大,而且無線傳輸?shù)哪芰块_銷也不小。而如果在終端部署機(jī)器學(xué)習(xí)推理則可以省下帶寬的開銷,只需要有選擇性地把部分重要數(shù)據(jù)傳送到云端,而無需傳輸全部原始數(shù)據(jù)。

反應(yīng)延遲也是把深度學(xué)習(xí)部署在終端的重要理由。目前數(shù)據(jù)到云端的來回傳送時(shí)間通常在數(shù)百毫秒級(jí),對(duì)于工業(yè)機(jī)器人等對(duì)于延遲有高要求的應(yīng)用來說無法滿足要求。即使在5G低延遲網(wǎng)絡(luò)下,無線網(wǎng)絡(luò)的可靠性對(duì)于智能工業(yè)等要求高可靠性的應(yīng)用來說也難以滿足需求,偶爾的高延遲甚至數(shù)據(jù)丟包都可能會(huì)造成要求即時(shí)反應(yīng)的機(jī)器發(fā)生問題,因此會(huì)傾向于選擇將深度學(xué)習(xí)推理的計(jì)算放在本地做。

最后,數(shù)據(jù)的安全性也是一個(gè)考量,對(duì)于一些敏感應(yīng)用來說將數(shù)據(jù)通過網(wǎng)絡(luò)傳送給云端服務(wù)器意味著存在著數(shù)據(jù)被入侵的風(fēng)險(xiǎn)——如果黑客通過破解智能工廠與云端服務(wù)器的數(shù)據(jù)從而控制整個(gè)工廠將會(huì)給工廠帶來巨大損失——而如果把這些計(jì)算放在本地則會(huì)安全地多。

根據(jù)上述的場(chǎng)景,我們認(rèn)為需要執(zhí)行本地機(jī)器學(xué)習(xí)推理計(jì)算的MCU主要會(huì)運(yùn)行在如下場(chǎng)景中:

-智能生產(chǎn),需要快速反應(yīng)且重視數(shù)據(jù)的安全性,如根據(jù)聲音識(shí)別機(jī)器故障等;

-小型機(jī)器人,沒有人會(huì)希望機(jī)器人一旦斷網(wǎng)就無法工作,如無人機(jī),掃地機(jī)器人等;

-智能家電,如智能空調(diào)根據(jù)人的位置智能送風(fēng)等;

-智能可穿戴設(shè)備,如根據(jù)人體的生理信號(hào)給出相應(yīng)提示等。

隨著上述在終端部署執(zhí)行機(jī)器學(xué)習(xí)推理計(jì)算的需求,一些原來只負(fù)責(zé)執(zhí)行基本程序的MCU也必須要有能力能跑動(dòng)機(jī)器學(xué)習(xí)推理計(jì)算。這對(duì)于MCU的挑戰(zhàn)在于算力,因?yàn)樵谶@一波人工智能的浪潮中,訓(xùn)練好的模型所需要的計(jì)算量通常是數(shù)十萬次計(jì)算到數(shù)億次計(jì)算不等,如果需要實(shí)時(shí)執(zhí)行這些運(yùn)算則MCU需要的算力將會(huì)比原來的MCU強(qiáng)幾個(gè)數(shù)量級(jí)。

另外,智能MCU對(duì)功耗和實(shí)時(shí)性也有很高要求,這就需要MCU設(shè)計(jì)能有相應(yīng)改變。目前,MCU正處于8位更新?lián)Q代到32位的過程中,我們預(yù)計(jì)在32位MCU的基礎(chǔ)上,智能化會(huì)成為下一個(gè)MCU的演進(jìn)方向。

智能化技術(shù)路徑一:整合加速器IP

目前MCU領(lǐng)域,ARM占據(jù)了領(lǐng)導(dǎo)者的地位,其IP占據(jù)了大量的市場(chǎng)份額。對(duì)于智能化MCU的興起,ARM自然也不會(huì)袖手旁觀,而是起到了推動(dòng)者的作用,幫助MCU實(shí)現(xiàn)智能化。

ARM的Cortex系列架構(gòu)占據(jù)著32位MCU的主導(dǎo)位置,所以ARM推進(jìn)智能MCU的方法需要兼顧其Cortex架構(gòu),不能為了推智能化MCU結(jié)果把自己的命給革了。因此,ARM選擇的方法是給Cortex核搭配一個(gè)獨(dú)立的加速器IP,當(dāng)需要執(zhí)行機(jī)器學(xué)習(xí)相關(guān)算法時(shí)調(diào)用這個(gè)加速器IP去做計(jì)算,而當(dāng)做傳統(tǒng)操作時(shí)還是使用Cortex。

ARM的機(jī)器學(xué)習(xí)加速器系列產(chǎn)品即Project Trillium,其中包括了機(jī)器學(xué)習(xí)處理器(ML Processor),物體檢測(cè)處理器等硬件IP,同時(shí)還包括可以在這些加速器以及Cortex核和Mali GPU上最優(yōu)化執(zhí)行相關(guān)算法的軟件棧ARM NN。以ARM ML Processor為例(如下圖),其架構(gòu)包含了用于加速專用函數(shù)的加速引擎Fixed-function Engine,用于加速神經(jīng)網(wǎng)絡(luò)的可編程層引擎Programmable Layer Engine,片上內(nèi)存,用于控制加速器執(zhí)行的網(wǎng)絡(luò)控制單元以及用于訪問片外內(nèi)存的DMA。

ARM ML Processor是典型的加速器架構(gòu),它有自己的指令集,只能執(zhí)行和機(jī)器學(xué)習(xí)相關(guān)的運(yùn)算加速而無法運(yùn)行其他程序,因此必須搭配Cortex核才能發(fā)揮作用。ARM ML Processor可以最高實(shí)現(xiàn)4.6TOPS的算力,同時(shí)最高能效比可達(dá)3TOPS/W,性能實(shí)屬優(yōu)秀,對(duì)于算力需求不高的場(chǎng)合也可以通過降低運(yùn)行速度來降低功耗,以滿足MCU的需求。

除了ARM之外,其他MCU巨頭也在紛紛布局AI加速器,其中意法半導(dǎo)體屬于技術(shù)領(lǐng)先的位置。在去年,意法發(fā)布了其用于超低功耗MCU的專用卷積神經(jīng)網(wǎng)絡(luò)加速器,代號(hào)為Orlando Project,在28nm FD-SOI上可以實(shí)現(xiàn)2.9TOPS/W的超高能效比,相信隨著技術(shù)和市場(chǎng)需求的進(jìn)一步需求將會(huì)轉(zhuǎn)為商用化。

應(yīng)該說目前基于專用機(jī)器學(xué)習(xí)加速器IP的智能MCU尚處于蓄勢(shì)待發(fā)階段。顧名思義,專用機(jī)器學(xué)習(xí)加速器通過專用化的設(shè)計(jì)實(shí)現(xiàn)了很高的能效比,然而這也限制了應(yīng)用范圍,只能加速一部分機(jī)器學(xué)習(xí)算法,而無法顧及通用性。

目前,機(jī)器學(xué)習(xí)加速器最主要的加速對(duì)象算法是神經(jīng)網(wǎng)絡(luò)算法,尤其是卷積神經(jīng)網(wǎng)絡(luò)。從技術(shù)上說,卷積神經(jīng)網(wǎng)絡(luò)在執(zhí)行過程中并行度高,存在加速空間,一個(gè)加速器相比傳統(tǒng)處理器往往能把神經(jīng)網(wǎng)絡(luò)的執(zhí)行速度和能效比提升幾個(gè)數(shù)量級(jí)。從人工智能的發(fā)展脈絡(luò)來看,這一波人工智能中最成功的應(yīng)用也是基于卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器視覺應(yīng)用,因此大家都專注于卷積神經(jīng)網(wǎng)絡(luò)的加速也是順理成章。

然而,對(duì)于MCU來說,專注于卷積神經(jīng)網(wǎng)絡(luò)加速卻未必是一個(gè)最優(yōu)化的選擇。首先,MCU市場(chǎng)的應(yīng)用存在一定碎片化,而一個(gè)專用的加速器很難覆蓋多個(gè)應(yīng)用,因此對(duì)于習(xí)慣了設(shè)計(jì)標(biāo)準(zhǔn)化MCU并走量覆蓋許多個(gè)市場(chǎng)的半導(dǎo)體廠商來說是否使用專用化加速器是一個(gè)需要仔細(xì)考慮的選擇。換句話說,許多應(yīng)用中希望智能MCU能高效執(zhí)行基于非卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)算法(例如SVM,決策樹等等),那么這些應(yīng)用就無法被一個(gè)專用的卷積神經(jīng)網(wǎng)絡(luò)加速器覆蓋到,而需要設(shè)計(jì)另外一套加速器。當(dāng)然,這對(duì)于IP商ARM來說不是件壞事,因?yàn)锳RM可以快速提升其機(jī)器學(xué)習(xí)加速器的IP品類數(shù)量并從中獲利,但是對(duì)于半導(dǎo)體公司來說卻有些頭疼。

此外,卷積神經(jīng)網(wǎng)絡(luò)最成功的應(yīng)用是機(jī)器視覺,然而在MCU應(yīng)用中除了機(jī)器視覺之外還有許多其他應(yīng)用,甚至可以說智能MCU的應(yīng)用中機(jī)器視覺并非最大的市場(chǎng),這也限制了只能處理卷積神經(jīng)網(wǎng)絡(luò)的專用加速器IP的市場(chǎng)。

智能化路徑二:處理器架構(gòu)改良

根據(jù)上面的討論,ARM因?yàn)橹笆褂肅ortex核占領(lǐng)了MCU市場(chǎng),因此其保留Cortex架構(gòu)不變并力推能搭配Cortex核使用的專用加速器IP也是必然的商業(yè)邏輯。然而,基于專用機(jī)器學(xué)習(xí)加速器IP的智能MCU在碎片化應(yīng)用中會(huì)遇到應(yīng)用覆蓋過窄的問題,這也就是為什么還存在第二條MCU智能化的技術(shù)路徑——改良處理器架構(gòu)。

處理器架構(gòu)改良意味著直接設(shè)計(jì)一個(gè)低功耗高算力的通用處理器,這樣就可以覆蓋幾乎所有MCU應(yīng)用,從而避免了專用加速器的通用性問題。當(dāng)然,在處理器設(shè)計(jì)中,往往需要從指令集開始全盤重新設(shè)計(jì),因此需要很大的投入。

根據(jù)半導(dǎo)體行業(yè)的傳統(tǒng),從頭設(shè)計(jì)一套新的自有指令集往往是吃力而不討好,因?yàn)橹噶罴脑O(shè)計(jì)、驗(yàn)證、可擴(kuò)展性考慮等等往往不是一個(gè)團(tuán)隊(duì)就能完成的,而是需要大量人長(zhǎng)時(shí)間的努力。然而,最近隨著RISC-V開源指令集得到越來越多的認(rèn)可,使用基于RISC-V指令集去做新處理器架構(gòu)可以大大節(jié)省指令集和架構(gòu)開發(fā)的成本以及風(fēng)險(xiǎn)。RISC-V指令集經(jīng)過開源社區(qū)的認(rèn)證,已經(jīng)證明非??孔V,可以無需從頭造輪子,而只需要把精力集中在需要改良的部分,因此在這個(gè)時(shí)間點(diǎn)做新處理器架構(gòu)可謂是正逢其時(shí)。

使用新架構(gòu)做智能MCU的代表公司是來自法國(guó)的初創(chuàng)公司Greenwaves Technologies。Greenwaves正是使用了基于RISC-V的指令集,同時(shí)在架構(gòu)上在MCU中也引入了多核的概念,通過多數(shù)據(jù)流(SIMD)的方式來加速人工智能算法中的并行計(jì)算,可謂是MCU架構(gòu)上的一個(gè)革新。

目前,Greenwaves的第一款產(chǎn)品GAP8已經(jīng)處于出樣階段。根據(jù)網(wǎng)站資料,GAP8擁有8個(gè)核,可以在數(shù)十毫瓦的功耗下實(shí)現(xiàn)8GOPS的算力,該算力已經(jīng)能滿足許多智能MCU的需求。更關(guān)鍵的是,由于GAP8使用的是多核通用處理器而非專用加速器去加速人工智能算法,因此其可以通用性非常好,可以覆蓋各種算法以及應(yīng)用。在應(yīng)用存在碎片化的MCU市場(chǎng),這無疑是一個(gè)很大的優(yōu)勢(shì)。由于使用的是通用處理器,GAP8的能效比相對(duì)于ARM的專用加速器在特定的領(lǐng)域較弱,但是GAP8的通用性卻是ARM的專用加速器無法企及的。

另外值得指出的是,新處理器架構(gòu)和專用加速器并非水火不容,完全可以在使用新處理器架構(gòu)的同時(shí)集成一個(gè)專用加速器,從而使用專用加速器去加速特定的應(yīng)用,而使用通用化的新架構(gòu)處理器去處理高效處理其他應(yīng)用。這里專用與通用的選擇完全則很大程度上取決于市場(chǎng)的需求以及潛在的商業(yè)回報(bào)。

除了Greenwaves之外,瑞薩也推出了類似的新處理器架構(gòu)。與Greenwaves略有不同的是,瑞薩并不是做一個(gè)新的通用處理器架構(gòu),而是做了一個(gè)可配置的協(xié)處理器,該協(xié)處理器可以使用高級(jí)語言(如C/C++)編程,在不同的應(yīng)用場(chǎng)景可以配置為不同的架構(gòu),從而兼顧了通用性和專用性。瑞薩將該架構(gòu)稱作為動(dòng)態(tài)可重構(gòu)處理器(Dynamic Reconfigurable Processor, DRP),該架構(gòu)之前已經(jīng)在瑞薩的視頻處理器中已經(jīng)得到了驗(yàn)證,現(xiàn)在瑞薩準(zhǔn)備將該架構(gòu)也搬到MCU中,并將在今年十月正式發(fā)布第一代集成DRP的MCU。

結(jié)語

人工智能和物聯(lián)網(wǎng)的結(jié)合推進(jìn)了智能MCU概念。我們預(yù)計(jì)在未來幾年將會(huì)看到智能MCU的普及,而在智能MCU的兩條技術(shù)路徑之間選擇則不僅會(huì)影響MCU市場(chǎng),更有可能會(huì)對(duì)于半導(dǎo)體生態(tài)造成深遠(yuǎn)影響——如果專用加速器IP獲勝,則ARM將繼續(xù)成為智能MCU的領(lǐng)導(dǎo)者,反之如果新架構(gòu)獲勝則ARM將會(huì)遇到強(qiáng)力的挑戰(zhàn)。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)