0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

單芯片沒有神經(jīng)網(wǎng)絡(luò)加速器NPU可以玩微型AI應(yīng)用嗎?

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

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

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

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

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

1. Arm精簡指令集的演進

目前市售32bit單芯片大約有八到九成都是使用Arm Cortex-M系列硅IP)完成的,不同系列分別對應(yīng)到不同的指令集(ARMv6-M~v8.1-M),而「-M」就是指將該版本指令集濃縮后專門提供給單芯片使用的。相關(guān)指令集對應(yīng)的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擴展指令集時開始支持單指令多數(shù)據(jù)流(Single Instruction Multiple Data, SIMD),如QADD,QADD16, QADD8等,可將32bit分拆成2個16bit或4個8bit數(shù)據(jù)一起計算,如此就能增加2~4倍計算速度。

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

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的向量運算(相當(dāng)于SIMD16x8bit, 8x16bit, 4x32bit),共有8個向量緩存器,可處理整數(shù)、定點數(shù)(Q7,Q15,Q31)及浮點數(shù)(半精度FP16/單精度FP32)計算,有超過150個新指令。

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

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

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

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

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

而Cortex-M52則采單節(jié)拍(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所示,橫軸為傳統(tǒng)性能(DMIPS/MHz),縱軸則為機器學(xué)習(xí)推論性能(ML Performance)。以M55為例,雖然傳統(tǒng)性能較M7低,但機器學(xué)習(xí)性能卻高出3倍,由此可看出Helium指令集提供的效能提升。

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

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

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

小結(jié)

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





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2552

    文章

    51276

    瀏覽量

    755068
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    804

    瀏覽量

    37962
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4776

    瀏覽量

    100938
  • 單芯片
    +關(guān)注

    關(guān)注

    3

    文章

    422

    瀏覽量

    34600
  • NPU
    NPU
    +關(guān)注

    關(guān)注

    2

    文章

    286

    瀏覽量

    18673

原文標(biāo)題:誰說單芯片沒有神經(jīng)網(wǎng)絡(luò)加速器NPU就不能玩微型AI應(yīng)用?

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

收藏 人收藏

    評論

    相關(guān)推薦

    【書籍評測活動NO.18】 AI加速器架構(gòu)設(shè)計與實現(xiàn)

    NPU架構(gòu)合二為一,總結(jié)并提煉出本書內(nèi)容。本書主要討論神經(jīng)網(wǎng)絡(luò)硬件層面,尤其是芯片設(shè)計層面的內(nèi)容,主要包含神經(jīng)網(wǎng)絡(luò)的分析、神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 07-28 10:50

    AI加速器架構(gòu)設(shè)計與實現(xiàn)》+第一章卷積神經(jīng)網(wǎng)絡(luò)觀后感

    AI加速器架構(gòu)設(shè)計與實現(xiàn)》+第一章卷積神經(jīng)網(wǎng)絡(luò)觀感 ? ?在本書的引言中也提到“一圖勝千言”,讀完第一章節(jié)后,對其進行了一些歸納(如圖1),第一章對常見的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行了介紹,
    發(fā)表于 09-11 20:34

    AI加速器架構(gòu)設(shè)計與實現(xiàn)》+學(xué)習(xí)和一些思考

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

    驍龍720加入NPU神經(jīng)網(wǎng)絡(luò)計算單元 專注AI加速

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

    Imagination發(fā)布最新神經(jīng)網(wǎng)絡(luò)加速器

    Imagination Technologies宣布推出其面向人工智能(AI)應(yīng)用的最新神經(jīng)網(wǎng)絡(luò)加速器(NNA)架構(gòu)PowerVR Series3NX。
    的頭像 發(fā)表于 12-06 16:09 ?3485次閱讀

    多項第一!Imagination神經(jīng)網(wǎng)絡(luò)加速器通過AIIA DNN benchmark評估

    基于端側(cè)推斷任務(wù)深度神經(jīng)網(wǎng)絡(luò)處理基準測試結(jié)果中,Imagination的神經(jīng)網(wǎng)絡(luò)加速器在多個框架測試中成績名列第一!
    的頭像 發(fā)表于 07-12 15:23 ?5300次閱讀

    嵌入式神經(jīng)網(wǎng)絡(luò)加速器的市場需求將持續(xù)增加

    隨著許多嵌入式系開始變得智能且自主,以人工智能(AI神經(jīng)網(wǎng)絡(luò)為導(dǎo)向的嵌入式系統(tǒng)市場即將起飛,神經(jīng)網(wǎng)絡(luò)加速器大戰(zhàn)一觸發(fā)。
    發(fā)表于 11-22 11:40 ?1041次閱讀

    嵌入式芯片神經(jīng)網(wǎng)絡(luò)加速器如何支持本地化AI處理

    。與此同時,對于這些任務(wù)的處理也正在從傳統(tǒng)的云端架構(gòu)轉(zhuǎn)移到設(shè)備本身上來,嵌入式芯片中集成了專用的神經(jīng)網(wǎng)絡(luò)加速器,可支持本地化AI處理。例如先進的駕駛輔助系統(tǒng)(ADAS)能夠?qū)崟r監(jiān)控前方
    的頭像 發(fā)表于 12-20 18:25 ?765次閱讀

    美信半導(dǎo)體新型神經(jīng)網(wǎng)絡(luò)加速器MAX78000 SoC

    ? ? 新型神經(jīng)網(wǎng)絡(luò)加速器 Maxim Integrated的新型MAX78000芯片,基于雙核MCU,結(jié)合了超低功耗深度神經(jīng)網(wǎng)絡(luò)加速器,為
    的頭像 發(fā)表于 01-04 11:48 ?3016次閱讀

    神經(jīng)網(wǎng)絡(luò)加速器簡述

    神經(jīng)網(wǎng)絡(luò)加速器基本概念。
    發(fā)表于 05-27 15:22 ?13次下載

    基于FPGA的SIMD卷積神經(jīng)網(wǎng)絡(luò)加速器

    一種基于FPGA的SIM卷積神經(jīng)網(wǎng)絡(luò)加速器架構(gòu)。以YOOV2目標(biāo)檢測算法為例,介紹了將卷積神經(jīng)網(wǎng)絡(luò)模型映射到FPGA上的完整流程;對加速器的性能和資源耗費進行深λ分析和建模,將實際傳輸
    發(fā)表于 05-28 14:00 ?24次下載

    什么是AI加速器 如何確需要AI加速器

    AI加速器是一類專門的硬件加速器或計算機系統(tǒng)旨在加速人工智能的應(yīng)用,主要應(yīng)用于人工智能、人工神經(jīng)網(wǎng)絡(luò)、機器視覺和機器學(xué)習(xí)。
    發(fā)表于 02-06 12:47 ?4726次閱讀

    西門子推出Catapult AI NN軟件,賦能神經(jīng)網(wǎng)絡(luò)加速器設(shè)計

    西門子數(shù)字化工業(yè)軟件近日發(fā)布了Catapult AI NN軟件,這款軟件在神經(jīng)網(wǎng)絡(luò)加速器設(shè)計領(lǐng)域邁出了重要一步。Catapult AI NN軟件專注于在專用集成電路(ASIC)和
    的頭像 發(fā)表于 06-19 11:27 ?891次閱讀

    什么是神經(jīng)網(wǎng)絡(luò)加速器?它有哪些特點?

    )和圖形處理(GPU)雖然可以處理神經(jīng)網(wǎng)絡(luò)計算,但在能效比和計算密度上往往難以滿足特定應(yīng)用場景的需求。因此,神經(jīng)網(wǎng)絡(luò)加速器應(yīng)運而生,它通過
    的頭像 發(fā)表于 07-11 10:40 ?536次閱讀

    什么是NPU芯片及其功能

    在人工智能(AI)技術(shù)迅猛發(fā)展的今天,NPU芯片已經(jīng)成為推動這一領(lǐng)域進步的關(guān)鍵技術(shù)之一。NPU芯片,即
    的頭像 發(fā)表于 11-14 15:48 ?1913次閱讀