黑客盗摄偷拍偷录民居视频

                  人工智能(AI)在很多人眼里是,只是一種科幻片中不明覺厲的存在,而與普通人的生活之間隔著很遠的距離。但是這樣的局面正在被改變,在未來5-10年中,AI將會以超乎我們想象的速度快速滲透到我們生活的方方面面。為什么這么講?一起隨我們往下看。


                  人工智能物聯網的基本范式

                  之所以我們與AI之間會有“距離感”,主要是因為以前玩AI是一件比較奢侈的事。這種“奢侈”主要體現在,實現AI所依賴的機器學習(ML),在其訓練和推理的過程中對算力有非常高的要求。為了應對這樣的挑戰,通過云計算集中算力做數據處理,也就成為了實現機器學習的一個經典方法。

                  但是到了物聯網時代,這樣的模式受到了挑戰——集中式云計算帶寬和存儲資源消耗大、實時數據傳輸消耗電量多、數據在終端和云端之間傳輸延遲長、數據傳輸和云端集中存儲過程中安全風險大。這些弊端讓人們認識到單純的云計算不是包打天下的萬能藥。

                  因此,邊緣計算作為經典云計算的補充,越來越得到大家的重視。按照邊緣計算的定義,將大部分計算任務放在邊緣設備上直接進行處理,而只在必要的時候將一些經過預處理的數據傳輸至云端進行“精加工”,這樣既能提升邊緣端實時響應的速度和智能化水平,又能為網絡傳輸通路和云端數據中心減負,因此這樣的混合計算模式顯然可以完美地堅決傳統云計算的痛點。

                  這種計算架構的變遷,也對機器學習的模式產生了影響,使其從以計算為中心的模式向以數據為中心的模式轉變。這兩種模式中,前者是將機器學習的訓練和推理都放在云端數據中心中完成,而后者則是由云端完成模型的訓練,而將推理放在邊緣設備上完成,這也就形成了人工智能物聯網(AIoT)實施的基本范式。


                  向MCU擴展機器學習的疆界

                  顯而易見,邊緣計算使得機器學習的疆界大為擴展,使其從數據中心的機房走向了更多樣性的網絡邊緣智能。但對于物聯網應用來講,這似乎還不夠。因為在邊緣設備上進行推理,仍然需要相對強悍的算力,這通常需要包含ML協處理器在內的較為復雜的異構微處理器來實現加速,如此的配置在嵌入式領域已經算是很“高端”的了。僅此一條,就會將不少對于功耗、成本、實時性敏感的應用關在機器學習的門外。

                  因此,機器學習想要繼續開疆擴土,一個主攻方向就是要讓資源更簡單、算力更有限的微控制器(MCU)也能夠跑得了、玩得起機器學習。IC Insights的研究數據顯示,2018年全球MCU的出貨量為281億顆,到2023年將這個數字將增長到382億顆,而全球的MCU存量將數以千億計,誰要是能夠讓如此量級的設備玩轉機器學習,其前途和錢途都將是不可限量的!

                  但對于任何一個夢想來說,現實往往顯得比較“骨感”。將機器學習部署到MCU運行,就好像是要將一只大象塞進冰箱,而這個答案絕對不是一句腦筋急轉彎的玩笑話,而是需要在技術從兩個維度上去仔細考量。


                  為機器學習模型瘦身

                  第一個維度,就是要考慮如何為ML模型這只“大象”進行“瘦身”,也就是說要發展出相應的技術,能夠在微控制器上部署、運行“小型化”的機器學習推理模型。這種瘦身后的模型,需要滿足的條件包括:

                  運行模型的終端功耗一般在mW級別,甚至更低;

                  占用的內存一般要在幾百kB以下;

                  推理時間為ms級別,一般需要在1s內完成。

                  為了實現這樣的目標,TinyML技術應運而生。顧名思義,這就是一種能夠讓ML模型“變小”的技術。與上文提到的AIoT機器學習的基本范式一樣,TinyML也是要在云端收集數據并進行訓練,而不同之處則在于訓練后模型的優化和部署——為了適應MCU有限的計算資源,TinyML必須對模型進行“深度壓縮”,通過模型的蒸餾(Distillation)、量化(Quantization)、編碼(Encoding)、編譯(Compilation)一系列操作后才能部署到邊緣終端上。

                  其中,一些關鍵的技術包括:

                  蒸餾:是指在訓練后通過剪枝(pruning)和知識蒸餾的技術手段,對模型進行更改,以創建更緊湊的表示形式。

                  量化:在模型蒸餾后,通過量化實現以更少位數的數據類型近似表示32位浮點型數據,在可接受的精度損失范圍之內減少模型尺寸大小、內存消耗并加快模型推理速度。

                  編碼:就是通過更有效的編碼方式(如霍夫曼編碼)來存儲數據,進一步減小模型規模。

                  編譯:通過以上方式壓縮好的模型,將被編譯為可被大多MCU使用的C或C++代碼,通過設備上的輕量級網絡解釋器(如TF Lite和TF Lite Micro)運行。

                  在過去的兩年中,我們已經明顯感覺到TinyML技術在升溫,廠商在該領域的投入也在加碼。根據Silent Intelligence的預測,未來5年中,TinyML將觸發超過700億美元的經濟價值,并且保持超過27.3%的復合年均增長率。


                  打造機器學習MCU新物種

                  把“大象裝進冰箱“,除了要在“大象”(也就是ML模型)身上下功夫,另一個維度上的努力就是要改造“冰箱”,也就是對我們熟悉的MCU進行優化和改造,令其能夠符合運行ML的需要。

                  比如,為了滿足在IoT邊緣設備中實現復雜機器學習功能的需要,Maxim Integrated就推出一款專門的低功耗ML微控制器MAX78000。該器件內置Arm Cortex-M4F處理器(100MHz)和32位RISC-V協處理器(60MHz),以及支持64層網絡深度的卷積神經網絡加速器,可在電池供電應用中執行AI推理,而僅消耗微焦耳能量。與傳統的軟件方案相比,這種基于硬件加速的方案使得復雜的AI推理能耗降至前者的百分之一,而推理速度則可以快100倍。

                  預計具有類似ML特性的新物種,將成為未來各家MCU大廠產品路線圖中的重要分支。


                  本文小結

                  綜上所述,與微處理器或者x86等嵌入式計算架構相比,MCU具有功耗很低、成本低、開發周期短、上市快、實時性好、市場體量大等特點,這些特性如果能夠和高能的機器學習結合在一起,其想象空間無疑是巨大的。

                  在促成兩者“結合”的過程中,如果能夠為開發者提供支持機器學習功能的MCU“新物種”,如果能夠提供一個完整的開發工具鏈,讓ML模型的優化和部署更順手,那么把機器學習這只“大象”放進MCU的“冰箱”,將成為信手拈來的輕松事。

                  更重要的是,這樣的趨勢剛剛萌芽,你完全有機會成為一只early bird,在這個全新的領域中自由的飛翔。

                  黑客盗摄偷拍偷录民居视频