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