如何采用帶專用CNN加速器的AI微控製器實現CNN的硬件轉換
發布時間:2023-05-15 來源:亞德諾半導體 責任編輯:lina
【導讀】本文重點解釋如何使用硬件轉換卷積神經網絡(CNN),並特別介紹使用帶CNN硬件加速器的人工智能(AI)微控製器在物聯網(IoT)邊緣實現人工智能應用所帶來的好處。
AI應用通常需要消耗大量能源,並以服務器農場或昂貴的現場可編程門陣列(FPGA)為載體。AI應用的挑戰在於提高計算能力的同時保持較低的功耗和成本。當前,強大的智能邊緣計算正在使AI應用發生巨大轉變。與傳統的基於固件的AI計算相比,以基於硬件的卷積神經網絡加速器為載體的智能邊緣AI計算具備驚人的速度和強大的算力,開創了計算性能的新時代。這是因為智能邊緣計算能夠讓傳感器節點在本地自行決策而不受5G和Wi-Fi網絡數據傳輸速率的限製,為實現之前難以落地的新興技術和應用場景提供了助力。例如,在偏遠地區,傳感器級別的煙霧/火災探測或環境數據分析已成為現實。這些應用支持電池供電,能夠工作很多年的時間。本文通過探討如何采用帶專用CNN加速器的AI微控製器實現CNN的硬件轉換來說明如何實現這些功能。
采用超低功耗卷積神經網絡加速器的人工智能微控製器
MAX78000是一款有超低功耗CNN加速器的AI微控製器片上係統,能在資源受限的邊緣設備或物聯網應用中實現超低功耗的神經網絡運算。其應用場景包括目標檢測和分類、音頻處理、聲音分類、噪聲消除、麵部識別、基於心率等健康體征分析的時間序列數據處理、多傳感器分析以及預測性維護。
圖1為MAX78000的框圖,其內核為帶浮點運算單元的Arm® Cortex®-M4F內核,工作頻率高達100 MHz。為了給應用提供足夠的存儲資源,MAX78000還配備了512 kB的閃存和128 kB的SRAM。該器件提供多個外部接口,例如I2C、SPI、UART,以及用於音頻的I2S。此外,器件還集成了60 MHz的RISC-V內核,可以作為一個智能的直接存儲器訪問(DMA)引擎從/向各個外圍模塊和存儲(包括閃存和SRAM)複製/粘貼數據。由於RISC-V內核可以對AI加速器所需的
圖1.MAX78000的結構框圖
傳感器數據進行預處理,因而Arm內核在此期間可以處於深度睡眠模式。推理結果也可以通過中斷觸發Arm內核在主應用程序中執行操作,通過無線傳輸傳感器數據或向用戶發送通知。
具備用於執行卷積神經網絡推理的專用硬件加速器單元是MAX7800x係列微控製器的一個顯著特征,這使其有別於標準的微控製器架構。該CNN硬件加速器可以支持完整的CNN模型架構以及所有必需的參數(權重和偏置),配備了64個並行處理器和一個集成存儲器。集成存儲器中的442 kB用於存儲參數,896 kB用於存儲輸入數據。不僅存儲在SRAM中的模型和參數可以通過固件進行調整,網絡也可以實時地通過固件進行調整。器件支持的模型權重為1位、2位、4位或8位,存儲器支持容納多達350萬個參數。加速器的存儲功能使得微控製器無需在連續的數學運算中每次都要通過總線獲取相關參數——這樣的方式通常伴有高延遲和高功耗,代價高昂。CNN加速器可以支持32層或64層的網絡,具體層數取決於池化函數。每層的可編程圖像輸入/輸出大小最多為1024 × 1024像素。
CNN硬件轉換:功耗和推理速度比較
CNN推理是一項包含大型矩陣線性方程運算的複雜計算任務。Arm Cortex-M4F微控製器的強大能力可以使得CNN推理在嵌入式係統的固件上運行。但這種方式也有一些缺點:在微控製器上運行基於固件的CNN推理時,計算命令和相關參數都需要先從存儲器中檢索再被寫回中間結果,這會造成大量功耗和時延。
表1對三種不同解決方案的CNN推理速度和功耗進行了比較。所用的模型基於手寫數字識別訓練集MNIST開kai發fa,可ke對dui視shi覺jiao輸shu入ru數shu據ju中zhong的de數shu字zi和he字zi母mu進jin行xing分fen類lei以yi獲huo得de準zhun確que的de輸shu出chu結jie果guo。為wei確que定ding功gong耗hao和he速su度du的de差cha異yi,本ben文wen對dui三san種zhong解jie決jue方fang案an所suo需xu的de推tui理li時shi間jian進jin行xing了le測ce量liang。
表1.手寫數字識別的CNN推理時間和推理功耗,基於MNIST數據集
方案一使用集成Arm Cortex-M4F處理器的MAX32630進行推理,其工作頻率為96 MHz。方案二使用MAX78000的CNN硬件加速器進行推理,其推理速度(即數據輸入與結果輸出之間的時間)比方案一加快了400倍,每次推理所需的能量也僅為方案一的1/1100。方案三對MNIST網絡進行了低功耗優化,從而最大限度地降低了每次推理的功耗。雖然方案三推理結果的準確性從99.6%下降到了95.6%,但其速度快了很多,每次推理隻需0.36 ms,推理功耗降也低至僅1.1 µW。兩節AA堿性電池(總共6 Wh能量)可以支持應用進行500萬次的推理(忽略係統其它部分的功耗)。
這些數據說明了硬件加速器的強大計算能力可以大大助益無法利用或連接到連續電源的應用場景。MAX78000就是這樣一款產品,它支持邊緣AI處理,無需大量功耗和網絡連接,也無需冗長的推理時間。
MAX78000 AI微控製器的使用示例
MAX78000支zhi持chi多duo種zhong應ying用yong,下xia麵mian本ben文wen圍wei繞rao部bu分fen用yong例li展zhan開kai討tao論lun。其qi中zhong一yi個ge用yong例li是shi設she計ji一yi個ge電dian池chi供gong電dian的de攝she像xiang頭tou,需xu要yao能neng檢jian測ce到dao視shi野ye中zhong是shi否fou有you貓mao出chu現xian,並bing能neng夠gou通tong過guo數shu字zi輸shu出chu打da開kai貓mao門men允yun許xu貓mao進jin入ru房fang屋wu。
圖2為該設計的示例框圖。在本設計中,RISC-V內核會定期開啟圖像傳感器並將圖像數據加載到MAX78000的CNN加速器中。如果係統判斷貓出現的概率高於預設的閾值,則打開貓門然後回到待機模式。
圖2.智能寵物門框圖
開發環境和評估套件
邊緣人工智能應用的開發過程可分為以下幾個階段:
第一階段:AI——網絡的定義、訓練和量化
第二階段:Arm固件——將第一階段生成的網絡和參數導入C/C++應用程序,創建並測試固件
開發過程的第一階段涉及建模、訓練和評估AI模型等環節。此階段開發人員可以利用開源工具,例如 PyTorch 和 TensorFlow。MAX78000 的GitHub網頁也提供全麵的資源幫助用戶在考慮其硬件規格的同時使用PyTorch構建和訓練AI網絡。網頁也提供一些簡單的AI網絡和應用,例如麵部識別(Face ID),供用戶參考。
圖3顯示了采用PyTorch進行AI開發的典型過程。首先是對網絡進行建模。必須注意的是,MAX7800x微控製器並非都配置了支持所有PyTorch數據操作的相關硬件。因此,必須首先將ADI公司提供的ai8x.py文件包含在項目中,該文件包含MAX78000所需的PyTorch模塊和運算符。基於此可以進入下一步驟構建網絡,使用訓練數據對網絡進行訓練、評估和量化。這一步驟會生成一個檢查點文件,其中包含用於最終綜合過程的輸入數據。最後一步是將網絡及其參數轉換為適合CNN硬件加速器的形式。值得注意的是,雖然任何PC(筆記本、服務器等)都可用於訓練網絡,但如果沒有CUDA顯卡,訓練網絡可能會花費很長的時間——即使對於小型網絡來說也有可能需要幾天甚至幾周的時間。
開發過程的第二階段是通過將數據寫入CNN加速器並讀取結果的機製來創建應用固件。第一階段創建的文件通過#include指令集成到C/C++項目中。微控製器的開發環境可使用Eclipse IDE和GNU工具鏈等開源工具。ADI公司提供的軟件開發套件(Maxim Micros SDK (Windows))也已經包含了所有開發必需的組件和配置,包括外設驅動以及示例說明,幫助用戶簡化應用開發過程。
圖3.AI開發過程
成功通過編譯和鏈接的項目可以在目標硬件上進行評估。ADI開發了兩種不同的硬件平台可供選用:圖4為 MAX78000EVKIT ,圖5為 MAX78000FTHR ,一個稍小的評估板。每個評估板都配有一個VGA攝像頭和一個麥克風。
圖4.MAX78000評估套件
圖5.MAX78000FTHR評估套件
結論
以前,AI應用必須以昂貴的服務器農場或FPGA為載體,並消耗大量能源。現在,借助帶專用CNN加速器的MAX78000係列微控製器,AI應用依靠單組電池供電就可以長時間運行。MAX78000係列微控製器在能效和功耗方麵的性能突破大大降低了邊緣AI的實現難度,使得新型邊緣AI應用的驚人潛力得以釋放。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall




