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

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

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

如何優(yōu)化ML模型與硬件實現(xiàn)TinyML?Arm歸納出5種作法

jf_cVC5iyAO ? 來源:易心Microbit編程 ? 2023-01-07 09:20 ? 次閱讀

近幾年,因應AI與ML應用趨勢浪潮,越來越多企業(yè)開始嘗試將這樣的能力帶到靠近數(shù)據(jù)源的邊緣設備或IoT裝置,來發(fā)展各種Edge AI或AIoT應用。例如結(jié)合語音指令來控制機器人作業(yè),或是透過AI邊緣攝影機來偵測機臺設備有無故障。但受限于CPU效能、數(shù)據(jù)吞吐量、內(nèi)存及數(shù)據(jù)儲存的影響,想要在資源有限的IoT或嵌入式裝置跑AI或ML推論模型,現(xiàn)在仍然不是一件容易的事。

近年來,一種微型機器學習新技術(shù)TinyML順勢而起,試圖從優(yōu)化硬件或模型來實現(xiàn)裝置上的AI或ML應用,讓ML的推論功能能夠在資源有限的終端裝置上來實現(xiàn),可說是加速實現(xiàn)Edge AI或AIoT應用的重要關鍵。

TinyML是什么?引用GoogleTensorflow 行動部門負責人Pete Warden的定義,指的是每次執(zhí)行ML模型推論時,其功耗必須小于1毫瓦(1mW)。

除了考慮到功耗,運算力不足也是實現(xiàn)Edge AI或AIoT應用的關鍵問題。以Inception v4深度學習模型為例,硬件能力需要的運算量就有240個GOPS(每秒執(zhí)行10億次運算) 但一般singleissue處理器,僅提供個位數(shù)的GOPS,甚至不只運算能力,連在內(nèi)存中存取數(shù)據(jù)也會影響功耗,例如要從SRAM高速緩存來存取1TB的數(shù)據(jù),一顆16奈米CPU每秒所消耗的功耗就超過1瓦。這些都是TinyML的挑戰(zhàn)。

現(xiàn)階段TinyML技術(shù)發(fā)展,主要是從ML模型與硬件優(yōu)化來實現(xiàn)低功耗裝置上的ML應用。歸納起來實現(xiàn)TinyML的5種常見ML模型架構(gòu)和優(yōu)化的方法,包括降低精度(Reduce Precision)、數(shù)據(jù)重復利用(Data re-use)、權(quán)重壓縮(Weight compression)、轉(zhuǎn)換(Transforms)、稀疏運算(Sparse computation)。

第一種作法是轉(zhuǎn)換ML模型及權(quán)重的數(shù)據(jù)單元格式,來降低推論執(zhí)行所需的運算量,例如將模型的權(quán)重從高精度FP32轉(zhuǎn)成較低精度的FP16或INT8格式。因ML模型需要很多乘加法運算,而高精度ML模型又比低精度ML模型需要的運算量更高,也因此,改用較低精度的ML模型來執(zhí)行運算,能大幅降低功耗,甚至因運算數(shù)據(jù)變少,也能因應更高的吞吐量需求。這是第一個可以運用到TinyML的方法。

除了從數(shù)據(jù)單元格式著手,減少數(shù)據(jù)重復使用是另一個可行方法。例如可以將CNN神經(jīng)網(wǎng)絡模型中經(jīng)常重復使用的權(quán)重參數(shù)的數(shù)值,暫時集中存放到一處,不用每次都從內(nèi)存來撈取數(shù)據(jù),減少不必要任務處理,也能達到降低功耗的作用。

由于現(xiàn)在神經(jīng)網(wǎng)絡模型體積越來越大,結(jié)構(gòu)越來越復雜,因推論執(zhí)行需處理的模型參數(shù)數(shù)量也就越多,大量使用內(nèi)存來存放這些龐大數(shù)據(jù),也造成了不少功耗的損失,也因此有了第3種作法是,透過權(quán)重壓縮技術(shù),對于存入內(nèi)存前的權(quán)重參數(shù)先進行壓縮,需要時再解壓縮拿來使用,,這樣做好處是,一來可以減少內(nèi)存的用量,二來能獲得更高的帶寬和更低功耗。

第4種作法則是采用轉(zhuǎn)換矩陣運算domain的方式,來降低乘法運算的復雜度。一般AI或ML模型運算過程有6成以上都是矩陣的乘法運算,所以只要讓乘法運算變少,就能減少運算量,這是能夠降低運算和功耗的另一種方式。例如將復雜的矩陣運算domain轉(zhuǎn)換到較簡易Winograd卷積算法的domain做運算,就能降低乘法運算的復雜度。

最后一種方法是稀疏運算,像是運用Relu的激勵函數(shù),在CNN模型運算過程中,使其部分神經(jīng)元的輸出為零,可以讓神經(jīng)網(wǎng)絡變得稀疏,在運算時只針對激勵函數(shù)輸入數(shù)值非零部分做運算,不處理數(shù)值為零的部分,透過這樣的處理方式,同樣能達到運算量與功耗降低的效果。

除了優(yōu)化ML模型和架構(gòu)外,現(xiàn)在硬件設計過程中,也有一些新作法,來因應TinyML需求。常見3種TinyML硬件平臺,前兩種是以低功耗和AI加速或優(yōu)化的硬件設計為主,包括有低功耗通用SoC、低功耗micro-NPU,可分別對應到Arm Cortex-M55與Arm Ethos-U55系列IP產(chǎn)品。Arm Cortex-M55最大特色是支持最新的向量擴充指令,與Cortex-M44相比,在語音模型處理性能表現(xiàn)高出8倍之多。Arm Ethos-U55是ARM推出的另一款神經(jīng)網(wǎng)絡處理器IP產(chǎn)品,不僅省電,在AI處理效能獲得百倍提升,甚至最新一款Arm Ethos-U6產(chǎn)品中,其運算能力可達到1 TOPS。

其中第3種硬件平臺是采取內(nèi)存運算的硬件架構(gòu)平臺,如Mythic IPU處理器等,就是采用閃存內(nèi)運算來執(zhí)行ML推論,足以支撐113M (百萬)權(quán)重數(shù)量和每瓦4 TOPs運算能力。

目前TinyML技術(shù)上遇到的挑戰(zhàn),越來越多AI與ML應用,開始追求更高準確度,需要使用資源越來越多,包括運算、內(nèi)存、功耗等,「但TinyML卻又是要在有限資源下來實現(xiàn)或執(zhí)行不同的模型或神經(jīng)網(wǎng)絡,這就是最大的Gap?!?/p>

舉例來說,想要提高神經(jīng)網(wǎng)絡模型準確度,除了需要有大量的數(shù)據(jù)做訓練,數(shù)據(jù)量越大需要做的矩陣運算就更多,還有大量的參數(shù)需要調(diào)整,而且隨著架構(gòu)越復雜,需要做很多層神經(jīng)網(wǎng)絡計算,使用海量存儲器存取數(shù)據(jù)、參數(shù)和每一層計算結(jié)果。

盡管TinyML發(fā)展才剛起步,隨著AIoT或Edge AI應用越來越火紅,未來將會有越來越多嵌入式裝置結(jié)合AI或ML功能,想要真正實現(xiàn)TinyML,這些裝置硬件必須具備每秒兆次(trillions)的乘加法運算能力,而且這樣的運算能力須考慮到硬件空間設計,還有兼顧功耗才行。

審核編輯:湯梓紅

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

    關注

    134

    文章

    8967

    瀏覽量

    365088
  • ML
    ML
    +關注

    關注

    0

    文章

    143

    瀏覽量

    34445
  • 機器學習
    +關注

    關注

    66

    文章

    8306

    瀏覽量

    131856
  • TinyML
    +關注

    關注

    0

    文章

    42

    瀏覽量

    1194

原文標題:如何優(yōu)化ML模型與硬件實現(xiàn)TinyML?Arm歸納出5種作法

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

收藏 人收藏

    評論

    相關推薦

    TI Arm內(nèi)核三角函數(shù)的優(yōu)化

    電子發(fā)燒友網(wǎng)站提供《TI Arm內(nèi)核三角函數(shù)的優(yōu)化.pdf》資料免費下載
    發(fā)表于 09-11 09:19 ?0次下載
    TI <b class='flag-5'>Arm</b>內(nèi)核三角函數(shù)的<b class='flag-5'>優(yōu)化</b>

    如何利用ARMxy ARM嵌入式計算機的NPU進行深度學習模型的訓練和優(yōu)化?

    在正文開始前,我們先大致了解鋇錸的ARMxy ARM嵌入式計算機,再來說說我們?nèi)绾卫肁RMxy ARM嵌入式計算機的NPU來實現(xiàn)深度學習模型的訓練和
    的頭像 發(fā)表于 08-20 13:43 ?153次閱讀
    如何利用ARMxy <b class='flag-5'>ARM</b>嵌入式計算機的NPU進行深度學習<b class='flag-5'>模型</b>的訓練和<b class='flag-5'>優(yōu)化</b>?

    優(yōu)化 FPGA HLS 設計

    迭代優(yōu)化,只要每次迭代都顯示改進,就會不斷重復。如果達到時間目標或未能顯示改進,它最終將自動停止。 經(jīng)過兩輪優(yōu)化
    發(fā)表于 08-16 19:56

    如何訓練一個有效的eIQ基本分類模型

    在 MCX CPU和eIQ Neutron NPU上。 eIQPortal它是一個直觀的圖形用戶界面(GUI),簡化了ML開發(fā)。開發(fā)人員可以創(chuàng)建、優(yōu)化、調(diào)試和導出ML模型,以及導入數(shù)據(jù)
    的頭像 發(fā)表于 08-01 09:29 ?1508次閱讀
    如何訓練一個有效的eIQ基本分類<b class='flag-5'>模型</b>

    深度學習的模型優(yōu)化與調(diào)試方法

    深度學習模型在訓練過程中,往往會遇到各種問題和挑戰(zhàn),如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學習模型進行優(yōu)化與調(diào)試是確保其性能優(yōu)越的關鍵步驟。本文將從數(shù)據(jù)預處理、模型設計、超參
    的頭像 發(fā)表于 07-01 11:41 ?464次閱讀

    基于助聽器開發(fā)的一高效的語音增強神經(jīng)網(wǎng)絡

    的方法,由于幀和因果模型之間有50%的重疊,處理每幀的計算延遲約束為10ms。 HA形式因素強加了另一組約束,特別是在結(jié)合幀處理需求時。由于其體積小,采用了單片機(MCU)硬件平臺。MCU實現(xiàn)了廉價
    發(fā)表于 06-07 11:29

    深度學習編譯工具鏈中的核心——圖優(yōu)化

    、或優(yōu)化數(shù)據(jù)流動,來提高模型推理的性能。圖優(yōu)化的出現(xiàn)很大程度上是因為算法開發(fā)人員不熟悉硬件,在算法層面上可以靈活表達的一計算方式,在
    的頭像 發(fā)表于 05-16 14:24 ?489次閱讀
    深度學習編譯工具鏈中的核心——圖<b class='flag-5'>優(yōu)化</b>

    是德科技推出AI數(shù)據(jù)中心測試平臺旨在加速AI/ML網(wǎng)絡驗證和優(yōu)化的創(chuàng)新

    2024年2月29日,是德科技(Keysight Technologies,Inc.)宣布,針對人工智能(AI)和機器學習(ML)基礎設施生態(tài)系統(tǒng),推出了 AI數(shù)據(jù)中心測試平臺,旨在加速AI / ML網(wǎng)絡驗證和優(yōu)化的創(chuàng)新。
    的頭像 發(fā)表于 02-29 09:32 ?503次閱讀
    是德科技推出AI數(shù)據(jù)中心測試平臺旨在加速AI/<b class='flag-5'>ML</b>網(wǎng)絡驗證和<b class='flag-5'>優(yōu)化</b>的創(chuàng)新

    使用ml configurator進行tflite網(wǎng)絡模型的轉(zhuǎn)換不成功怎么解決?

    使用ml configurator進行tflite網(wǎng)絡模型的轉(zhuǎn)換不成功,提示錯誤,請幫忙協(xié)助謝謝 [ERROR] Failed to run QEMU
    發(fā)表于 01-31 06:56

    深入探討工業(yè)AI/ML技術(shù)的發(fā)展趨勢及相關解決方案

    芯科科技已經(jīng)創(chuàng)建了一套完整的硬件和軟件解決方案,可支持開發(fā)用于工業(yè)市場的工業(yè)AI/ML解決方案。具體來說,我們的Sub-GHz、藍牙和802.15.4產(chǎn)品內(nèi)置了硬件加速功能,可優(yōu)化邊緣
    的頭像 發(fā)表于 01-29 09:42 ?386次閱讀

    【先楫HPM5361EVK開發(fā)板試用體驗】:4、TinyML測試(1)

    設備的資源限制。此外,TinyML還依賴于優(yōu)化的推理引擎和針對嵌入式設備的硬件加速器,以實現(xiàn)高效的模型推理。
    發(fā)表于 12-22 10:12

    模型+多模態(tài)的3實現(xiàn)方法

    我們知道,預訓練LLM已經(jīng)取得了諸多驚人的成就, 然而其明顯的劣勢是不支持其他模態(tài)(包括圖像、語音、視頻模態(tài))的輸入和輸出,那么如何在預訓練LLM的基礎上引入跨模態(tài)的信息,讓其變得更強大、更通用呢?本節(jié)將介紹“大模型+多模態(tài)”的3實現(xiàn)
    的頭像 發(fā)表于 12-13 13:55 ?1363次閱讀
    大<b class='flag-5'>模型</b>+多模態(tài)的3<b class='flag-5'>種</b><b class='flag-5'>實現(xiàn)</b>方法

    基于深度學習的情感語音識別模型優(yōu)化策略

    基于深度學習的情感語音識別模型優(yōu)化策略,包括數(shù)據(jù)預處理、模型結(jié)構(gòu)優(yōu)化、損失函數(shù)改進、訓練策略調(diào)整以及集成學習等方面的內(nèi)容。
    的頭像 發(fā)表于 11-09 16:34 ?502次閱讀

    微控制器安全起動 (Secure Boot) 的軟硬件整合作法 – 以NuMicro M2351系列為例

    微控制器安全起動 (Secure Boot) 的軟硬件整合作法 – 以NuMicro M2351系列為例
    的頭像 發(fā)表于 10-26 17:26 ?648次閱讀
    微控制器安全起動 (Secure Boot) 的軟<b class='flag-5'>硬件</b>整合<b class='flag-5'>作法</b> – 以NuMicro M2351系列為例

    Hugging Face大語言模型優(yōu)化技術(shù)

    von Platen 寫道,使用 Flash Attention 是另一相關鍵的優(yōu)化,它是大語言模型用來理解輸入標記上下文關系的自注意力層的一算法,有可能打破輸入標記數(shù)量的二次增長。
    的頭像 發(fā)表于 10-09 16:25 ?672次閱讀