精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何采用帶專用CNN加速器的AI微控制器實現CNN的硬件轉換

analog_devices ? 來源:未知 ? 2023-05-16 01:05 ? 次閱讀

本文重點解釋如何使用硬件轉換卷積神經網絡(CNN),并特別介紹使用帶CNN硬件加速器的人工智能(AI)微控制器物聯網(IoT)邊緣實現人工智能應用所帶來的好處。

AI應用通常需要消耗大量能源,并以服務器農場或昂貴的現場可編程門陣列(FPGA)為載體。AI應用的挑戰在于提高計算能力的同時保持較低的功耗和成本。當前,強大的智能邊緣計算正在使AI應用發生巨大轉變。與傳統的基于固件的AI計算相比,以基于硬件的卷積神經網絡加速器為載體的智能邊緣AI計算具備驚人的速度和強大的算力,開創了計算性能的新時代。這是因為智能邊緣計算能夠讓傳感器節點在本地自行決策而不受5GWi-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加速器所需的

90f36a82-f342-11ed-90ce-dac502259ad0.svg

圖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開發,可對視覺輸入數據中的數字和字母進行分類以獲得準確的輸出結果。為確定功耗和速度的差異,本文對三種解決方案所需的推理時間進行了測量。

911a6e3e-f342-11ed-90ce-dac502259ad0.png

表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支持多種應用,下面本文圍繞部分用例展開討論。其中一個用例是設計一個電池供電的攝像頭,需要能檢測到視野中是否有貓出現,并能夠通過數字輸出打開貓門允許貓進入房屋。

圖2為該設計的示例框圖。在本設計中,RISC-V內核會定期開啟圖像傳感器并將圖像數據加載到MAX78000的CNN加速器中。如果系統判斷貓出現的概率高于預設的閾值,則打開貓門然后回到待機模式。

9130d598-f342-11ed-90ce-dac502259ad0.svg

圖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))也已經包含了所有開發必需的組件和配置,包括外設驅動以及示例說明,幫助用戶簡化應用開發過程。

9147db76-f342-11ed-90ce-dac502259ad0.svg

圖3.AI開發過程

成功通過編譯和鏈接的項目可以在目標硬件上進行評估。ADI開發了兩種不同的硬件平臺可供選用:圖4為 MAX78000EVKIT ,圖5為 MAX78000FTHR ,一個稍小的評估板。每個評估板都配有一個VGA攝像頭和一個麥克風。

915eb2ba-f342-11ed-90ce-dac502259ad0.jpg

圖4.MAX78000評估套件

91700948-f342-11ed-90ce-dac502259ad0.jpg

圖5.MAX78000FTHR評估套件

結論

以前,AI應用必須以昂貴的服務器農場或FPGA為載體,并消耗大量能源。現在,借助帶專用CNN加速器的MAX78000系列微控制器,AI應用依靠單組電池供電就可以長時間運行。MAX78000系列微控制器在能效和功耗方面的性能突破大大降低了邊緣AI的實現難度,使得新型邊緣AI應用的驚人潛力得以釋放。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 亞德諾
    +關注

    關注

    6

    文章

    4680

    瀏覽量

    15929

原文標題:如何采用帶專用CNN加速器的AI微控制器實現CNN的硬件轉換

文章出處:【微信號:analog_devices,微信公眾號:analog_devices】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    從版本控制到全流程支持:揭秘Helix Core如何成為您的創意加速器

    加速器
    龍智DevSecOps
    發布于 :2024年11月26日 13:42:47

    適用于數據中心應用中的硬件加速器的直流/直流轉換器解決方案

    電子發燒友網站提供《適用于數據中心應用中的硬件加速器的直流/直流轉換器解決方案.pdf》資料免費下載
    發表于 08-26 09:38 ?0次下載
    適用于數據中心應用中的<b class='flag-5'>硬件加速器</b>的直流/直流<b class='flag-5'>轉換器</b>解決方案

    MAX78002人工智能微控制器特性亮點概述

    ,同時僅消耗毫焦級能量。 MAX78002 是一款先進的片上系統,配備 FPU CPU 的 Arm Cortex-M4,具有超低功耗深度神經網絡加速器實現高效系統控制
    的頭像 發表于 07-11 09:25 ?834次閱讀
    MAX78002人工智能<b class='flag-5'>微控制器</b>特性亮點概述

    CNN的定義和優勢

    卷積神經網絡(Convolutional Neural Networks, CNN)作為深度學習領域的核心成員,不僅在學術界引起了廣泛關注,更在工業界尤其是計算機視覺領域展現出了巨大的應用價值。關于
    的頭像 發表于 07-05 17:37 ?4166次閱讀

    如何利用CNN實現圖像識別

    卷積神經網絡(CNN)是深度學習領域中一種特別適用于圖像識別任務的神經網絡結構。它通過模擬人類視覺系統的處理方式,利用卷積、池化等操作,自動提取圖像中的特征,進而實現高效的圖像識別。本文將從CNN的基本原理、構建過程、訓練策略以
    的頭像 發表于 07-03 16:16 ?1172次閱讀

    卷積神經網絡cnn模型有哪些

    (Convolutional Layer) 卷積層是CNN的核心,用于提取圖像的局部特征。卷積操作通過滑動窗口(濾波或卷積核)在輸入數據上進行計算,生成特征圖(Feature Map)。卷積核的權重在訓練
    的頭像 發表于 07-02 15:24 ?667次閱讀

    西門子推出Catapult AI NN軟件,賦能神經網絡加速器設計

    西門子數字化工業軟件近日發布了Catapult AI NN軟件,這款軟件在神經網絡加速器設計領域邁出了重要一步。Catapult AI NN軟件專注于在專用集成電路(ASIC)和芯片級
    的頭像 發表于 06-19 11:27 ?822次閱讀

    芯品#MAX78002 新型AI MCU,能夠使神經網絡以超低功耗運行

    的Maxim超低功耗微控制器相結合。通過這款基于硬件的卷積神經網絡(CNN)加速器,即使是電池供電的應用也可執行AI推理,同時功耗僅為微焦耳
    的頭像 發表于 05-07 17:47 ?7368次閱讀
    芯品#MAX78002 新型<b class='flag-5'>AI</b> MCU,能夠使神經網絡以超低功耗運行

    新唐科技宣布推出基于微控制器的終端AI平臺,加速AI應用普及

    新唐科技宣布推出基于微控制器的終端AI平臺,使AI生態系擴展至微控制器領域。
    的頭像 發表于 04-23 09:58 ?679次閱讀

    Alif Semiconductor宣布推出先進的BLE和Matter無線微控制器,搭載適用于AI/ML工作負載的神經網絡協同處理

    的藍牙?低功耗(BLE)無線微控制器,具有針對AI/ML工作負載進行硬件優化的功能。 ? Balletto MCU采用超小型WLCSP封裝,使制造商有機會植入復雜的人工智
    發表于 04-18 17:51 ?657次閱讀
    Alif Semiconductor宣布推出先進的BLE和Matter無線<b class='flag-5'>微控制器</b>,搭載適用于<b class='flag-5'>AI</b>/ML工作負載的神經網絡協同處理<b class='flag-5'>器</b>

    家居智能化,推動AI加速器的發展

    電子發燒友網報道(文/黃山明)AI加速芯片,也稱為人工智能加速器AI Accelerator),是一種專為執行機器學習和深度學習任務而設計的ASIC或定制化處理
    的頭像 發表于 02-23 00:18 ?4544次閱讀

    粒子加速器加速原理是啥呢?

    粒子加速器加速原理是啥呢? 粒子加速器是一種重要的實驗設備,用于研究粒子物理學、核物理學等領域。其主要原理是通過電場和磁場的作用,對帶電粒子進行加速,在高速運動過程中使其獲得較大的動
    的頭像 發表于 12-18 13:52 ?1990次閱讀

    在軟硬件設計方面,微控制器的PWM功能有何具體差異?

    硬件架構:不同的微控制器可能采用不同的硬件架構,這會影響PWM模塊的設計和實現方式。例如,一些微控制器
    的頭像 發表于 12-13 10:03 ?582次閱讀

    微控制器基礎】——從歷史切入,了解微控制器的五個要素(上)

    微控制器基礎】——從歷史切入,了解微控制器的五個要素(上)
    的頭像 發表于 12-07 10:55 ?552次閱讀
    【<b class='flag-5'>微控制器</b>基礎】——從歷史切入,了解<b class='flag-5'>微控制器</b>的五個要素(上)

    微控制器基礎】—— 從歷史切入,了解微控制器的五個要素(下)

    微控制器基礎】—— 從歷史切入,了解微控制器的五個要素(下)
    的頭像 發表于 12-06 17:23 ?540次閱讀
    【<b class='flag-5'>微控制器</b>基礎】—— 從歷史切入,了解<b class='flag-5'>微控制器</b>的五個要素(下)