TinyML 也是機(jī)器學(xué)習(xí)的一種,他的特點(diǎn)就是縮小深度學(xué)習(xí)網(wǎng)絡(luò)可以在微型硬件中使用,主要應(yīng)用在智能設(shè)備上。
超低功耗嵌入式設(shè)備正在“入侵”我們的世界,借助新的嵌入式機(jī)器學(xué)習(xí)框架,它們將進(jìn)一步推動(dòng)人工智能驅(qū)動(dòng)的物聯(lián)網(wǎng)設(shè)備的普及。
FPGA一直以低功耗、可重構(gòu)的特點(diǎn)在各個(gè)領(lǐng)域內(nèi)應(yīng)用,同時(shí)也可以大大增加物聯(lián)網(wǎng)應(yīng)用環(huán)境,所以在FPGA上應(yīng)用TinyML是否是FPGA方便的最佳應(yīng)用?我們接下來(lái)分析一下TinyML的特點(diǎn)再來(lái)總結(jié)。
接下來(lái)讓我們翻譯這個(gè)行話:什么是 TinyML?而且,更重要的是 - 它可以(也不能)用于什么?
什么是 TinyML?
機(jī)器學(xué)習(xí)是一個(gè)流行詞,已經(jīng)存在了一段時(shí)間,有許多有用的應(yīng)用程序需要理解混沌數(shù)據(jù),目前的應(yīng)用中它很少與硬件相關(guān)聯(lián)。通常,如果一定要與硬件那么通常通過(guò)云相關(guān)聯(lián),而云通常與延遲、耗電和連接速度有關(guān)。
然而,在設(shè)備中應(yīng)用機(jī)器學(xué)習(xí)并不是什么新鮮事。幾年來(lái),我們的大多數(shù)手機(jī)都內(nèi)置了某種神經(jīng)網(wǎng)絡(luò)。設(shè)備音樂(lè)識(shí)別,以及許多相機(jī)模式(如夜視和人像模式)只是依賴嵌入式深度學(xué)習(xí)的幾個(gè)例子。這些算法可以識(shí)別我們更有可能再次使用的應(yīng)用程序,并關(guān)閉不需要的應(yīng)用程序來(lái)延長(zhǎng)手機(jī)電池。然而,嵌入式 AI 面臨著許多挑戰(zhàn),其中最重要的挑戰(zhàn)就是功率和空間。這就是 TinyML 的用武之地。
設(shè)備上的傳感器數(shù)據(jù)需要強(qiáng)大的計(jì)算能力,這會(huì)導(dǎo)致存儲(chǔ)容量有限、中央處理器 (CPU) 有限和數(shù)據(jù)庫(kù)性能下降等問(wèn)題。TinyML 通過(guò)將人工智能嵌入到小塊硬件中,將機(jī)器學(xué)習(xí)帶到了“現(xiàn)場(chǎng)”。有了它,就可以利用深度學(xué)習(xí)算法在設(shè)備上訓(xùn)練網(wǎng)絡(luò)并縮小它們的大小,而無(wú)需將數(shù)據(jù)發(fā)送到云端,從而減少分析它的延遲。
TinyML:了解基礎(chǔ)知識(shí)
Google 的 TinyML 大師和 TensorFLow Lite 工程負(fù)責(zé)人 Pete Warden 與 Daniel Situnayake 一起出版了一本書。這本書“TinyML:在 Arduino 和超低功耗微控制器上使用 TensorFlow Lite 進(jìn)行機(jī)器學(xué)習(xí)”已成為該領(lǐng)域的參考。
最后,TensorFlow Lite是谷歌創(chuàng)建的嵌入式機(jī)器學(xué)習(xí)框架,它有一個(gè)專門為微控制器設(shè)計(jì)的子類別。2019 年,除了 TensorFlow Lite 之外,其他框架開始專注于讓深度學(xué)習(xí)模型更小、更快,并適配嵌入式硬件,包括uTensor和Arm 的 CMSIS-NN。與此同時(shí),許多教程開始出現(xiàn),內(nèi)容是關(guān)于如何在 AI 驅(qū)動(dòng)的微控制器上使用 TinyML 和類似框架來(lái)訓(xùn)練、驗(yàn)證然后通過(guò)推理引擎在硬件上部署小型神經(jīng)網(wǎng)絡(luò)集。
機(jī)器學(xué)習(xí)通常與優(yōu)化有關(guān),但 TinyML 不僅僅是與優(yōu)化有關(guān):一些云應(yīng)用程序編程接口 (API) 只是排除交互性,并且從功耗角度來(lái)看過(guò)于受限。最重要的是,這些限制使邊緣計(jì)算變得更慢、更昂貴且更不可預(yù)測(cè)。
與前面提到的基于手機(jī)上應(yīng)用的機(jī)器學(xué)習(xí)的不同之處在于,TinyML 使電池或能量收集設(shè)備能夠運(yùn)行,而無(wú)需因功率限制而手動(dòng)充電或更換電池。把它想象成一個(gè)永遠(yuǎn)在線的數(shù)字信號(hào)處理器。這轉(zhuǎn)化為一種運(yùn)行功率低于 1 毫瓦的設(shè)備(夸張描述),因此該設(shè)備要么能夠使用電池運(yùn)行多年,要么可以使用能量收集。這也意味著這些設(shè)備根本無(wú)法通過(guò)無(wú)線電連接,因?yàn)榧词故堑凸β实亩叹嚯x無(wú)線電也會(huì)使用數(shù)十到數(shù)百毫瓦的功率,并且它只允許短時(shí)間的功率爆發(fā)。這些限制還導(dǎo)致需要能夠在限制為數(shù)十 KB 的極小內(nèi)存限制下運(yùn)行的代碼,因此需要將 TinyML 與 raspberry 或手機(jī)上的代碼區(qū)分開來(lái)。
TinyML:當(dāng)前的應(yīng)用概覽
根據(jù)Emerging Spaces 對(duì) Pitchbook的評(píng)論,自 2020 年 1 月以來(lái),TinyML 已投資 2600 萬(wàn)美元,其中包括加速器、早期投資者和后期投資者的風(fēng)險(xiǎn)投資。與 AI 和 ML 的其他更成熟的分支(例如數(shù)據(jù)標(biāo)簽)相比,這相對(duì)較小。在趨勢(shì)中,交易數(shù)量與認(rèn)知計(jì)算、下一代安全和 AIOps 等其他熱門話題競(jìng)爭(zhēng)。
TinyML:工作機(jī)制
TinyML 算法的工作機(jī)制與傳統(tǒng)機(jī)器學(xué)習(xí)模型幾乎完全相同,通常在用戶計(jì)算機(jī)或云中完成模型的訓(xùn)練。訓(xùn)練后處理是 TinyML 真正發(fā)揮作用之處,通常稱為“深度壓縮”(deep compression)。
深度壓縮示意圖。來(lái)源: ArXiv 論文
TinyML:展望未來(lái)
今年秋天,哈佛大學(xué)推出了課程CS249R:微型機(jī)器學(xué)習(xí),提到“機(jī)器學(xué)習(xí)的爆炸式增長(zhǎng)和 TensorFlow (TF) 等平臺(tái)的易用性使其成為現(xiàn)代計(jì)算機(jī)科學(xué)專業(yè)學(xué)生不可或缺的學(xué)習(xí)課題”。
今天,世界上有超過(guò) 2500 億個(gè)嵌入式設(shè)備在運(yùn)行,預(yù)計(jì)每年增長(zhǎng) 20%。,這些設(shè)備正在收集大量數(shù)據(jù),并在云端處理這些數(shù)據(jù)提出了相當(dāng)大的挑戰(zhàn)。在這 2500 億臺(tái)設(shè)備中,目前正在生產(chǎn)的大約 30 億臺(tái)能夠支持目前正在生產(chǎn)的 TensorsFlow Lite。TinyML 可以彌合邊緣硬件和設(shè)備智能之間的差距。
總結(jié)
隨著物聯(lián)網(wǎng)設(shè)備的增加,多傳感器的融合以及數(shù)量處理也是比較大的特點(diǎn),所以低功耗的FPGA在這方面會(huì)大方異彩。
在這方面,F(xiàn)PGA廠商Lattice早就推出了基于超低功耗(iphone手機(jī)上曾用的up5k)FPGA的TinyML開發(fā)平臺(tái),并且開源了聲音和人臉識(shí)別的開源方案,鏈接如下:
https://github.com/tinyvision-ai-inc
https://www.latticesemi.com/Products/DevelopmentBoardsAndKits/HimaxHM01B0
隨著新智能設(shè)備和物聯(lián)網(wǎng)設(shè)備數(shù)量的增加,TinyML在低功耗FPGA上的應(yīng)用有可能在無(wú)處不在、更便宜、可擴(kuò)展且更可預(yù)測(cè)的邊緣嵌入 AI 設(shè)備上大量應(yīng)用,從而改變 ML 的應(yīng)用范式。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1629文章
21753瀏覽量
604179 -
人工智能
+關(guān)注
關(guān)注
1792文章
47387瀏覽量
238900 -
物聯(lián)網(wǎng)設(shè)備
+關(guān)注
關(guān)注
1文章
235瀏覽量
19766
原文標(biāo)題:TinyML:是否是FPGA在人工智能方面的最佳應(yīng)用?
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論