STM32Cube.AI 7.3 啟動了一個新系統(tǒng),使開發(fā)人員能夠選擇是優(yōu)先考慮 RAM、性能還是兩者之間的平衡方法。因此,它建立在先前版本 STM32Cube.AI 7.2的工作基礎(chǔ)上,該版本引入了擴展層和深度量化神經(jīng)網(wǎng)絡(luò),并允許用戶根據(jù)其約束對其進(jìn)行微調(diào)算法。新的軟件版本也具有高度的象征意義,因為我們今天宣布加入MLCommons?聯(lián)盟。該計劃使我們能夠為社區(qū)做出貢獻(xiàn),并將幫助團(tuán)隊弄清楚他們可以通過邊緣機器學(xué)習(xí)做什么,這要歸功于客觀和可重復(fù)的基準(zhǔn)。
從大型超級計算機到微控制器
什么是 STM32Cube.AI?
STM2019Cube.AI 于32年推出,將神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為STM32 MCU的優(yōu)化代碼。算法可以在微控制器等資源約束設(shè)備上運行,這一事實是該領(lǐng)域的一個關(guān)鍵演變。1956年,創(chuàng)造“機器學(xué)習(xí)”一詞的亞瑟·塞繆爾(Arthur Samuel)正在開發(fā)一個教計算機玩跳棋的程序時,他不得不在IBM 701大型機上工作,并在大型科學(xué)IBM 7094上運行他的程序。之后,機器學(xué)習(xí)一直需要大量的計算吞吐量。甚至在意法半導(dǎo)體推出 STM32Cube.AI 之前的幾年,行業(yè)領(lǐng)導(dǎo)者都在由強大機器組成的云上運行機器學(xué)習(xí)算法。
STM32Cube.AI 很特別,因為它有助于在MCU上運行算法,并使開發(fā)機器學(xué)習(xí)應(yīng)用程序變得更加容易。它依賴于STM32CubeMX和X-CUBE-AI軟件包,前者可幫助開發(fā)人員初始化STM32設(shè)備,后者是一個軟件包,其中包含用于轉(zhuǎn)換預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的庫。因此,該解決方案使用熟悉且可訪問的開發(fā)環(huán)境。團(tuán)隊甚至可以使用我們的入門指南,從STM32CubeMX開始使用X-CUBE-AI,并快速嘗試最新功能。因此,更多的應(yīng)用依賴于我們的技術(shù)。例如,早期版本中引入的對深度量化神經(jīng)網(wǎng)絡(luò)的附加支持很快進(jìn)入了施耐德電氣創(chuàng)建的人數(shù)統(tǒng)計應(yīng)用程序。
STM32Cube.AI v7.3 中有哪些新功能?
STM32Cube.AI v7.3 帶來了一項新功能,允許開發(fā)人員選擇是優(yōu)先考慮 RAM 還是推理時間。由于在以前的版本中引入了擴展層,意法半導(dǎo)體的解決方案優(yōu)化了性能。然而,這也意味著該算法在易失性存儲器中可能具有更大的占用空間。為了讓開發(fā)人員更好地控制他們的應(yīng)用程序,意法半導(dǎo)體在 STM32Cube.AI v7.3中引入了一個新設(shè)置來定義優(yōu)先級。如果用戶選擇“時間”設(shè)置,算法將占用更多 RAM,但推理時間更快。另一方面,選擇“RAM”將具有最小的內(nèi)存占用和最慢的時間。最后,默認(rèn)的“平衡”參數(shù)在兩種方法之間找到中間地帶,提供了一個很好的折衷方案。
根據(jù)我們的基準(zhǔn)測試,在某些情況下,將 RAM 占用空間減少 36% 會使推理時間增加 50%。如果我們看一下比率,使用“時間”設(shè)置時,2 KiB 的 RAM 等于 1 毫秒的推理時間,但在選擇“RAM”時,該比率會顯著惡化。因此,在許多情況下,用戶會選擇“時間”并享受更高的每內(nèi)存性能比。但是,我們知道一些客戶受到RAM的極大限制,并且每千字節(jié)計數(shù)。在這種情況下,工程師很樂意采用較短的推理時間來節(jié)省內(nèi)存,這就是為什么我們努力提供精細(xì)的體驗,幫助開發(fā)人員根據(jù)他們的需求定制應(yīng)用程序,從而進(jìn)一步普及邊緣機器學(xué)習(xí)。
STM32Cube.AI:從研究到實際軟件
什么是神經(jīng)網(wǎng)絡(luò)?
STM32Cube.AI 采用預(yù)先訓(xùn)練的神經(jīng)網(wǎng)絡(luò),并將其轉(zhuǎn)換為STM32 MCU的優(yōu)化代碼。在最簡單的形式中,神經(jīng)網(wǎng)絡(luò)只是一系列層。兩者之間有一個輸入層、一個輸出層以及一個或多個隱藏層。因此,深度學(xué)習(xí)是指具有三層以上層的神經(jīng)網(wǎng)絡(luò),“深度”一詞指向多個中間層。每層包含節(jié)點,每個節(jié)點與下層中的一個或多個節(jié)點互連。因此,簡而言之,信息通過輸入層進(jìn)入神經(jīng),穿過隱藏層,然后從其中一個輸出節(jié)點出來。
什么是量化神經(jīng)網(wǎng)絡(luò)和二值化神經(jīng)網(wǎng)絡(luò)?
為了確定信息如何在網(wǎng)絡(luò)中傳播,開發(fā)人員使用權(quán)重和偏差,即節(jié)點內(nèi)的參數(shù),這些參數(shù)將在數(shù)據(jù)在網(wǎng)絡(luò)中移動時影響數(shù)據(jù)。權(quán)重是系數(shù)。權(quán)重越復(fù)雜,網(wǎng)絡(luò)就越準(zhǔn)確,但它的計算量就越大。每個節(jié)點還使用激活函數(shù)來確定如何轉(zhuǎn)換輸入值。因此,為了提高性能,開發(fā)人員可以使用量化神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)使用較低精度的權(quán)重。最有效的量化神經(jīng)網(wǎng)絡(luò)是二值化神經(jīng)網(wǎng)絡(luò)(BNN),它僅使用兩個值作為權(quán)重和激活:+1和-1。因此,BNN 需要的內(nèi)存占用非常少,但精度也最低。
為什么深度量化神經(jīng)網(wǎng)絡(luò)很重要?
業(yè)界面臨的挑戰(zhàn)是找到一種方法來簡化神經(jīng)網(wǎng)絡(luò),以便在微控制器上運行推理操作,而不會犧牲準(zhǔn)確性,使網(wǎng)絡(luò)變得無用。為了解決這個問題,意法半導(dǎo)體和意大利薩勒諾大學(xué)的研究人員研究了深度量化的神經(jīng)網(wǎng)絡(luò)。DQNN 僅使用較小的權(quán)重(從 1 位到 8 位),并且可以包含僅具有一些二值化層的混合結(jié)構(gòu),而其他結(jié)構(gòu)則使用更高的位寬浮點量化器。研究論文1意法半導(dǎo)體和大學(xué)的研究人員展示了哪種混合結(jié)構(gòu)可以提供最佳結(jié)果,同時實現(xiàn)最低的RAM和ROM占用空間。
新版本的 STM32Cube.AI 是這些研究工作的直接結(jié)果。事實上,版本 7.2 支持深度量化神經(jīng)網(wǎng)絡(luò),可以在不破壞準(zhǔn)確性的情況下從二值化層的效率中受益。開發(fā)人員可以使用QKeras或Larq等框架來預(yù)訓(xùn)練他們的網(wǎng)絡(luò),然后再通過X-CUBE-AI處理它。遷移到DQNN將有助于節(jié)省內(nèi)存使用量,從而使工程師能夠選擇更具成本效益的設(shè)備,或者為整個系統(tǒng)使用一個微控制器而不是多個組件。因此,STM32Cube.AI 繼續(xù)為邊緣計算平臺帶來更強大的推理功能。
從演示應(yīng)用到市場趨勢
如何使人數(shù)統(tǒng)計演示?
意法半導(dǎo)體和施耐德電氣最近合作開發(fā)了一款利用DQNN的人數(shù)統(tǒng)計應(yīng)用程序。該系統(tǒng)通過處理熱傳感器圖像在STM32H7上運行推理,以確定人們是否越過假想線以及決定他們是進(jìn)入還是離開的方向。組件的選擇非常出色,因為它促進(jìn)了相對較低的物料清單。施耐德沒有轉(zhuǎn)向更昂貴的處理器,而是使用深度量化的神經(jīng)網(wǎng)絡(luò)來顯著降低其內(nèi)存和 CPU 使用率,從而縮小了應(yīng)用程序的占用空間,并為更具成本效益的解決方案打開了大門。兩家公司在 2022 年 《》 月的 TinyML 會議上展示了該演示。
如何克服機器學(xué)習(xí)在邊緣的炒作?
意法半導(dǎo)體是第一家提供類似 STM32Cube.AI 解決方案的MCU制造商,根據(jù)MLCommons基準(zhǔn)測試,我們的工具性能繼續(xù)名列前茅。正如從學(xué)術(shù)論文到軟件發(fā)布的最新旅程所表明的那樣,我們業(yè)績背后的原因是我們優(yōu)先考慮影響實際應(yīng)用的有意義的研究。這是關(guān)于使人工智能實用且易于訪問,而不是一個流行語。Gartner的市場分析師2預(yù)計從事嵌入式AI的公司將很快經(jīng)歷“幻滅的低谷”。今天的發(fā)布和施耐德的演示應(yīng)用表明,意法半導(dǎo)體率先以研究為動力,克服了這一缺陷,成為實際應(yīng)用和深思熟慮優(yōu)化的中心。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
8385瀏覽量
164657 -
計算機
+關(guān)注
關(guān)注
19文章
7809瀏覽量
93222 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8554瀏覽量
136980
發(fā)布評論請先 登錄
STM32Cube.AI v7.3能夠在推理時間和RAM之間找到完美的平衡
評論