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

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

3天內不再提示

單芯片沒有神經網絡加速器NPU可以玩微型AI應用嗎?

jf_cVC5iyAO ? 來源:易心Microbit編程 ? 2024-02-20 16:40 ? 次閱讀

講到AI相信大家第一時間多半是聯想到大型語言模型(LLM)和生成式AI(genAI, AIGC)應用,可以對話聊天、查詢數據、生成文章圖像和音樂,而這些應用多半需要用到極大的云端算力才能完成。

對于微型AI應用,如語音喚醒(語音命令)、異常偵測(振動、異音、環境傳感器)、運動偵測(手勢、跌倒)、影像分類、影像對象偵測、影像姿態偵測(全身、手指)等,通??衫脝?a href="http://www.qd573.com/v/tag/137/" target="_blank">芯片(MCU)或微處理器(MPU)配合較小的AI模型就有機會辦到邊緣(離網)就完成推論工作。

在之前的文章中提到,AI推論主要都是在進行巨量的矩陣乘加運算(MAC),就是「a×b+c」。而加速計算方式可使用「提高工作頻率速度」、「平行/向量指令集加速」、「多核心加速」、「NPU神經網絡加速器」等硬件加速作法。

而一般單芯片在單核CPU的情況下,最容易達成的作法就是前兩項,而本文將從「平行/向量指令集加速」的角度來為大家說明如何在沒有神經網絡加速器NPU時也能順利玩微型AI應用。

1. Arm精簡指令集的演進

目前市售32bit單芯片大約有八到九成都是使用Arm Cortex-M系列硅IP)完成的,不同系列分別對應到不同的指令集(ARMv6-M~v8.1-M),而「-M」就是指將該版本指令集濃縮后專門提供給單芯片使用的。相關指令集對應的IP如下所示。

ARMv6-M: Cortex M0(2009) / M0+(2012) /M1(2007)

ARMv7-M: Cortex M3(2004)

ARMv7E-M: Cortex M4(2010) / M7(2014)

ARMv8-M Baseline: Cortex M23(2016)

ARMv8-M Marnline: Cortex M33(2016) /M35P(2018)

ARMv8.1-M: Cortex M55(2020) / M85(2022) /M52(2023)

13c7fada-cfcb-11ee-a297-92fbcf53809c.jpg

Fig. 1 Arm Cortex-M 系列指令集對照表。

2. Cortex-M指令如何加速計算

其中「v7-M」指令集就開始支持單頻率乘加指令MLA,即將原來需要二道指令MUL, ADD分別計算乘法和加法變成一道指令,如此就能將計算速度提升兩倍。到了「v7E-M」DSP擴展指令集時開始支持單指令多數據流(Single Instruction Multiple Data, SIMD),如QADD,QADD16, QADD8等,可將32bit分拆成2個16bit或4個8bit數據一起計算,如此就能增加2~4倍計算速度。

當再搭配工作頻率從數十MHz提升到數百MHz后,對于語音喚醒詞(Key Word Spotting, KWS), 傳感器異常偵測(AnomalyDetection, AD), 運動手勢辨識(Motion / Gesture Dectection)等微型AI應用大概都能完成,但若遇到有影像類應用則遠遠不夠。

Arm Cortex-A系列為64bit CPU,所以其上有NEON(進階SIMD)指令集,可處理128bit或64bit的SIMD計算,讓計算速度更快,但這樣的指令在32bit的Cortex-M并沒有支持,所以Arm在v8.1M指令中加入Helium M型向量擴展指令(M-Profile Vector Extension, MVE)來提升Cortex-M單芯片的算力。

Helium可以處理128bit的向量運算(相當于SIMD16x8bit, 8x16bit, 4x32bit),共有8個向量緩存器,可處理整數、定點數(Q7,Q15,Q31)及浮點數(半精度FP16/單精度FP32)計算,有超過150個新指令。

若為了處理128bit的向量計算就把數據總線(Data bus)及單芯片內部靜態內存(SRAM)都改成128bit寬是不合理的。最簡單的作法是利用四個頻率周期將128bit數據當成4個32bit的數據來處理,但這樣就會變成和單指令周期32bit SIMD指令沒什么不同。因此Helium在向量計算時可以將加載(VLDR)和乘加(VMLA)計算進行重迭,一邊加載一邊計算,這樣就可以再加速一倍以上。如Fig. 2右下所示。

在Cortex-M55/M85采取雙節拍(Dual Beat)作法,就是1個頻率周期(Clock Cycle)讀取二個節拍(Beat),即2×32=64bit,所以128bit的向量要2個頻率周期才能處理完成,而1個頻率周期處理的內容可以是下列組合。

2個32bit(Q31定點數或32位整數或32位浮點數)

4個16bit(Q15定點數或16位整數或16位浮點數)

8個8bit(Q7定點數或8位整數)

而Cortex-M52則采單節拍(Single Beat)作法,可處理長度則減半為32bit(1x32bit, 2x16bit, 4x8bit),128bit的向量需要4個頻率周期才能處理完成。

13dd6b90-cfcb-11ee-a297-92fbcf53809c.jpg

Fig. 2 Arm Cortex-M指令與加速計算示意圖。

3. Helium指令集效能比較

目前有支持Helium指令的MCU共有四家公司,如下所示。

Cortex-M55:

ALIF – Ensemble E1(@160MHz), E3(@160MHz),E5(dual core,@160MHz, 400MHz), E7(dual core,@160MHz, 400MHz)

奇景(Himax) – WiseEye2 HX6538(dual Core, @150MHz, 400MHz)

新唐(Nuvoton) – NuMicro M55M1(@200MHz)

Cortex-M85:

瑞薩(Renesas) – RA8D1(@480MHz), RA8M1(@480MHz)

Cortex-M52:

None

以下就以Cortex-M7為基準(100%)和Cortex M55/M85/M52進行比較。如Fig. 3所示,橫軸為傳統性能(DMIPS/MHz),縱軸則為機器學習推論性能(ML Performance)。以M55為例,雖然傳統性能較M7低,但機器學習性能卻高出3倍,由此可看出Helium指令集提供的效能提升。

13ea542c-cfcb-11ee-a297-92fbcf53809c.jpg

Fig. 3 Arm Cortex-M 指令與加速計算示意圖。

以上算力對于非影像的微型AI應用大致能滿足,但若遇到影像類應用則單靠CPU的SIMD及MVE指令集可能還是不夠。幸運地是以上提及的ALIF, Himax, Nuvoton的MCU都有內建Arm Ethos U55 NPU,這樣就能將算力再推高數十倍,可以滿足低分辨率、低頻度的影像分類、對象偵測甚至姿態估測等應用。

小結

隨著半導體技術的提升及配套的軟件開發工具逐漸到位,利用單芯片提高工作頻率及高度平行乘加運算(SIMD, MVE),開啟了可以不依靠網絡就能完成微型AI運算的契機,使得平價、低耗能的邊緣智能裝置(Edge AI & TinyML Device)有了更大的創意發揮空間,讓智慧生活、智能照護、智能制造、智能建筑等更多應用能快速實現。





審核編輯:劉清

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

    關注

    2529

    文章

    48474

    瀏覽量

    741840
  • 加速器
    +關注

    關注

    2

    文章

    764

    瀏覽量

    36683
  • 神經網絡
    +關注

    關注

    42

    文章

    4590

    瀏覽量

    99202
  • 單芯片
    +關注

    關注

    3

    文章

    400

    瀏覽量

    34302
  • NPU
    NPU
    +關注

    關注

    2

    文章

    222

    瀏覽量

    18157

原文標題:誰說單芯片沒有神經網絡加速器NPU就不能玩微型AI應用?

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

收藏 人收藏

    評論

    相關推薦

    AI學習】第3篇--人工神經網絡

    `本篇主要介紹:人工神經網絡的起源、簡單神經網絡模型、更多神經網絡模型、機器學習的步驟:訓練與預測、訓練的兩階段:正向推演與反向傳播、以TensorFlow + Excel表達訓練流程以及AI
    發表于 11-05 17:48

    音頻處理SoC在500 μW以下運行AI

    NPU上運行的神經網絡中。DBM10的雙核設計具有DSP和神經處理單元(NPU)(圖片:DSP Group)nNetLite可以同時針對多
    發表于 03-03 10:49

    基于BP神經網絡的PID控制

    最近在學習電機的智能控制,上周學習了基于神經元的PID控制,這周研究基于BP神經網絡的PID控制。神經網絡具有任意非線性表達能力,可以通過
    發表于 09-07 07:43

    如何使用stm32cube.ai部署神經網絡?

    如何用stm32cube.ai簡化人工神經網絡映射?如何使用stm32cube.ai部署神經網絡?
    發表于 10-11 08:05

    用FPGA去實現大型神經網絡的設計

    1、加速神經網絡的必備開源項目  到底純FPGA適不適合這種大型神經網絡的設計?這個問題其實我們不適合回答,但是FPGA廠商是的實際操作是很有權威性的,現在不論是Intel還是Xilinx都
    發表于 10-24 16:10

    【書籍評測活動NO.18】 AI加速器架構設計與實現

    NPU架構合二為一,總結并提煉出本書內容。本書主要討論神經網絡硬件層面,尤其是芯片設計層面的內容,主要包含神經網絡的分析、神經網絡
    發表于 07-28 10:50

    AI加速器架構設計與實現》+第一章卷積神經網絡觀后感

    AI加速器架構設計與實現》+第一章卷積神經網絡觀感 ? ?在本書的引言中也提到“一圖勝千言”,讀完第一章節后,對其進行了一些歸納(如圖1),第一章對常見的神經網絡結構進行了介紹,
    發表于 09-11 20:34

    AI加速器架構設計與實現》+學習和一些思考

    AI加速器設計的學習和一些思考 致謝 首先感謝電子發燒友論壇提供的書籍 然后為該書打個廣告吧,32K的幅面,非常小巧方便,全彩印刷,質量精良,很有質感。 前言 設計神經網絡首先要考慮的幾個問題
    發表于 09-16 11:11

    AI加速器架構設計與實現》+第2章的閱讀概括

    。 從名字上就能看出來書里可能覆蓋的內容是和CNN加速器有關的內容了。 作者在前言里說這本書主要討論Inference(推理)的過程,“主要討論神經網絡硬件,尤其是芯片設計層面的內容”。這本書的第2,3章
    發表于 09-17 16:39

    驍龍720加入NPU神經網絡計算單元 專注AI加速

    目前還沒有驍龍720的具體規格資料,只知道它是驍龍710的加強版,據說重點會加入NPU神經網絡計算單元(類似華為麒麟970),專用于AI加速
    的頭像 發表于 07-25 16:39 ?3175次閱讀

    Imagination發布最新神經網絡加速器

    Imagination Technologies宣布推出其面向人工智能(AI)應用的最新神經網絡加速器(NNA)架構PowerVR Series3NX。
    的頭像 發表于 12-06 16:09 ?3307次閱讀

    嵌入式芯片神經網絡加速器如何支持本地化AI處理

    。與此同時,對于這些任務的處理也正在從傳統的云端架構轉移到設備本身上來,嵌入式芯片中集成了專用的神經網絡加速器,可支持本地化AI處理。例如先進的駕駛輔助系統(ADAS)能夠實時監控前方
    的頭像 發表于 12-20 18:25 ?579次閱讀

    美信半導體新型神經網絡加速器MAX78000 SoC

    ? ? 新型神經網絡加速器 Maxim Integrated的新型MAX78000芯片,基于雙核MCU,結合了超低功耗深度神經網絡加速器,為
    的頭像 發表于 01-04 11:48 ?2679次閱讀

    神經網絡加速器簡述

    神經網絡加速器基本概念。
    發表于 05-27 15:22 ?11次下載

    npu是什么意思?npu芯片是什么意思?npu到底有什么用?

    。正如CPU和GPU一樣,NPU也是一種專門的處理器芯片,但不同于前二者,NPU被用于深度學習領域。NPU在深度學習領域的應用可以提高運算速
    的頭像 發表于 08-27 17:03 ?3.1w次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>