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

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

3天內不再提示

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

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

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

對于微型AI應用,如語音喚醒(語音命令)、異常偵測(振動、異音、環(huán)境傳感器)、運動偵測(手勢、跌倒)、影像分類、影像對象偵測、影像姿態(tài)偵測(全身、手指)等,通??衫脝?a href="http://www.ttokpm.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)及單芯片內部靜態(tài)內存(SRAM)都改成128bit寬是不合理的。最簡單的作法是利用四個頻率周期將128bit數據當成4個32bit的數據來處理,但這樣就會變成和單指令周期32bit SIMD指令沒什么不同。因此Helium在向量計算時可以將加載(VLDR)和乘加(VMLA)計算進行重迭,一邊加載一邊計算,這樣就可以再加速一倍以上。如Fig. 2右下所示。

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

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

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

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

而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),縱軸則為機器學習推論性能(ML Performance)。以M55為例,雖然傳統(tǒng)性能較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,這樣就能將算力再推高數十倍,可以滿足低分辨率、低頻度的影像分類、對象偵測甚至姿態(tài)估測等應用。

小結

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





審核編輯:劉清

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

    關注

    2541

    文章

    49954

    瀏覽量

    747465
  • 加速器
    +關注

    關注

    2

    文章

    785

    瀏覽量

    37145
  • 神經網絡
    +關注

    關注

    42

    文章

    4717

    瀏覽量

    100002
  • 單芯片
    +關注

    關注

    3

    文章

    410

    瀏覽量

    34475
  • NPU
    NPU
    +關注

    關注

    2

    文章

    247

    瀏覽量

    18382

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

    Imagination發(fā)布最新神經網絡加速器

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

    多項第一!Imagination神經網絡加速器通過AIIA DNN benchmark評估

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

    嵌入式神經網絡加速器的市場需求將持續(xù)增加

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

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

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

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

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

    神經網絡加速器簡述

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

    基于FPGA的SIMD卷積神經網絡加速器

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

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

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

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

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

    什么是神經網絡加速器?它有哪些特點?

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