人工智能(AI)作為討論的關鍵話題的出現可能是由于OpenAI等大規模AI引擎及其生成式預訓練轉換器(GPT)語言模型架構的能力不斷增強。雖然這些系統在數據中心級別運行,GPU 提供處理能力,但較小規模的 AI 工作負載可以提高高度資源受限的嵌入式終端產品的性能和用戶體驗。
在支持人工智能的電子貓瓣中,ML可以被訓練來區分一只貓和另一只貓,只為允許進入的貓打開門。
以支持 AI 的電子貓瓣為例。使用機器學習,首先要對其進行訓練,以將貓與其他動物或物體區分開來。通過進一步的訓練,它可以學會將一只貓與所有其他貓區分開來,并單獨為那只貓打開大門。結果是家里對其他貓是安全的,我們的貓不需要戴RFID項圈或類似不舒服的舊技術就可以進入家。在這里,人工智能極大地改善了寵物及其主人的用戶體驗。
如果這個或其他人工智能增強的嵌入式應用程序要使用電池供電,那么低功耗是一個關鍵要求。如今,大多數此類小型且資源受限的應用都將基于通用微控制器。雖然可以使用微控制器實現機器學習功能,但這些設備難以快速執行 AI 任務,并且在執行 AI 功能時消耗過多的功率。服務器級 GPU 提供了嵌入式應用所需的處理能力,但遠遠超出了其成本和功耗預算。
為了創建電池供電、支持 AI 的產品,設計人員需要一種更好的方法來實現機器學習工作負載,同時仍保留通用微控制器的熟悉工具和指令集。Alif Semiconductor 開發的一種方法將新的處理架構與 Arm Cortex-M 實時內核相結合,以提供一類新的 AI 優化微控制器,輕松應對在電池電源上實現 AI 的挑戰。我們將展示與傳統微控制器相比,這種方法在執行 AI 工作負載時如何提高性能和能效。
AI 工作負載的特殊性
GPU 之所以用于大規模 AI 部署,是因為它們能夠并行執行許多進程,這對于為 AI 創建有效的訓練環境至關重要。神經網絡通過同時處理多個大型數據集來學習。
例如,即使是單個圖像也是一組大型數據集,這些數據集由圖像的高度和寬度以及每個像素上的數據定義。當我們將其升級為視頻時,我們將像素數據的變化作為時間的函數添加到此訓練過程中。與并行處理 GPU 不同,通用微控制器中的標準 CPU 串聯處理數據,一次掃描一個像素,而不是像 GPU 那樣感知整個畫面。這意味著,為了像相對較慢的GPU一樣快速地執行相同的圖像識別任務(例如,準確識別寵物貓),微控制器的CPU在掃描每個像素時必須以更高的速度運行。
這種操作往往會長時間將 CPU 內核驅動到其最大工作頻率。由于現在幾乎所有的處理能力都分配給了人工智能任務,微控制器的整體性能可能會受到影響。同時,設備的功耗將增加到電池運行不再可行的程度。這表明在基于傳統通用微控制器的電池供電產品中實現有用的 AI 功能的難度。
TinyML 支持簡單的 AI 工作負載,但可能無法解決貓瓣場景
雖然構建基于通用微控制器的 AI 增強型電池供電產品具有挑戰性,但絕非不可能。一種解決方案是降低工作負載的復雜性,直到設備的功耗和性能可控為止。TinyML 是機器學習的一個子集,其運行功率約為毫瓦,而不是用于大規模 AI 工作負載的 GPU 消耗的數十瓦功率。
通過利用專門設計的軟件庫進行資源受限的 AI 訓練和實施,TinyML 使電池供電的設備能夠運行簡單的 AI 工作負載,例如使用加速度計進行手勢識別——這種類型的模型可用于智能可穿戴設備,以區分用戶執行的不同練習。
也就是說,TinyML 工作負載很簡單,并且比面部識別等高級 AI 任務需要更少的內存和處理能力。雖然有針對圖像處理的 TinyML 工作負載,例如對象跟蹤,但這些工作負載還沒有達到為我們的 AI 增強型貓瓣識別單個貓的水平。TinyML在改善最終產品的用戶體驗方面具有許多優勢,但電池供電所需的低功耗是以犧牲更高級別的AI功能為代價的。
Arm Cortex-M55 和 Helium 在一定程度上支持類似 GPU 的操作
在設計 AI 增強產品時,另一種解決方案是選擇配備專為該任務而設計的處理內核的微控制器,例如 Arm Cortex-M55。得益于新的矢量指令集擴展,即 Arm 的 Helium 技術,Cortex-M55 器件能夠并行執行算術運算,從而實現與 GPU 類似的操作,盡管規模較小。
這一點,以及微控制器架構的其他發展,如Cortex-M55浮點單元(FPU),使Cortex-M55內核能夠處理比典型的TinyML應用更具挑戰性的AI工作負載。雖然該解決方案標志著使用通用微控制器時可以實現的 AI 工作負載復雜性的顯著提高,但仍然存在功耗問題,超出了電池供電產品的可行范圍。
通用微控制器的 AI 加速器
解決這個問題的秘訣在于 Arm 設計的新處理架構:Ethos-U microNPU。這種專用的神經處理單元大大增強了 Cortex-M 內核的性能,可用作嵌入式物聯網設備的 AI/ML 加速器。在需要 Cortex-M 微控制器控制功能的 AI 增強型最終產品中,AI/ML 計算可以直接在這種新的 microNPU 架構上運行,其效率比在 Cortex-M CPU 上要高得多。
將 AI/ML 工作負載轉移到此特定于功能的內核還允許主 Cortex-M 內核在睡眠或低功耗模式下運行,從而在 AI 運行期間提供大量節能。此外,該 microNPU 可以使用 AI 篩選數據,因此只有在 microNPU 推斷出應用中存在需求時,才會啟動 Cortex-M 內核的更高功能。通過使用 Ethos-U microNPU,通用 Cortex-M 微控制器不會因 AI/ML 工作負載而負擔過重,并且可以在不犧牲性能或電池壽命的情況下運行標準操作。
首批采用這種架構的微控制器是 Alif Semiconductor 的 Ensemble 系列器件。在實際測試中,發現與其他 Cortex-M 設備相比,它們將 Cortex-M55 實時內核和 Ethos-U55 microNPU 相結合,可將 AI 工作負載的能耗降低 90%。
得益于 microNPU 中的離線優化和先進的無損模型壓縮算法,系統內存需求減少多達 90%,機器學習模型大小減少多達 75%,從而支持了這一點。該系列為 32 位微控制器領域增加了一類新的器件,這些器件保留了通用微控制器的熟悉性,但具有高能效 AI/ML 推理的額外優勢。
在運行 8 位 16×16 矩陣乘法的 Alif Ensemble 開發套件上的真實示例的現場演示中,通過在 Ensemble E3 內的 Cortex-M55 上啟用氦矢量加速,Arm 能夠借助 CMSIS-DSP 原生庫函數和編譯器優化,將執行時間縮短多達 82%。
AI/ML 工作負載示例
通過堆疊多組 Cortex-M 和 Ethos-U 處理器配對,可以實現不同級別的 AI/ML 推理。例如,Ensemble 系列中最基本的器件使用單個 Cortex-M55 實時內核,并由單個 Ethos-U55 microNPU AI/ML 加速器提供支持。Ensemble E3 是這個新的硬件加速 MCU 系列中第一個進入生產的產品。基準測試表明,在 ImageNet 數據集上訓練的 MobileNet V2 1.0 模型使用 Alif 的 microNPU 加速器執行速度比在單獨工作的 Cortex-M55 MCU 上執行的速度快 135 倍,執行時間為 20 毫秒,而使用 Cortex-M55 內核時則為近 3 秒。
請記住,Cortex-M55 的運行性能比上一代 CM 內核高得多。每次推理使用的測量能量也急劇下降。加速操作的能效提高了 108 倍,功耗僅為 0.86mJ,而功耗為 62.4mJ。
真正有趣的是,當我們考慮該設備的雙核版本時,它建立在以前的微控制器的機器學習功能之上,增加了第二個更強大的 Cortex-M55 內核,并帶有自己的按比例縮放的 Ethos-U microNPU。與第一個內核結合使用時,可以創建兩層推理系統,用于運行較低級別和較高級別的 AI/ML 工作負載。
在限制功耗的同時執行 AI/ML 任務的另一個關鍵是低功耗模式,在這種模式下,大部分芯片都處于斷電狀態。由于只有實時時鐘和喚醒源仍處于活動狀態,這些微控制器的功耗約為 1.0 μA,使其成為電池供電系統的理想解決方案。當系統需要喚醒時,Cortex-M55內核可以以超低功耗運行,只需指示Ethos-U microNPU執行推理任務,該任務將決定是否應該打開更多的Ensemble設備。
現在考慮一下這項技術對我們之前談到的人工智能電子貓瓣的影響。在我們之前的例子中,我們可以預期貓最初是通過某種形式的運動感應、視頻監控或兩者的組合檢測到的。持續的視頻源和相關的 AI 推理會消耗大量電量,因為它試圖識別我們的貓,無論這只貓是否還在幀中。
為了節省功耗,雙核 Ensemble 微控制器可以使用第一個 Cortex-M55 內核的喚醒功能,首先使用低功耗傳感器檢測貓瓣前是否有運動。
一旦檢測到運動,第一個 Cortex-M55 內核可以喚醒低級推理系統的 Ethos-U microNPU,以捕獲幾幀視頻源并分析數據以檢查是否有貓在那里;它可能是另一只動物或從相機前經過的異物。如果在查看視頻后發現一只貓已經接近了貓瓣,第一個 Cortex-M55 可以喚醒更高級別的推理系統的第二個 Ethos-U,以檢查它是否是我們的貓。
如果無法識別貓,系統可以通過恢復到較低級別的運動檢測系統來節省能源,直到新物體進入框架。如果確定是我們的貓,那么第二個microNPU可以喚醒第二個Cortex-M55系統,并激活機制讓貓進來。Cat 及其系列仍然可以獲得支持 AI 的設備的卓越用戶體驗,但通過使用 Ensemble 設備中新穎的微控制器設計支持的兩層 AI 推理系統,可以顯著降低功耗。
當面臨在電池供電的終端產品中實現機器學習的困難時,這種處理架構支持的兩層推理系統可以解決高功耗和處理能力有限的問題。
審核編輯:劉清
-
微控制器
+關注
關注
48文章
7560瀏覽量
151500 -
mcu
+關注
關注
146文章
17167瀏覽量
351395 -
電池供電
+關注
關注
0文章
255瀏覽量
22166 -
機器學習
+關注
關注
66文章
8421瀏覽量
132710
發布評論請先 登錄
相關推薦
評論