分布最廣的物聯網設備往往體積很小、電量有限。它們被作為終端硬件,通過嵌入式傳感器采集各種數據;計算能力有限,對功耗極為敏感。這類設備也能實現機器學習嗎?一個趨勢是,人工智能AI正在加快速度從“云端”走向“邊緣”,進入到越來越小的物聯網設備中。在終端和邊緣側的微處理器上,實現的機器學習過程,被稱為微型機器學習,即TinyML。
分布最廣的物聯網設備往往體積很小、電量有限。它們被作為終端硬件,通過嵌入式傳感器采集各種數據;計算能力有限,對功耗極為敏感。這類設備也能實現機器學習嗎?
一個趨勢是,人工智能AI正在加快速度從“云端”走向“邊緣”,進入到越來越小的物聯網設備中。
在終端和邊緣側的微處理器上,實現的機器學習過程,被稱為微型機器學習,即TinyML。更準確的說,TinyML是指工程師們在mW功率范圍以下的設備上,實現機器學習的方法、工具和技術。
一批企業正在利用TinyML相關的技術與產品,探索如何在這些無處不在的小型設備上,更好的搭載機器學習,以便提高設備的分析能力和運行效率。
TinyML是不同技術領域和推動因素的交集,它位于物聯網設備、機器學習和邊緣計算之間的結合部,并因為多種驅動力的綜合作用,進展很快。
在剛剛過去的2月中旬,TinyML 2020峰會在硅谷舉行。英偉達、ARM、高通、谷歌、微軟、三星等公司紛紛展示了微型機器學習的最新成果。
這是TinyML峰會的第二屆。TinyML 2019峰會共吸引了來自90多家企業的數百名工程師參與,而本屆峰會的盛況更是空前,并且得出了很多重要結論:
對于很多應用場景,TinyML技術和硬件已經進化到實用性較強的階段;
無論是算法、網絡,還是低于100KB的ML模型,都取得了重大突破;
視覺和音頻領域的低功耗需求快速增長。
TinyML峰會的主辦方,是在2019年7月剛剛成立的TinyML基金會,成員不僅包含各大知名企業,還包含GreeWaves、Eta Compute、Esperanto、Xnor、Picovoice等優秀的初創公司。
技術的進步和生態的發展,為TinyML的發展賦予了巨大的動能。目前,TinyML的影響力正在持續發酵,2020年勢必將有大批產品和解決方案問世,是一個值得重點把握和關注的領域。因此本文將為你匯總呈現TinyML的全景:
什么是TinyML?
什么是TinyML即服務?
TinyML為何重要?
TinyML的市場規模預測
TinyML的最新產品有哪些?
TinyML有哪些應用實踐?
TinyML的相關組織
01
什么是TinyML
機器學習(ML)正在變得越來越小。
正如文初所述,TinyML是機器學習在微控制器上的應用,是超低功耗邊緣側人工智能。
無論何時何地,數據都需要即時可用,這一趨勢越來越明顯。全球各行各業都在經歷由這種需求推動的“數字化轉型”。根據IDC的分析,到2025年,全球創建的數據中,超過四分之一的數據在本質上都是實時數據,而物聯網實時數據將占這部分數據的95%以上。
大量涌現的數據催生出了一系列全新的技術,機器學習、自然語言處理和人工智能,它們將數據分析從不常見的、追溯式的實踐,轉變成為戰略決策和行動的前攝式推動因素。這些技術可以大大提高各種行業、環境和應用數據分析的頻率、靈活性和即時性。同樣根據IDC的預測,到 2025 年,屬于數據分析的全球數據總量將增長至原來的50倍,達到 5.2ZB;而機器學習所“觸及”的分析數據總量將增長至原來的100倍,達到1.4ZB。
目前存在的機器學習可以劃分為3種形態,云端ML、邊緣ML和TinyML。TinyML正是針對占比超過95%以上的物聯網實時數據處理場景。
因此,目前針對不同類型的計算平臺,在不同時間創建和使用的數據量,機器學習被較為清晰的劃分為3種類型,發揮著各自差異化的作用:
云端ML:是指機器學習在企業內部或云端特定計算數據中心的應用。這些云服務器涵蓋所有類型,包括公共云、私有云和混合云。此外,它還包括運營控制中心,例如管理電網或電話網絡的那些運營控制中心。
邊緣ML:是指機器學習在不處于核心數據中心的,企業級計算機/設備中的應用。邊緣設備包括服務器機房,現場服務器,以及位于各個地區以加快響應速度為目的的小型數據中心。
TinyML:是指超低功耗的機器學習在物聯網各種終端微控制器中的應用。TinyML通常功耗為毫瓦(mW)級別甚至更低,因此可以支持各種不同的電池驅動的設備,和需要始終在線的應用。這些設備包括智能攝像頭、遠程監控設備、可穿戴設備、音頻采集硬件以及各種傳感器等等……
再看TinyML的發展現狀,從算法、軟件、硬件這三個維度分析,TinyML已經進化到“足夠好”,可以實際應用的階段。
TinyML是一個新興領域,是快速增長的機器學習技術和應用,是一片巨大的、未被充分開發的藍海。
數以億計的微控制器和各種各樣的傳感器結合在一起,在未來可能會激發一些非常有創意、更具實用價值的TinyML應用。
對TinyML做個簡單總結:
What:TinyML是指超低功耗(毫瓦量級)的邊緣側機器學習應用。
Why:TinyML可以提升大量物聯網設備的數據分析和決策能力。
How:TinyML的實現需要硬件、軟件和算法的整體性協同設計。
When:現在是著手布局TinyML的最好時機。
TinyML蘊含巨大機會,很多剛剛浮現。未來一兩年內,這個領域很可能會出現顯著進展。
02
什么是TinyML即服務(TinyML-as-a-Service)
接著我們再來看看什么是TinyML即服務。
這是愛立信率先提出的一個理念。
首先,我們需要明確的區分在物聯網終端中應用機器學習的兩種方式:
為物聯網終端設備提供機器學習服務
在物聯網終端設備中內嵌TinyML即服務
這兩種表述看似相像,實則不同。
在第一種情況下,為物聯網終端設備提供的機器學習服務,一般將所有ML任務都“外包”給邊緣設備和云服務器,終端設備則以接收者的身份,“被動”執行由邊緣和云端下發的各種任務。
在第二種情況下,物聯網終端設備中內嵌TinyML即服務,“主動”參與智能決策與執行。雖然與云端和邊緣相比,終端設備的資源非常有限,但TinyML即服務仍舊可以提升終端設備的分析能力,以便其能更好的處理實時物聯網數據。
因此TinyML即服務,真正的實現了將機器學習帶入到物聯網終端。
看到這里,你或許有個疑問:機器學習生態系統非常龐大,而且對資源要求很高。物聯網設備那么小,可以執行哪些機器學習任務?
為了更好的回答這個問題,我們先來說說TinyML和云端ML之間的差異,它們分別處于兩個截然不同的世界。
上圖是從硬件和軟件的角度,定性和定量的比較TinyML和云端ML的差異。與TinyML可以調用的資源相比,云端ML簡直是“富豪”。為了順利推進,TinyML必須采用與云端ML不同的思維模式。
在本文最初的三環圖中可以看到,TinyML和Linux之間并沒有太多交集。大量的物聯網設備并沒有運行Linux的能力,TinyML無法調用很多成熟的工具、應用和基于容器的虛擬化技術,必須另辟蹊徑的解決各種軟件、硬件和算法極為缺乏的問題,部署ML服務。
很多公司圍繞TinyML付出了各種努力,在后面的部分,我們將會介紹各種TinyML的產品和最新實踐。
當然,想要在終端物聯網設備中,獲得和云端ML同樣的體驗是不現實的。TinyML主要實現的是推理(inference),也就是把從訓練中學習到的能力,應用到實際操作中去。
TinyML想要落地,還需要一整套成熟的架構。愛立信將TinyML即服務的生態系統拆分為3個基本組件:
編譯器插件接口
編排協議
推理模塊規格
支持這三個組件,表示物聯網硬件可以滿足實現TinyML即服務的基本要求。下圖中更詳細的展示了這3個組件之間的相互作用:綠色代表編譯器插件接口,黃色代表編排協議和推理模塊規格這兩個部分。
實現TinyML即服務,需要面對的挑戰也是無比艱巨的:
TinyML不僅需要面臨邊緣ML的全部困難,而且解決問題的能力更加有限;
如何借鑒云端ML的成功經驗,順利推進TinyML在終端中的部署;
如何為數量巨大的物聯網設備,都能提供TinyML的良好體驗。
03
TinyML為什么重要?
看到這里,你應該對TinyML的重要性已經有了自己的評估。
我們再來統一做個梳理。
TinyML的出現,是為了更好的緩解邊緣ML和云端ML中,無法突破的多種問題,包括數據隱私、網絡帶寬、時間延遲、可靠性和能源效率:
數據隱私:大量的最終用戶非常在意數據隱私,在數據開放與共享方面保持謹慎態度。很多用戶不愿意將自己的數據交由第三方云平臺和邊緣服務提供商,進行存儲和管理。很多用戶傾向于定義清晰的“本地”物理邊界,以保存其關鍵的生產和運營數據。TinyML嘗試在物聯網設備上,直接處理和分析受限的敏感數據,保護了數據隱私。
網絡帶寬:很多物聯網設備通過窄帶物聯網NB-IoT或者其他低功耗廣域物聯網通信協議與網絡通信,帶寬和數據傳輸能力極為有限。這些設備有強烈的在本地處理數據的需求,以減少數據的傳輸,降低網絡帶寬和傳輸功耗的壓力,避免在終端和邊緣設備之間形成帶寬瓶頸,影響整套物聯網解決方案的性能。
時間延遲:隨著5G等技術的發展,海量物聯網設備將被部署,很多應用場景都對時間延遲非常敏感,希望數據可以被實時傳輸。TinyML通過將某些機器學習任務轉移到設備本身,來進一步減少網絡延遲的可能性,
可靠性:在偏遠地區、海上平臺、空間站、極端環境的應用中,網絡通信有可能無法保證始終覆蓋。因此在這些物聯網設備中,具備機器學習能力是一種必要功能。TinyML可以將某些邊緣和云端中的機器學習能力移植到本地,提升可靠性。
能源效率:許多物聯網設備都是電池供電,對于功耗的要求很高。通過極低功耗TinyML的數據分析,減少網絡傳輸的數據量,可以在一定程度上,節約物聯網終端中的電量消耗。
因為具備解決多種問題的潛力,有望突破成本、帶寬和功耗的限制,因此一經提出,TinyML就獲得了廣泛關注,并被賦予了較高期待。
04
TinyML市場規模預測
海量的物聯網設備位于網絡邊緣,并且這些設備有越來越小的趨勢,因此TinyML的未來發展,具有極大的想象空間。
目前全球有2500億個微控制器在各地運行,僅2018年一年就售出了281億個單元,IC Insights預測,到2023年,微控制器的年出貨量將增長到382億個。而且這些微控制器對應的設備,都有變得越來越智能的需求。
換句話說,未來分布在煙霧傳感器、心臟起搏器、車載終端中的2500億個微控制器,有可能可以執行以前只有計算機和智能手機才能處理的任務。
根據SilentIntelligence的預測,在未來5年,TinyML將觸發超過700億美元的經濟價值,并且保持超過27.3%的復合年均增長率(CAGR)。
TinyML的市場規模比邊緣ML和云端ML都要大。
但是如此巨大的市場,卻較難開發。因此TinyML涉及到不同公司的協同,公司之間的商業模式也有本質區別。以TinyML領域的人工智能SaaS服務商SensiML為例,其商業模式如下圖所示。
2019年1月,當時成立6年的SensiML被QuickLogic公司并購。根據QuickLogic的財報披露,QuickLogic以全部股票交易方式收購其所有已發行和流通在外的普通股,總價為1,169,752美元。
05
TinyML的最新產品
上圖是由Topio Networks整理的邊緣智能產業圖譜。
邊緣ML是個相對成熟的領域,很多企業都在其中精耕細作,他們當中的很多也已經開始了TinyML的嘗試。
ARM、高通、谷歌、博世、蘋果和微軟等公司,正試圖加速推進TinyML的落地,將其搭載于各種傳感器上。
比如高通推出了超低功耗的always-on計算機視覺解決方案。
該方案具有超低功耗,始終保持開啟狀態,使用系統電源小于1mA標準鋰電池,典型幀率為1-30 fps。
對應的產品Qualcomm QCC112,已經可以實現商用。
博世推出了用于物聯網的MEMS傳感器,可實現TinyML應用。
蘋果以2億美元收購了TinyML初創公司Xnor.ai。Xnor.ai致力于開發高效、低功耗的TinyML應用,這些應用不需要強大的處理能力,也不需要連接到云端,而是在設備上處理本地數據。
ARM最近公布了兩款芯片設計,它們分別是ARM Cortex-M55和Ethos-U55,可以實現在沒有云端連接的設備上,執行機器學習的能力。
ARM認為這兩款產品的推出,將會開啟終端智能的新紀元。
ARM設想的用例是在智能手杖中的360度攝像頭,可以自動識別障礙物并上報主人,或者搭載于高鐵中的智能傳感器,可以就地識別問題并及時報警,避免延誤。
新品的推出將會極大的提升ML推理速度和能源效率。
不過預計相關的芯片,最早要到2021年初才能問世。
除了巨頭之外,初創公司在TinyML領域也非常活躍。
GreenWaves公司采用多個RISC-V內核,在超低功耗下實現TinyML應用。其第二代產品GAP9,擁有10個RISC-V核心。其中,一個作為結構控制器,另外9個形成計算集群。這些控制器和計算集群,運行于獨立的電壓和頻率域。并通過支持最先進的FD-SOL處理技術,進一步降低了功耗。
Eta Compute公司的ECM3532適用于低功耗IoT,擁有兩個核心,Arm Cortext-M3和DSP。可實現長待機狀態下的圖像處理和傳感聚合,功耗僅為100微瓦。該芯片具有512KB閃存和256KB SRAM,Eta Compute展示的案例包括語音、圖像和視頻識別,以及在工業傳感場景中的應用。
06
TinyML的應用實踐
TinyML尚處于應用的早期,在一些領域有了初步實踐:
車載應用:Swim.AI在實時數據傳輸的過程中使用TinyML,通過有效提升傳感器中對于實時交通數據的智能化處理能力,減少了乘客的等候時間、交通擁堵的概率、改善汽車的排放并提升乘車安全。
智能工廠:在制造業中,TinyML可以通過啟用實時決策,減少由于設備故障而導致的非計劃性停機。它可以根據設備狀況提醒工人必要時進行預防性維護。
QuickLogic的子公司SensiML在這個領域進行了不錯的嘗試,基于他們的產品可以快速構建智能傳感方案。
并且SensiML已經將TinyML用于工業預測性維護的相關場景中。
對于預測性維護應用的開發人員,SensiML智能化軟件工具包的優勢在于,它使開發人員能夠在數天、數周內構建智能物聯網傳感設備,而無需數據科學或嵌入式固件專業知識。
該軟件包括SensiMLData Capture Lab(數據捕獲實驗室),這是一個用于收集和整理訓練數據集的集成工具。
對于預測性維護,數據集是來自各類傳感器的時間序列數據。SensiML人工智能軟件工具包分析標記數據,以生成可實施異常檢測的分類器算法。然后使用同一工具編譯算法以在所選硬件目標上運行,例如微控制器或QuickLogic自己的QuickAI片上系統平臺。
智能零售:通過監控店內貨架,并在商品數量低于一定水平時,立即發送警報,TinyML可以防止零售端的商品脫銷。
智慧農業:農民可能因動物疾病而遭受嚴重損失。利用搭載TinyML的遠程監控設備,實時監測牲畜的心臟、血壓、體溫,土壤的溫濕度等狀況,可以幫助農民預測和預防養植物和牲畜流行病的發作。
07
TinyML的相關組織
每項成功的技術,都離不開核心團隊和相關組織的推進。
TinyML領域最活躍的組織是TinyML基金會,這是一個由工程師們自發構建的社群,成立于2019年7月,經常進行小型交流,并且每年舉辦TinyML峰會。
----寫在最后----
微小的TinyML將會變得很大,這個新生事物正在逐步成型的過程中,需要來自軟件側、硬件側、算法側、應用側等涉及多方的通力協作,才能有效構建完整的生態系統。
關于這個領域的最新進展,我還會持續追蹤。
本文小結:
1.TinyML是機器學習在微控制器上的應用,是超低功耗邊緣側人工智能。TinyML通常功耗為毫瓦(mW)級別甚至更低,因此可以支持各種不同的電池驅動的設備,和需要始終在線的應用。
2.想要在終端物聯網設備中,獲得和云端ML同樣的體驗是不現實的。TinyML主要實現的是推理(inference),也就是把從訓練中學習到的能力,應用到實際操作中去。
3.TinyML是一個新興領域,是快速增長的機器學習技術和應用,是一片巨大的、未被充分開發的藍海。
原文標題:一文讀懂即將引爆的TinyML:在邊緣側實現超低功耗機器學習【物女心經】
文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
物聯網
+關注
關注
2903文章
44275瀏覽量
371275 -
機器學習
+關注
關注
66文章
8377瀏覽量
132410
原文標題:一文讀懂即將引爆的TinyML:在邊緣側實現超低功耗機器學習【物女心經】
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論