隨著人工智能和物聯(lián)網(wǎng)技術(shù)的發(fā)展,我們看到智能設(shè)備正在加速普及。我們的身邊,漸漸地有智能音箱、早教機(jī)器人、掃地機(jī)器人等新智能設(shè)備品類出現(xiàn),同時(shí)在智能工業(yè)、智能城市和智能零售等領(lǐng)域,智能化的腳步也在向前進(jìn)展。我們看到,在這樣的發(fā)展趨勢下,傳統(tǒng)的MCU芯片也在發(fā)生著深刻的變化,在向智能化的方向發(fā)展。
智能物聯(lián)網(wǎng)與MCU智能化
這一波人工智能的興起起源于大數(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í)模型推理的場景,原來用來執(zhí)行相關(guān)動(dòng)作的MCU就必須能夠支持這樣的深度學(xué)習(xí)推理計(jì)算,這也就是MCU的智能化。
通常來說,機(jī)器學(xué)習(xí)模型必須部署在終端執(zhí)行的理由包括傳輸帶寬、反應(yīng)延遲和安全性等。從傳輸帶寬來考慮,目前物聯(lián)網(wǎng)中節(jié)點(diǎn)分布在各種場景中,如果要把原始數(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ù)上述的場景,我們認(rèn)為需要執(zhí)行本地機(jī)器學(xué)習(xí)推理計(jì)算的MCU主要會(huì)運(yùn)行在如下場景中:
-智能生產(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ù)了大量的市場份額。對(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),物體檢測處理器等硬件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ì)于算力需求不高的場合也可以通過降低運(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ù)和市場需求的進(jìn)一步需求將會(huì)轉(zhuǎn)為商用化。
應(yīng)該說目前基于專用機(jī)器學(xué)習(xí)加速器IP的智能MCU尚處于蓄勢待發(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市場的應(yīng)用存在一定碎片化,而一個(gè)專用的加速器很難覆蓋多個(gè)應(yīng)用,因此對(duì)于習(xí)慣了設(shè)計(jì)標(biāo)準(zhǔn)化MCU并走量覆蓋許多個(gè)市場的半導(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ī)器視覺并非最大的市場,這也限制了只能處理卷積神經(jīng)網(wǎng)絡(luò)的專用加速器IP的市場。
智能化路徑二:處理器架構(gòu)改良
根據(jù)上面的討論,ARM因?yàn)橹笆褂肅ortex核占領(lǐng)了MCU市場,因此其保留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ì)就能完成的,而是需要大量人長時(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的代表公司是來自法國的初創(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市場,這無疑是一個(gè)很大的優(yōu)勢。由于使用的是通用處理器,GAP8的能效比相對(duì)于ARM的專用加速器在特定的領(lǐng)域較弱,但是GAP8的通用性卻是ARM的專用加速器無法企及的。
另外值得指出的是,新處理器架構(gòu)和專用加速器并非水火不容,完全可以在使用新處理器架構(gòu)的同時(shí)集成一個(gè)專用加速器,從而使用專用加速器去加速特定的應(yīng)用,而使用通用化的新架構(gòu)處理器去處理高效處理其他應(yīng)用。這里專用與通用的選擇完全則很大程度上取決于市場的需求以及潛在的商業(yè)回報(bào)。
除了Greenwaves之外,瑞薩也推出了類似的新處理器架構(gòu)。與Greenwaves略有不同的是,瑞薩并不是做一個(gè)新的通用處理器架構(gòu),而是做了一個(gè)可配置的協(xié)處理器,該協(xié)處理器可以使用高級(jí)語言(如C/C++)編程,在不同的應(yī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市場,更有可能會(huì)對(duì)于半導(dǎo)體生態(tài)造成深遠(yuǎn)影響——如果專用加速器IP獲勝,則ARM將繼續(xù)成為智能MCU的領(lǐng)導(dǎo)者,反之如果新架構(gòu)獲勝則ARM將會(huì)遇到強(qiáng)力的挑戰(zhàn)。
評(píng)論
查看更多