嵌入式系統(tǒng)中的TinyML可以通過多種方式實(shí)現(xiàn),通常是利用增強(qiáng)型MCU、DSP、AI加速器和NPU。目前的難題是,如何在TinyML的預(yù)算范圍內(nèi),以最佳方式開發(fā)具有機(jī)器學(xué)習(xí)(ML)功能的嵌入式系統(tǒng)。?
幾乎每項(xiàng)新技術(shù)都會(huì)讓業(yè)界浮想聯(lián)翩,隨之而來的是大量新工具、新軟件和新硬件的發(fā)布,這一切都助長(zhǎng)了市場(chǎng)快速增長(zhǎng)和批量銷售的夢(mèng)想。
然后是現(xiàn)實(shí)。
TinyML就走到了這一步。
自TinyML于2019年首次發(fā)布以來,嵌入式行業(yè)一直在努力將TinyML帶回家。然而,空談?wù)`國(guó),TinyML現(xiàn)實(shí)可行嗎?
首先,嵌入式系統(tǒng)工程師并不一定是AI專家。在許多情況下,TinyML被證明是嵌入式系統(tǒng)設(shè)計(jì)師的第一個(gè)AI項(xiàng)目。
評(píng)估TinyML的真正市場(chǎng)潛力也不那么簡(jiǎn)單。
TinyML是ML的一個(gè)類別,其模型體積小,運(yùn)行功耗低。然而,TinyML受制于AI軟件和硬件的不斷發(fā)展,這可能會(huì)模糊TinyML在市場(chǎng)中的定義。
在此背景下,Ceva前不久推出了“new TinyML optimized NPUs”,即Ceva-NeuPro-Nano NPU。Ceva確信,它擁有所有正確的技術(shù)要素,可以幫助系統(tǒng)設(shè)計(jì)者打入TinyML市場(chǎng)。
NeuPro-Nano是Ceva首次涉足TinyML市場(chǎng)。Ceva副總裁兼傳感器和音頻BU總裁Chad Lucien說,Nano的重點(diǎn)是“AI的設(shè)備和嵌入式實(shí)現(xiàn)”。
與Nano無關(guān),Ceva此前發(fā)布了面向邊緣AI市場(chǎng)的NeuPro-M,專注于生成式AI和大規(guī)模NPU實(shí)現(xiàn)等應(yīng)用。M和Nano都屬于Ceva的NeuPro NPU系列。
Lucien承認(rèn),業(yè)界尚未接受一個(gè)大家都遵守的統(tǒng)一的TinyML定義,因?yàn)樵S多玩家都在以不同的方式使用這個(gè)術(shù)語。Ceva堅(jiān)持使用自己的術(shù)語,表示TinyML“功耗通常為1W或更低,支持每秒千萬次運(yùn)算(GOPS)”。
Ceva的NeuPro NPU系列提供了從數(shù)十GOPS到數(shù)千TOPS的IP組合。
AI軟件棧??
Ceva還推出了Ceva NeuPro Studio,這是一個(gè)專為NeuPro系列設(shè)計(jì)的AI軟件棧。Lucien表示,該軟件?!皣@行業(yè)開放標(biāo)準(zhǔn)構(gòu)建”,包括TFLM(TensorFlow Lite)和μTVM(microTensor Virtual Machine)。
客戶的意見讓Ceva認(rèn)識(shí)到,“當(dāng)今AI市場(chǎng)的痛點(diǎn)之一是缺乏跨產(chǎn)品組合的通用軟件接口?!?/p>
Ceva的NeuPro Studio包括標(biāo)準(zhǔn)庫,如經(jīng)過訓(xùn)練和優(yōu)化的TinyML模型的Model Zoo,涵蓋語音、視覺和傳感用例。
TinyML:爆炸式增長(zhǎng)?
ABI Research是密切跟蹤TinyML市場(chǎng)的公司之一。據(jù)ABI的行業(yè)分析師Paul Schell稱,其最新的TinyML報(bào)告尚未發(fā)布,但“即將發(fā)布”。
Schell承認(rèn),ABI“尚未見證TinyML的爆炸式增長(zhǎng)”。但隨著其“采用率穩(wěn)步上升”,他仍然保持樂觀。“隨著硬件和軟件能力的不斷提高,使用案例的數(shù)量也在不斷擴(kuò)大”。
Schell之所以對(duì)TinyML持樂觀態(tài)度,有幾個(gè)因素,其中包括更好的硬件的出現(xiàn)。同樣重要的是,關(guān)鍵軟件工具的易用性也得到了改善。
Schell還看好NPU,如Ceva的NeuPro-Nano IP。他說:“像NPU這樣能夠加速AI工作負(fù)載的創(chuàng)新,將使要求更高的神經(jīng)網(wǎng)絡(luò)能夠在嵌入式設(shè)備上運(yùn)行,特別是在機(jī)器視覺方面。從簡(jiǎn)單的音頻和視覺檢測(cè)到分類,如果沒有NPU,以前需要更高的功耗。”
他補(bǔ)充說:“針對(duì)AI模型的軟件壓縮技術(shù)(如量化)的創(chuàng)新也擴(kuò)大了可在嵌入式設(shè)備上運(yùn)行的更高要求應(yīng)用的數(shù)量?!?/p>
ABI還在MLOps和其他軟件工具及平臺(tái)的可訪問性方面取得了進(jìn)展。MLOps(Machine learning operations)是一套自動(dòng)化和簡(jiǎn)化ML工作流程和部署的實(shí)踐。Schell解釋說,這些關(guān)鍵工具使“在云端訓(xùn)練的模型能夠更快地部署到TinyML硬件上”?!斑@加快了實(shí)現(xiàn)價(jià)值的時(shí)間,使項(xiàng)目能夠突破PoC階段”。Schell強(qiáng)調(diào)說:“對(duì)任何TinyML芯片供應(yīng)商來說,提供此類工具都已成為賭注?!?/p>
為什么要為TinyML提供NPU???
考慮到AI(包括TinyML)是一個(gè)不斷變化的目標(biāo),芯片設(shè)計(jì)人員始終面臨著艱難的選擇。
ABI的Schell指出:“對(duì)于TinyML,‘機(jī)器視覺’和‘音頻信號(hào)’用例是一個(gè)新出現(xiàn)的分歧(也可能是混亂)領(lǐng)域”,這為爭(zhēng)論“迄今為止MCU可以實(shí)現(xiàn)的功能與需要NPU或其他加速器的高要求工作負(fù)載(如圖像分類)”提供了素材。
在這種情況下,許多芯片公司通過各種芯片解決方案在嵌入式系統(tǒng)中使用TinyML。
例如,Ceva的Lucien說,許多芯片公司“都推出了自制的加速器,通常都帶有硬連接的NPU”。但是,當(dāng)這些供應(yīng)商發(fā)現(xiàn)他們的芯片(專為特定的AI任務(wù)而設(shè)計(jì))并不能涵蓋一切時(shí),他們就不得不設(shè)計(jì)一種新的加速器,或者立即采取一些不同的措施。“很多客戶告訴我們,他們需要一個(gè)新的加速器,因?yàn)樗麄儸F(xiàn)有的加速器已經(jīng)達(dá)到了使用壽命?!?/p>
另一方面,Lucien補(bǔ)充說,一些MCU和DSP“正在通過一些特殊的擴(kuò)展來處理神經(jīng)網(wǎng)絡(luò)。然后,他們?cè)谂赃吿砑右粋€(gè)單獨(dú)的NPU加速器,以產(chǎn)生性能良好的解決方案”。
這一方案似乎可以解決TinyML的性能問題。但實(shí)際上,剩下的將是一場(chǎng)編程噩夢(mèng),因?yàn)椤艾F(xiàn)在你有了兩個(gè)內(nèi)核”,Lucien指出,“你必須處理在兩個(gè)不同內(nèi)核上實(shí)施軟件的復(fù)雜性”。雙核解決方案也讓系統(tǒng)設(shè)計(jì)師頭疼不已,包括“面積和成本影響,以及在雙核之間來回移動(dòng)數(shù)據(jù)的內(nèi)存管理”。
對(duì)于Ceva來說,所有這些復(fù)雜問題都明確了它必須為TinyML市場(chǎng)的客戶提供什么。Lucien強(qiáng)調(diào)說:“我們專注于一個(gè)完全可編程、自給自足的單核,它不是加速器。它不需要”單獨(dú)的CPU或DSP來運(yùn)行”。
他說:“有了Nano NPU,我們可以在同一個(gè)內(nèi)核中高效地執(zhí)行所有特征提取和神經(jīng)網(wǎng)絡(luò)(NN)計(jì)算。它充當(dāng)控制器,運(yùn)行DSP和音頻代碼?!?/p>
Lucien解釋說,其完全可編程N(yùn)PU的架構(gòu)具有可擴(kuò)展性,可以增加先進(jìn)的ML處理能力。
Ceva稱其“面向未來”,并吹噓Nano可以支持最先進(jìn)的ML數(shù)據(jù)類型和運(yùn)算符,包括4位到32位整數(shù)支持和原生變換器計(jì)算。Nano還為所有用例提供終極ML性能,包括稀疏性加速、非線性激活類型加速和快速量化。
有了Ceva的Nano IP,TinyML可以廣泛集成。Lucien說,它可以作為微控制器的NPU內(nèi)核嵌入到微控制器中。Nano IP還可以與用于耳機(jī)、智能揚(yáng)聲器或音響的藍(lán)牙SoC上的連接功能相鄰。此外,Nano IP還可用于傳感器本身或安裝在傳感器旁邊。
競(jìng)爭(zhēng)格局????????????????
盡管Ceva沒有具體說明它是如何將自己的Nano IP與TinyML市場(chǎng)上的其他廠商進(jìn)行比較的,但Ceva的明顯競(jìng)爭(zhēng)對(duì)手是Arm的Ethos。Arm率先發(fā)布了microNPU,這是一種新型ML處理器,旨在加速嵌入式和IoT設(shè)備的推理。
Ceva的Lucien沒有透露具體細(xì)節(jié),但他指出,NeuPro Nano為TinyML市場(chǎng)帶來了一些其他公司沒有的關(guān)鍵特性。
其中之一就是Ceva開發(fā)的AI壓縮技術(shù)。Lucien指出,這項(xiàng)技術(shù)被稱為“Ceva-NetSqueeze”,它采用壓縮模型權(quán)重并將其送入NPU,無需額外的解壓縮步驟。相比之下,如果采用雙核解決方案,Lucien解釋說可能需要將權(quán)重解壓縮到內(nèi)存中,然后重新壓縮并輸入NPU。
最終,NetSqueeze使Ceva的NeuPro-Nano NPU能夠?qū)?nèi)存占用減少80%,而內(nèi)存占用是AIoT處理器的一個(gè)很頭疼的問題。
NeuPro Nano的另一個(gè)優(yōu)勢(shì)是能耗。Lucien說,使用稀疏的非零權(quán)重進(jìn)行計(jì)算可以節(jié)省能耗。但Ceva更進(jìn)一步,“根據(jù)用例動(dòng)態(tài)調(diào)整頻率中的電壓”。他補(bǔ)充說:“因此,當(dāng)每個(gè)模型在執(zhí)行網(wǎng)絡(luò)時(shí)對(duì)頻率和電壓有不同要求時(shí),你可以調(diào)整頻率中的電壓,使其與運(yùn)行該網(wǎng)絡(luò)所需的電壓相匹配。然后,當(dāng)你運(yùn)行下一個(gè)網(wǎng)絡(luò)時(shí),它就會(huì)適當(dāng)?shù)財(cái)U(kuò)展內(nèi)核?!?/p>
除了TinyML硬件和軟件的基本問題外,還要考慮IoT設(shè)備的生命周期。ABI的Schell稱這個(gè)問題是阻礙TinyML發(fā)展的“障礙之一”。對(duì)于生命周期為五年或更長(zhǎng)的現(xiàn)有IoT項(xiàng)目來說,尤其是在工業(yè)市場(chǎng),讓TinyML成為一個(gè)良好的、自然的解決方案可能比想象的要難。