近幾年AI的發(fā)展「邊緣運(yùn)算」(Edge Computing)越來越熱門。隨著硬件芯片的性能提升,讓以往只能作為「接收」功能的端口也能用于協(xié)助運(yùn)算,使AI運(yùn)作更有效率;例如自動(dòng)煞車系統(tǒng)、智能音箱等,都是邊緣運(yùn)算的實(shí)際應(yīng)用。
本文跟大家解析MCU在AI邊緣運(yùn)算中的應(yīng)用。
MCU,機(jī)器學(xué)習(xí)的另一種選擇
在進(jìn)入邊緣運(yùn)算之前,先來了解一下何謂MCU?
說到機(jī)器學(xué)習(xí)(Machine Learning)時(shí),你會(huì)聯(lián)想到什么呢?是電影中那種巨大且排滿主機(jī)的艙房嗎?但運(yùn)用這種方式不僅須消耗大量電力,所排放的廢熱更是驚人,能使數(shù)個(gè)國家級(jí)的游泳池從冷水變成溫水!
傳統(tǒng)的機(jī)器學(xué)習(xí)需要數(shù)量龐大的主機(jī)
然而,其實(shí)機(jī)器學(xué)習(xí)(Machine Learning)有更節(jié)約能源的方式— 也就是利用MCU。
MCU的優(yōu)缺點(diǎn)比較
MCU(Microcontrollers)具備其他硬件所沒有的優(yōu)點(diǎn),比如體積小、價(jià)格便宜、省電等,這些特性可為附加的系統(tǒng)降低成本。因此,未來若想讓AI應(yīng)用在生活的各層面,MCU無疑是最佳選擇。
不過目前市面上的大量運(yùn)算裝置,大多專注于CPU、GPU,或類似超級(jí)計(jì)算機(jī)的云端(Cloud)。但是MCU在效能表現(xiàn)相對(duì)低落,因此目前要將MCU應(yīng)用于AI運(yùn)算,看來還有困難。
各類硬件運(yùn)算效能比較
為了使MCU能于生活的各個(gè)面向執(zhí)行AI運(yùn)算與應(yīng)用,一些行業(yè)專家,結(jié)合各種MCU優(yōu)缺點(diǎn),開發(fā)出開源項(xiàng)目uTensor,也就是想發(fā)展一套基于mbed的精簡(jiǎn)版TensorFlow框架,實(shí)現(xiàn)MCU邊緣運(yùn)算的目標(biāo),目前已做出手寫識(shí)別的Demo。
邊緣,現(xiàn)實(shí)與虛擬的交界
首先來定義Edge,所謂的「邊緣」,其實(shí)是虛擬與現(xiàn)實(shí)世界的交界邊緣(Edge)。從物聯(lián)網(wǎng)(IoT)到MCU全都屬于數(shù)字的范圍,而數(shù)字接觸不到的地方,則是現(xiàn)實(shí)世界。目前在現(xiàn)實(shí)世界中,還有許多信息無法被上傳到數(shù)字的虛擬世界,因此兩者之間的接縫,就是「邊緣」。
但問題來了:該如何將現(xiàn)實(shí)世界中數(shù)量龐大的信息連接到物聯(lián)網(wǎng)呢?必須部署好幾萬個(gè)感測(cè)節(jié)點(diǎn)(sensor node)才能達(dá)成;但是,并不是每個(gè)人、每個(gè)環(huán)境都具備WiFi、4G/5G等通訊協(xié)議支持,那么該如何做?
有行業(yè)人士認(rèn)為,LPWAN的LoRa就是最佳選擇。如同下圖所示意的發(fā)訊塔,如果放在城市大樓的頂端,那么網(wǎng)絡(luò)的覆蓋率達(dá)到一、二十公里絕不是問題,雖然比特率(birate)不高,距離越長(zhǎng)遞減越嚴(yán)重,但長(zhǎng)距離覆蓋與功耗極低的特性,相當(dāng)適合拿來進(jìn)行IoT的傳輸。
LoRa的發(fā)訊特性
那么,另外還有那些適合邊緣運(yùn)算的通訊協(xié)議呢?需要從以下兩點(diǎn)來檢視:首先電力與帶寬是首要考慮,再來是傳輸距離長(zhǎng)短。因?yàn)檫吘夁\(yùn)算的理想狀態(tài),就是能依靠電池或太陽能供電;帶寬則選擇長(zhǎng)距離、低功耗的LPWAN,在這樣的選擇下所畫出的扇形圖(如下圖),即為邊緣運(yùn)算可運(yùn)用的通訊區(qū)塊。
通訊協(xié)議之電力與帶寬比較
問題是,此區(qū)塊中的傳輸效能不佳,像是音頻、視頻等類型的數(shù)據(jù)不可能上傳到云端進(jìn)行運(yùn)算,因此該如何設(shè)計(jì)邊緣運(yùn)算,還需要經(jīng)過仔細(xì)的思考推敲。
透過編碼與譯碼,執(zhí)行邊緣運(yùn)算
目前有一種解決方案是透過人工神經(jīng)網(wǎng)絡(luò)(Neural Network)將原有的信息編碼(encode)、壓縮,縮小其容量,使其能于LPWAN環(huán)境下傳輸?shù)皆贫耍龠M(jìn)行譯碼(decode)。
因?yàn)槿魧⒕幋a、譯碼分散在MCU裝置與云端上分別處理,MCU本身就不需要處理或傳輸過于龐大的數(shù)據(jù);另一個(gè)好處是,解碼的云端透過遷移學(xué)習(xí)(Transfer Learning)替換較為容易,透過同樣的裝置,便能在云端變換出不同的應(yīng)用。
遷移學(xué)習(xí)的運(yùn)作示意圖
小結(jié)
回顧上文可以發(fā)現(xiàn),即使科技發(fā)展不斷追求效能與硬件的表現(xiàn),但未來最需要的關(guān)鍵詞仍然是「永續(xù)」;即使超級(jí)計(jì)算機(jī)的運(yùn)算能力再杰出,若不能有效地普及于日常生活之中,其發(fā)展性依然會(huì)受到局限。
反觀MCU與邊緣運(yùn)算,雖然于現(xiàn)階段都還存在限制,但隨著技術(shù)的持續(xù)發(fā)展,相信在此領(lǐng)域中存在很大空間。