MAX78000卷積神經(jīng)網(wǎng)絡(luò)的硬件轉(zhuǎn)換
AI應(yīng)用程序需要大量的能源消耗,通常是以服務(wù)器儲存所或昂貴的現(xiàn)場可編程門陣列的形式出現(xiàn)。挑戰(zhàn)在于提高計算能力,同時保持低能耗和低成本?,F(xiàn)在,人工智能的應(yīng)用正在看到強(qiáng)大的智能邊緣計算帶來的巨大變化。與傳統(tǒng)的基于硬件的計算方法相比,基于硬件的卷積神經(jīng)網(wǎng)絡(luò)加速度正以其令人印象深刻的速度和功率,為計算性能開創(chuàng)一個新的時代。通過使傳感器節(jié)點能夠自己做出決定,智能邊緣技術(shù)極大地降低了5G和Wi-Fi網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率。這正在為以前不可能的新興技術(shù)和獨特應(yīng)用提供動力。例如,偏遠(yuǎn)地區(qū)的煙霧/火災(zāi)探測器或傳感器層面的環(huán)境數(shù)據(jù)分析都已成為現(xiàn)實--所有這些都隨著電池的使用年限而發(fā)生變化。為了檢驗這些功能是如何實現(xiàn)的,本文探索了一個CNN的硬件轉(zhuǎn)換,一個專用的人工智能微控制器。
人工智能微控制器與超低功率卷繞神經(jīng)網(wǎng)絡(luò)加速器
MAX78000 是一個人工智能微控制器與超低功率CNN加速器,在芯片上的先進(jìn)系統(tǒng)。它使神經(jīng)網(wǎng)絡(luò)能夠在資源受限的邊緣設(shè)備或iot應(yīng)用超低功率。這些應(yīng)用包括目標(biāo)檢測和分類、音頻處理、聲音分類、噪聲消除、面部識別、心率/健康信號分析的時序數(shù)據(jù)處理、多傳感器分析和預(yù)測維護(hù)。
MAX78000由一個ARM提供高達(dá)100兆赫的動力。 帶有浮點單元的M4F芯。為了給應(yīng)用程序提供足夠的內(nèi)存資源,這個版本的微控制器配備了512kb的閃存和128kb的SRAM。包括多個外部接口,例如,對音頻應(yīng)用來說很重要的ICS,SPIS,UART,以及IVOS。此外,還有一個集成的60兆赫RSCV核心。RSCS-V從/向單個外圍塊和內(nèi)存(閃存和SRAM)復(fù)制數(shù)據(jù),使其成為一個智能的直接內(nèi)存訪問(DMA)引擎。RSCS-V核心為人工智能加速器預(yù)處理傳感器數(shù)據(jù),因此ARM核心在此期間可以處于深度睡眠模式。必要時,推理結(jié)果可以通過中斷觸發(fā)ARM核心,ARMCPU隨后在主應(yīng)用程序中執(zhí)行操作,無線傳遞傳感器數(shù)據(jù),或通知用戶。
用于執(zhí)行卷繞神經(jīng)網(wǎng)絡(luò)推理的硬件加速器單元是MAX7800X系列微控制器的一個顯著特點,它使它與標(biāo)準(zhǔn)微控制器體系結(jié)構(gòu)和外圍設(shè)備不同。這個硬件加速器可以支持完整的CNN模型架構(gòu)以及所有所需的參數(shù)(權(quán)重和偏差)。CNN加速器配備了64個并行處理器和一個集成存儲器,該存儲器有442kb,用于存儲參數(shù),并用于輸入數(shù)據(jù)。由于模型和參數(shù)存儲在SRAM內(nèi)存中,可以通過固件進(jìn)行調(diào)整,網(wǎng)絡(luò)可以實時適應(yīng)。根據(jù)模型中是否使用1-、2-、4-或8位權(quán)重,這個內(nèi)存足以容納350萬個參數(shù)。由于存儲能力是加速器不可或缺的一部分,因此不需要在每次連續(xù)的數(shù)學(xué)操作中通過微控制器總線結(jié)構(gòu)提取參數(shù)。由于延遲時間長和耗電量高,這項活動成本高昂。神經(jīng)網(wǎng)絡(luò)加速器可以支持32或64層,取決于池功能。每層可編程圖像的輸入/輸出尺寸可達(dá)1024x1024像素。
CNN硬件轉(zhuǎn)換:能耗和推理速度比較
CNN推理是一個復(fù)雜的計算任務(wù),它包含了矩陣形式的大型線性方程組.利用ARM cortex-M4F微控制器的力量,CNN在嵌入式系統(tǒng)固件上的推理是可能的;然而,有一些缺點需要考慮。由于基于固守器的推理運(yùn)行在微控制器上,能量和時間被大量消耗,因為計算所需的命令,以及相關(guān)的參數(shù)數(shù)據(jù),需要從內(nèi)存中檢索,然后才能將中間的結(jié)果寫回去。
表1給出了使用三種不同解決方案的CNN推理速度和能耗的比較。這個例子模型是利用一個手寫的數(shù)字識別訓(xùn)練集MPERE開發(fā)的,它將數(shù)字和字母從視覺輸入數(shù)據(jù)中分類,以獲得一個準(zhǔn)確的輸出結(jié)果。測量了每種處理器類型所需的推理時間,以確定能耗和速度之間的差異。
在第一個方案中,使用了一個ARM皮質(zhì)M4F處理器集成到以96兆赫運(yùn)行的MAX32630,用于計算推理。在第二種情況下,為了處理計算,使用了MAX78000的基于硬件的CNN加速器。推理速度--即在網(wǎng)絡(luò)輸入中顯示視覺數(shù)據(jù)與結(jié)果輸出之間的時間--在使用帶有硬件加速器的微控制器(MAX78000)時降低了400倍。此外,每個推論所需的能量是一個低1100系數(shù)。在第三個比較中,每個推理的最小能耗優(yōu)化了MPERE網(wǎng)絡(luò)。結(jié)果的準(zhǔn)確性從99.6%下降到95.6%.然而,網(wǎng)絡(luò)速度要快得多,每次推斷只需要0.36MS。每一個推論的能量消耗量減少到只有1.1秒。在使用兩個AA堿性電池(共6小時能量)的應(yīng)用中,500萬推論是可能的(省去電路其余部分的電源)。
這些數(shù)據(jù)說明了硬件加速計算的力量。硬件加速計算是無法利用連接或連續(xù)電源的應(yīng)用程序的寶貴工具。MAX78000支持邊緣處理,不需要大量的能源、寬帶互聯(lián)網(wǎng)接入或長時間的推理。
MAX78000人工智能微控制器用例
MAX78000支持大量潛在的應(yīng)用程序,但是讓我們以下面的用例為例來研究。要求是設(shè)計一個電池驅(qū)動的相機(jī),它可以檢測到貓在圖像傳感器的視野中,從而能夠通過貓門的數(shù)字輸出進(jìn)入房子。
發(fā)展環(huán)境和評價包
開發(fā)邊緣應(yīng)用程序的過程可分為以下幾個階段:
第一階段:人工智能-網(wǎng)絡(luò)的定義、培訓(xùn)和量化
第2階段:ARM固件--將第1階段生成的網(wǎng)絡(luò)和參數(shù)納入C/C++應(yīng)用程序,并創(chuàng)建和測試應(yīng)用程序固件
開發(fā)過程的第一部分涉及建模、培訓(xùn)和評估AI模型。在這個階段,開發(fā)者可以利用開源工具.該數(shù)據(jù)庫提供了全面的資源,以幫助用戶在考慮到該系統(tǒng)硬件規(guī)格的情況下,在使用PYOTUB開發(fā)環(huán)境建立和培訓(xùn)AI網(wǎng)絡(luò)方面規(guī)劃自己的旅程。?MAX78000 .存儲庫中包含了一些簡單的AI網(wǎng)絡(luò)和應(yīng)用程序,如面部識別(AMAXID)。
首先,對網(wǎng)絡(luò)進(jìn)行建模。必須注意的是,并非所有MAX7800X微控制器都有硬件,支持在PIOTO環(huán)境中可用的所有數(shù)據(jù)操作。由于這個原因,由模擬設(shè)備提供的文件像8X.PY必須首先包括在項目中。這個文件包含使用MAX78000所需的PUTR模塊和操作員?;诖嗽O(shè)置,可以建立網(wǎng)絡(luò),然后使用培訓(xùn)數(shù)據(jù)進(jìn)行培訓(xùn)、評估和量化。這個步驟的結(jié)果是一個檢查點文件,其中包含最終合成過程的輸入數(shù)據(jù)。在這個最后的過程中,網(wǎng)絡(luò)及其參數(shù)被轉(zhuǎn)換成適合于CNN硬件加速器的形式。這里應(yīng)該提到的是,網(wǎng)絡(luò)訓(xùn)練可以用任何個人電腦完成(筆記本電腦,服務(wù)器等)。然而,如果不支持海關(guān)數(shù)據(jù)自動化系統(tǒng)的圖形卡,這可能需要很多時間--即使對于小型網(wǎng)絡(luò),幾天甚至幾周都是完全現(xiàn)實的。
在開發(fā)過程的第二階段,利用將數(shù)據(jù)寫入CNN加速器并讀取結(jié)果的機(jī)制創(chuàng)建了應(yīng)用固件。在第一階段創(chuàng)建的文件通過#包含指令被集成到C/C++項目中。開源工具,如EXEXESTI和GNU工具鏈也被用于微控制器的開發(fā)環(huán)境。工業(yè)發(fā)展署提供一套軟件開發(fā)工具包作為已經(jīng)包含所有必要組件和配置的安裝程序。軟件開發(fā)包還包括外圍驅(qū)動程序以及示例和指令,以方便開發(fā)應(yīng)用程序的過程。
結(jié)論
以前,人工智能的應(yīng)用程序需要大量的能源消耗,如服務(wù)器儲存所或昂貴的FPGA?,F(xiàn)在,有了MAX78000,它有可能從單個電池上為AI應(yīng)用程序提供長時間的動力。在能源效率和電力方面的這種突破使得Edge AI比以往任何時候都更容易獲得,并釋放出以前不可能的新的和令人興奮的Edge AI應(yīng)用的潛力。