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