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