TinyML:下一輪人工智能革命
人工智能的一個趨勢是正快速從“云端”走向“邊緣”。TinyML 是在海量的物聯(lián)網(wǎng)設(shè)備端微控制器上實(shí)現(xiàn)的人工智能,有望在未來幾年內(nèi),成為人工智能在工業(yè)領(lǐng)域的重要新應(yīng)用。邊緣設(shè)備往往計(jì)算資源和電量受限,對功耗極為敏感。在此類設(shè)備上實(shí)現(xiàn)人工智能模型,面臨著新的挑戰(zhàn),也提出了新的應(yīng)用。本文是 TinyML 系列文章中的第一篇,介紹了 TinyML 概念、技術(shù)及未來潛力。
由 NASA 引領(lǐng)的小型化風(fēng)潮已經(jīng)席卷了整個消費(fèi)電子產(chǎn)品產(chǎn)業(yè)。現(xiàn)在,一個領(lǐng)針中即可保存全部貝多芬作品,并可使用耳機(jī)聆聽。———天體物理學(xué)家、科學(xué)評論員 Neil deGrasse Tyson
……超低功耗嵌入式設(shè)備的普及,以及用于微控制器的 TensorFlow Lite 等嵌入式機(jī)器學(xué)習(xí)框架的推出,意味著人工智能驅(qū)動的 IoT 設(shè)備將得到大規(guī)模普及。———哈佛大學(xué)副教授 Vijay Janapa Reddi
圖 1 嵌入設(shè)備上的 TinyML 概覽圖
模型并非越大越好。
本文是 TinyML 系列文章中的第一篇,目的是向讀者介紹 TinyML 概念及其未來潛力。本系列的后續(xù)文章中,將深入介紹一些特定的應(yīng)用、具體實(shí)現(xiàn)和教程。
引 言
過去的十年中,由于處理器速度的提高和大數(shù)據(jù)的出現(xiàn),我們見證了機(jī)器學(xué)習(xí)算法的規(guī)模呈指數(shù)級增長。最初,模型的規(guī)模并不大,在本地計(jì)算機(jī)中運(yùn)行,使用 CPU 的一或多個內(nèi)核。
此后不久,GPU 計(jì)算使人們可以處理更大規(guī)模的數(shù)據(jù)集,并且通過基于云的服務(wù),例如 Google Colaboratory 等 SaaS 平臺,Amazon EC2 Instances 等 IaaS,GPU 技術(shù)變得更易于獲取。與此同時,算法仍可在單機(jī)上運(yùn)行。
最近,專用的 ASIC 和 TPU 已可提供大約 8 個 GPU 的處理能力。這些設(shè)備的發(fā)展,增強(qiáng)了將學(xué)習(xí)算法分布到多個系統(tǒng)中的能力,滿足了規(guī)模不斷增大的模型需求。
2020 年 5 月發(fā)布的 GPT-3 算法,推動模型的規(guī)模達(dá)到登峰造極的水平。在 GPT-3 的網(wǎng)絡(luò)架構(gòu)中,包含了數(shù)量驚人的 1750 億個神經(jīng)元,是人腦中約 850 億個神經(jīng)元的兩倍多,也是 Turing-NLG 神經(jīng)元數(shù)量的 10 倍以上。Turing-NLG 發(fā)布于 2020 年 2 月,是有史以來的第二大神經(jīng)網(wǎng)絡(luò),其中包含約 175 億個參數(shù)。有人估計(jì),GPT-3 模型的訓(xùn)練成本約為 1000 萬美元,使用約 3GWh 的電力,是三個核電站一小時的輸出。
盡管 GPT-3 和 Turing-NLG 的成就值得稱贊,但它們自然也引發(fā)了一些業(yè)內(nèi)人士對人工智能行業(yè)日益增長碳足跡的批評。另一方面,它們也激發(fā)了人工智能領(lǐng)域?qū)Ω鼮楣?jié)能計(jì)算的興趣。過去數(shù)年中,更高效的算法、數(shù)據(jù)表示和計(jì)算等理念,一直是機(jī)器學(xué)習(xí)微型化(TinyML)這一看似毫無關(guān)聯(lián)領(lǐng)域的關(guān)注點(diǎn)。
TinyML 是機(jī)器學(xué)習(xí)和嵌入式 IoT 設(shè)備的交叉領(lǐng)域,是一門新興的工程學(xué)科,具有革新許多行業(yè)的潛力。
TinyML 的主要受益者,是邊緣計(jì)算和節(jié)能計(jì)算領(lǐng)域。TinyML 源自物聯(lián)網(wǎng) IoT 的概念。物聯(lián)網(wǎng)的傳統(tǒng)做法,是將數(shù)據(jù)從本地設(shè)備發(fā)送到云端處理。一些人對這一方式在隱私、延遲、存儲和能源效率等方面存在疑慮。
- 能源效率。無論通過有線還是無線方式,數(shù)據(jù)傳輸都非常耗能,比使用乘積累加運(yùn)算單元(multiply-accumulate units,MAU)的本機(jī)計(jì)算高出約一個數(shù)量級。最節(jié)能的做法,是研發(fā)具備本地?cái)?shù)據(jù)處理能力的物聯(lián)網(wǎng)系統(tǒng)。相對于“以計(jì)算為中心”的云模型,“以數(shù)據(jù)為中心”的計(jì)算思想已得到了人工智能先驅(qū)者的一些先期探討,并已在當(dāng)前得到了應(yīng)用。
- 隱私。數(shù)據(jù)傳輸中存在侵犯隱私的隱患。數(shù)據(jù)可能被惡意行為者攔截,并且存儲在云等單個位置中時,數(shù)據(jù)固有的安全性也會降低。通過將數(shù)據(jù)大部保留在設(shè)備上,可最大程度地減少通信需求,進(jìn)而提高安全性和隱私性。
- 存儲。許多物聯(lián)網(wǎng)設(shè)備所獲取的大部分?jǐn)?shù)據(jù)是毫無用處的。想象一下,一臺安防攝像機(jī)每天 24 小時不間斷地記錄著建筑物的入口情況。在一天的大部分時間中,該攝像機(jī)并沒有發(fā)揮任何作用,因?yàn)椴]有什么異常情況發(fā)生。采用僅在必要時激活的更智能的系統(tǒng),可降低對存儲容量的需求,進(jìn)而降低需傳輸?shù)皆贫说臄?shù)據(jù)量。
- 延遲。標(biāo)準(zhǔn)的物聯(lián)網(wǎng)設(shè)備,例如 Amazon Alexa,需將數(shù)據(jù)傳輸?shù)皆苼硖幚?,然后由算法的輸出給出響應(yīng)。從這個意義上講,設(shè)備只是云模型的一個便捷網(wǎng)關(guān),類似于和 Amazon 服務(wù)器之間的信鴿。設(shè)備本身并非智能的,響應(yīng)速度完全取決于互聯(lián)網(wǎng)性能。如果網(wǎng)速很慢,那么 Amazon Alexa 的響應(yīng)也會變慢。自帶自動語音識別功能的智能 IoT 設(shè)備,由于降低甚至是完全消除了對外部通信的依賴,因此降低了延遲。
上述問題推動著邊緣計(jì)算的發(fā)展。邊緣計(jì)算的理念就是在部署在云“邊緣”的設(shè)備上實(shí)現(xiàn)數(shù)據(jù)處理功能。這些邊緣設(shè)備在內(nèi)存、計(jì)算和功能方面都高度受限于設(shè)備自身的資源,進(jìn)而需要研發(fā)更為高效的算法、數(shù)據(jù)結(jié)構(gòu)和計(jì)算方法。
此類改進(jìn)同樣適用于規(guī)模較大的模型,在不降低模型準(zhǔn)確率(accuracy)的同時,實(shí)現(xiàn)機(jī)器學(xué)習(xí)模型效率數(shù)個數(shù)量級的提高。例如,Microsoft 開發(fā)的 Bonsai 算法 可小到 2 KB,但比通常 40MB 的 kNN 算法或是 4MB 的神經(jīng)網(wǎng)絡(luò)具有更好的性能。這個結(jié)果聽上去可能無感,但如果換句話說——在規(guī)模縮小了一萬倍的模型上取得同樣的準(zhǔn)確率,這就十分令人印象深刻了。規(guī)模如此小的模型,可以運(yùn)行在 2KB 內(nèi)存的 Arduino Uno 上。簡而言之,現(xiàn)在可以在售價(jià) 5 美元的微控制器上構(gòu)建此類機(jī)器學(xué)習(xí)模型。
機(jī)器學(xué)習(xí)正處于一個交叉路口,兩種計(jì)算范式齊頭并進(jìn),即以計(jì)算為中心的計(jì)算,和以數(shù)據(jù)為中心的計(jì)算。在以計(jì)算為中心的計(jì)算范式下,數(shù)據(jù)是在數(shù)據(jù)中心的實(shí)例上存儲和分析的;而在以數(shù)據(jù)為中心的計(jì)算范式下,處理是在數(shù)據(jù)的原始位置執(zhí)行的。盡管在目前,以計(jì)算為中心的計(jì)算范式似乎很快會達(dá)到上限,但是以數(shù)據(jù)為中心的計(jì)算范式才剛剛起步。
當(dāng)前,物聯(lián)網(wǎng)設(shè)備和嵌入式機(jī)器學(xué)習(xí)模型日益普及。預(yù)計(jì)到 2020 年底,將有超過 200 億臺活躍設(shè)備。人們可能并未注意到其中許多設(shè)備,例如智能門鈴、智能恒溫器,以及只要用戶說話甚至拿起就可以“喚醒”的智能手機(jī)。本文下面將深入介紹 TinyML 的工作機(jī)制,以及在當(dāng)前和將來的應(yīng)用情況。
圖 2 云的層級結(jié)構(gòu)圖。
TinyML 示例
以前,設(shè)備執(zhí)行的各種操作必需基于復(fù)雜的集成電路。現(xiàn)在,機(jī)器學(xué)習(xí)的硬件“智能”正逐漸抽象為軟件,使得嵌入式設(shè)備更加簡單、輕量級和靈活。
使用嵌入式設(shè)備實(shí)現(xiàn)機(jī)器學(xué)習(xí),需解決巨大的挑戰(zhàn),但在該領(lǐng)域也取得了長足的進(jìn)步。在微控制器上部署神經(jīng)網(wǎng)絡(luò),關(guān)鍵挑戰(zhàn)在于低內(nèi)存占用、功率受限和計(jì)算受限。
智能手機(jī)是最典型的 TinyML 例子。手機(jī)一直處于主動聆聽“喚醒詞”的狀態(tài),例如 Android 智能手機(jī)的“你好,谷歌”,以及 iPhone 的“你好,Siri”。如果通過智能手機(jī)的 CPU(主流 iPhone 的 CPU 已達(dá) 1.85 GHz)運(yùn)行語音喚醒服務(wù),那么電池電量會在短短幾個小時內(nèi)耗盡。這樣的電量消耗是不可接受的,而語音喚醒服務(wù)大多數(shù)人每天最多使用幾次。
為了解決這個問題,開發(fā)人員創(chuàng)建了可以用小型電池(例如 CR2032 紐扣電池)供電的專用低功耗硬件。即使 CPU 未運(yùn)行(通常表現(xiàn)為屏幕并未點(diǎn)亮),集成電路也能保持活躍狀態(tài)。
這樣的集成電路消耗功率僅為 1mW,如果使用標(biāo)準(zhǔn)的 CR2032 電池,可供電長達(dá)一年。
雖然有些人不覺得這有什么了不起的,但這是非常重要的進(jìn)步。許多電子設(shè)備的瓶頸就是能源。任何需要市電供應(yīng)的設(shè)備,其使用都受電力布線位置的限制。如果同一位置部署了十幾臺設(shè)備,可能電源會很快不堪重負(fù)。市電的效率并不高,且代價(jià)昂貴。將電源電壓(例如美國使用的 120V)轉(zhuǎn)換為典型的電路電壓范圍(通常約為 5V),會浪費(fèi)掉大量的能量。筆記本電腦用戶在拔充電器時,對此都深有體會吧。充電器的內(nèi)部變壓器所產(chǎn)生的熱量,就是在電壓轉(zhuǎn)換過程中被浪費(fèi)掉的能量。
即使設(shè)備自帶電池,電池續(xù)航也是有限的,需要頻繁充電。許多消費(fèi)類電子設(shè)備的電池,設(shè)計(jì)上可持續(xù)使用一個工作日。一些 TinyML 設(shè)備可以使用硬幣大小的電池持續(xù)運(yùn)行一年,這意味著可將此類設(shè)備部署在一些偏遠(yuǎn)的環(huán)境中,僅在必要時進(jìn)行通信,以節(jié)省電源。
在一臺智能手機(jī)中,喚醒詞服務(wù)并非唯一無縫嵌入的 TinyML 應(yīng)用。加速度計(jì)數(shù)據(jù)可用于確定用戶是否剛拿起手機(jī),進(jìn)而喚醒 CPU 并點(diǎn)亮屏幕。
顯然,這些并非 TinyML 的唯一用武之地。實(shí)際上,TinyML 為產(chǎn)品粉絲和企業(yè)提供了大量令人興奮的應(yīng)用,用于實(shí)現(xiàn)更智能的 IoT 設(shè)備。在當(dāng)前數(shù)據(jù)變得越來越重要的情況下,將機(jī)器學(xué)習(xí)資源分發(fā)到遠(yuǎn)端內(nèi)存受限設(shè)備的能力,為農(nóng)業(yè)、天氣預(yù)報(bào)或地震等數(shù)據(jù)密集行業(yè)提供了巨大機(jī)遇。
毫無疑問,賦予邊緣設(shè)備執(zhí)行數(shù)據(jù)驅(qū)動處理的能力,將為工業(yè)過程中的計(jì)算范式帶來轉(zhuǎn)變。舉個例子,如果能夠監(jiān)測農(nóng)作物并檢測到諸如土壤濕度、特定氣體(例如蘋果成熟時會釋放出乙烷)等特征或特定的大氣條件(例如大風(fēng)、低溫或高濕度等),將極大地促進(jìn)作物的生長,提高作物的產(chǎn)量。
另一個例子是,在智能門鈴中可安裝攝像機(jī),使用面部識別確定到場的來訪者。這將實(shí)現(xiàn)安防功能,甚至可以在有人到場時將門鈴攝像頭輸出到屋內(nèi)電視屏幕,以便主人了解門口的訪客情況。
目前,TinyML 主要的兩個重點(diǎn)應(yīng)用領(lǐng)域是:
- 關(guān)鍵字發(fā)現(xiàn)。大多數(shù)人已經(jīng)非常熟悉此應(yīng)用,例如“你好,Siri”和“你好,Google”等關(guān)鍵字,通常也稱為“熱詞”或“喚醒詞”。設(shè)備會連續(xù)監(jiān)聽來自麥克風(fēng)的音頻輸入,訓(xùn)練實(shí)現(xiàn)僅響應(yīng)與所學(xué)關(guān)鍵字匹配的特定聲音序列。這些設(shè)備比自動語音識別(automatic speech recognition,ASR)更簡單,使用更少的資源。Google 智能手機(jī)等設(shè)備還使用了 級聯(lián)架構(gòu) 實(shí)現(xiàn)揚(yáng)聲器的驗(yàn)證,以確保安全性。
- 視覺喚醒詞。視覺喚醒詞使用圖像類似替代喚醒詞的功能,通過對圖像做二分類表示存在與否。例如,設(shè)計(jì)一個智能照明系統(tǒng),在檢測到人的存在時啟動,并在人離開時關(guān)閉。同樣,野生動物攝影師可以使用視覺喚醒功能在特定的動物出現(xiàn)時啟動拍攝,安防攝像機(jī)可以在檢測到人活動時啟動拍攝。
下圖全面展示當(dāng)前 TinyML 機(jī)器學(xué)習(xí)的應(yīng)用概覽。
圖 3 TinyML 的機(jī)器學(xué)習(xí)用例。圖片來源:NXP。
TinyML 工作機(jī)制
TinyML 算法的工作機(jī)制與傳統(tǒng)機(jī)器學(xué)習(xí)模型幾乎完全相同,通常在用戶計(jì)算機(jī)或云中完成模型的訓(xùn)練。訓(xùn)練后處理是 TinyML 真正發(fā)揮作用之處,通常稱為“深度壓縮”(deep compression)。
圖 4 深度壓縮示意圖。來源:[ArXiv 論文](https://arxiv.org/pdf/1510.00149.pdf).
模型蒸餾(Distillation)
模型在訓(xùn)練后需要更改,以創(chuàng)建更緊湊的表示形式。這一過程的主要實(shí)現(xiàn)技術(shù)包括剪枝(pruning)和知識蒸餾。
知識蒸餾的基本理念,是考慮到較大網(wǎng)絡(luò)內(nèi)部存在的稀疏性或冗余性。雖然大規(guī)模網(wǎng)絡(luò)具有較高的表示能力,但如果網(wǎng)絡(luò)容量未達(dá)到飽和,則可以用具有較低表示能力的較小網(wǎng)絡(luò)(即較少的神經(jīng)元)表示。在 Hinton 等人 2015 年發(fā)表的研究工作中,將 Teacher 模型中轉(zhuǎn)移給 Student 模型的嵌入信息稱為“黑暗知識”(dark knowledge)。
下圖給出了知識蒸餾的過程:
圖 5 深度壓縮過程圖。
圖中 Teacher 模型是經(jīng)過訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型,任務(wù)是將其“知識”轉(zhuǎn)移給稱為 Student 模型的,參數(shù)較少的小規(guī)模卷積網(wǎng)絡(luò)模型。此過程稱為“知識蒸餾”,用于將相同的知識包含在規(guī)模較小的網(wǎng)絡(luò)中,從而實(shí)現(xiàn)一種網(wǎng)絡(luò)壓縮方式,以便用于更多內(nèi)存受限的設(shè)備上。
同樣,剪枝有助于實(shí)現(xiàn)更緊湊的模型表示。寬泛而言,剪枝力圖刪除對輸出預(yù)測幾乎無用的神經(jīng)元。這一過程通常涉及較小的神經(jīng)權(quán)重,而較大的權(quán)重由于在推理過程中具有較高的重要性而會得到保留。隨后,可在剪枝后的架構(gòu)上對網(wǎng)絡(luò)做重新訓(xùn)練,調(diào)優(yōu)輸出。
圖 6 對蒸餾模型知識表示做剪枝的圖示。
量化(Quantization)
蒸餾后的模型,需對此后的訓(xùn)練進(jìn)行量化,形成兼容嵌入式設(shè)備架構(gòu)的格式。
為什么要做量化?假定對于一臺 Arduino Uno,使用 8 位數(shù)值運(yùn)算的 ATmega328P 微控制器。在理想情況下要在 Uno 上運(yùn)行模型,不同于許多臺式機(jī)和筆記本電腦使用 32 位或 64 位浮點(diǎn)表示,模型的權(quán)重必須以 8 位整數(shù)值存儲。通過對模型做量化處理,權(quán)重的存儲規(guī)模將減少到 1/4,即從 32 位量化到 8 位,而準(zhǔn)確率受到的影響很小,通常約 1-3%。
圖 7 8 位編碼過程中的量化誤差示意圖,進(jìn)而將用于重構(gòu) 32 位浮點(diǎn)數(shù)。圖片來源:《[TinyML](https://tinymlbook.com/)》一書。
由于存在 量化誤差),可能會在量化過程中丟失某些信息。例如在基于整型的平臺上,值為 3.42 的浮點(diǎn)表示形式可能會被截取為 3。為了解決這個問題,有研究提出了量化可感知(quantization-aware,QA)訓(xùn)練作為替代方案。QA 訓(xùn)練本質(zhì)上是在訓(xùn)練過程中,限制網(wǎng)絡(luò)僅使用量化設(shè)備可用的值(具體參見 Tensorflow 示例)。
霍夫曼編碼
編碼是可選步驟。編碼通過最有效的方式來存儲數(shù)據(jù),可進(jìn)一步減小模型規(guī)模。通常使用著名的 霍夫曼編碼。
編譯
對模型量化和編碼后,需將模型轉(zhuǎn)換為可被輕量級網(wǎng)絡(luò)解釋器解釋的格式,其中最廣為使用的就是 TF Lite(約 500 KB 大?。┖?TF Lite Micro(約 20 KB)。模型將編譯為可被大多數(shù)微控制器使用并可有效利用內(nèi)存的 C 或 C++ 代碼,由設(shè)備上的解釋器運(yùn)行。
圖 8 TinyML 應(yīng)用的工作流圖。來源:Pete Warden 和 Daniel Situnayake 編寫的《[TinyML](https://tinymlbook.com/)》一書。
大多數(shù) TinyML 技術(shù),針對的是處理微控制器所導(dǎo)致的復(fù)雜性。TF Lite 和 TF Lite Micro 非常小,是因?yàn)槠渲袆h除了所有非必要的功能。不幸的是,它們同時也刪除了一些有用的功能,例如調(diào)試和可視化。這意味著,如果在部署過程中出現(xiàn)錯誤,可能很難判別原因。
另外,盡管模型必須存儲在設(shè)備本地,但模型也必須要支持執(zhí)行推理。這意味著微控制器必須具有足夠大的內(nèi)存去運(yùn)行(1)操作系統(tǒng)和軟件庫;(2)神經(jīng)網(wǎng)絡(luò)解釋器,例如 TF Lite);(3)存儲的神經(jīng)網(wǎng)絡(luò)權(quán)重和架構(gòu);(4)推理過程中的中間結(jié)果。因此,TinyML 方向的研究論文在給出內(nèi)存使用量、乘法累加單元(multiply-accumulate units,MAC)數(shù)量,準(zhǔn)確率等指標(biāo)的同時,通常還需給出量化算法的峰值內(nèi)存使用情況。
為什么不在設(shè)備上訓(xùn)練?
在設(shè)備上進(jìn)行訓(xùn)練會引入額外的復(fù)雜性。由于數(shù)值精度的降低,要確保網(wǎng)絡(luò)訓(xùn)練所需的足夠準(zhǔn)確率是極為困難的。在標(biāo)準(zhǔn)臺式計(jì)算機(jī)的精度下,自動微分方法是大體準(zhǔn)確的。計(jì)算導(dǎo)數(shù)的精度可達(dá)令人難以置信的 10^{-16},但是在 8 位數(shù)值上做自動微分,將給出精度較差的結(jié)果。在反向傳播過程中,會組合使用求導(dǎo)并最終用于更新神經(jīng)參數(shù)。在如此低的數(shù)值精度下,模型的準(zhǔn)確率可能很差。
盡管存在上述問題,一些神經(jīng)網(wǎng)絡(luò)還是使用了 16 位和 8 位浮點(diǎn)數(shù)做了訓(xùn)練。
第一篇研究降低深度學(xué)習(xí)中的數(shù)值精度的論文,是 Suyog Gupta 及其同事在 2015 年發(fā)表的“具有有限數(shù)值精度的深度學(xué)習(xí)”(Deep Learning with Limited Numerical Precision)。該論文給出的結(jié)果非常有意思,即可在幾乎不降低準(zhǔn)確率的情況下,將 32 位浮點(diǎn)表示形式降至 16 位固定點(diǎn)表示。但該結(jié)果僅適用于使用隨機(jī)舍入(stochastic rounding)的情況,因?yàn)槠湓诰瞪袭a(chǎn)生無偏結(jié)果。
在 Naigang Wang 及其同事 2018 年發(fā)表的論文“使用 8 位浮點(diǎn)數(shù)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)”(Training Deep Neural Networks with 8-bit Floating Point Numbers)中,使用了 8 位浮點(diǎn)數(shù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。在訓(xùn)練中使用 8 位數(shù)值,相比在推理中要明顯難以實(shí)現(xiàn),因?yàn)樾枰诜聪騻鞑テ陂g保持梯度計(jì)算的保真度(fidelity),使得在做自動微分時能夠達(dá)到機(jī)器的精度。
計(jì)算效率如何?
可以通過定制模型,提高模型的計(jì)算效率。一個很好的例子就是 MobileNet V1 和 MobileNet V2,它們是已在移動設(shè)備上得到廣泛部署的模型架構(gòu),本質(zhì)上是一種通過重組(recast)實(shí)現(xiàn)更高計(jì)算效率卷積運(yùn)算的卷積神經(jīng)網(wǎng)絡(luò)。這種更有效的卷積形式,稱為深度可分離卷積結(jié)構(gòu)(depthwise separable convolution)。針對架構(gòu)延遲的優(yōu)化,還可以使用 基于硬件的概要(hardware-based profiling) 和 神經(jīng)架構(gòu)搜索(neural architecture search) 等技術(shù),對此本文將不做詳述。
新一輪人工智能革命
在資源受限的設(shè)備上運(yùn)行機(jī)器學(xué)習(xí)模型,為許多新的應(yīng)用打開了大門。使標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)更加節(jié)能的技術(shù)進(jìn)步,將有助于消除數(shù)據(jù)科學(xué)對環(huán)境影響的一些擔(dān)憂。此外,TinyML 支持嵌入式設(shè)備搭載基于數(shù)據(jù)驅(qū)動算法的全新智能,進(jìn)而應(yīng)用在了從 預(yù)防性維護(hù) 到 檢測森林中的鳥叫聲 等多種場景中。
盡管繼續(xù)擴(kuò)大模型的規(guī)模是一些機(jī)器學(xué)習(xí)從業(yè)者的堅(jiān)定方向,但面向內(nèi)存、計(jì)算和能源效率更高的機(jī)器學(xué)習(xí)算法發(fā)展也是一個新的趨勢。TinyML 仍處于起步階段,在該方向上的專家很少。本文參考文獻(xiàn)中列出了一些 TinyML 領(lǐng)域中的重要論文,建議有興趣的讀者去閱讀。該方向正在快速增長,并將在未來幾年內(nèi),成為人工智能在工業(yè)領(lǐng)域的重要新應(yīng)用。請保持關(guān)注。