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