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