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

完善資料讓更多小伙伴認識你,還能領(lǐ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ù)源的邊緣設(shè)備或IoT裝置,來發(fā)展各種Edge AI或AIoT應用。例如結(jié)合語音指令來控制機器人作業(yè),或是透過AI邊緣攝影機來偵測機臺設(shè)備有無故障。但受限于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應用的重要關(guān)鍵。

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

除了考慮到功耗,運算力不足也是實現(xiàn)Edge AI或AIoT應用的關(guān)鍵問題。以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)在硬件設(shè)計過程中,也有一些新作法,來因應TinyML需求。常見3種TinyML硬件平臺,前兩種是以低功耗和AI加速或優(yōu)化的硬件設(shè)計為主,包括有低功耗通用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)的乘加法運算能力,而且這樣的運算能力須考慮到硬件空間設(shè)計,還有兼顧功耗才行。

審核編輯:湯梓紅

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

    關(guān)注

    134

    文章

    9097

    瀏覽量

    367555
  • ML
    ML
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    34657
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132635
  • TinyML
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    1238

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    RAID 5 性能優(yōu)化技巧

    RAID 5是一廣泛使用的磁盤陣列配置,它通過在多個硬盤之間分散數(shù)據(jù)和奇偶校驗信息來提供數(shù)據(jù)冗余和性能提升。然而,RAID 5的性能受到多種因素的影響,包括硬件選擇、配置、操作系統(tǒng)
    的頭像 發(fā)表于 12-27 17:05 ?135次閱讀

    Arm Corstone-320 FVP仿真平臺介紹

    開發(fā)機器學習 (ML) 應用頗具挑戰(zhàn),尤其是涉及專用硬件時。好消息是,Arm Corstone-320 固定虛擬平臺 (Fixed Virtual Platform, FVP) 簡化了這個過程,無需物理
    的頭像 發(fā)表于 12-24 14:20 ?146次閱讀

    利用Arm Kleidi技術(shù)實現(xiàn)PyTorch優(yōu)化

    PyTorch 是一個廣泛應用的開源機器學習 (ML) 庫。近年來,Arm 與合作伙伴通力協(xié)作,持續(xù)改進 PyTorch 的推理性能。本文將詳細介紹如何利用 Arm Kleidi 技術(shù)提升 A
    的頭像 發(fā)表于 12-23 09:19 ?139次閱讀
    利用<b class='flag-5'>Arm</b> Kleidi技術(shù)<b class='flag-5'>實現(xiàn)</b>PyTorch<b class='flag-5'>優(yōu)化</b>

    AI模型部署邊緣設(shè)備的奇妙之旅:目標檢測模型

    并非易事,它涉及到從選擇合適的算法架構(gòu)到針對特定硬件平臺進行優(yōu)化等一系列復雜的工作。 接下來,我們將詳細介紹如何在資源受限的邊緣設(shè)備上成功部署目標檢測模型,探索其背后的原理和技術(shù),并討論解決該領(lǐng)域內(nèi)常見
    發(fā)表于 12-19 14:33

    如何優(yōu)化自然語言處理模型的性能

    優(yōu)化自然語言處理(NLP)模型的性能是一個多方面的任務,涉及數(shù)據(jù)預處理、特征工程、模型選擇、模型調(diào)參、模型集成與融合等多個環(huán)節(jié)。以下是一些具
    的頭像 發(fā)表于 12-05 15:30 ?401次閱讀

    【書籍評測活動NO.52】基于大模型的RAG應用開發(fā)與優(yōu)化

    為了盡可能地解決大模型在實際應用中面臨的一些問題,特別是“幻覺”問題而誕生的,也是最重要的一優(yōu)化方案。其基本思想可以簡單表述如下: 將傳統(tǒng)的生成式大模型與實時信息檢索技術(shù)相結(jié)合,為大
    發(fā)表于 12-04 10:50

    如何通過OSI七層模型優(yōu)化網(wǎng)絡性能

    OSI(Open Systems Interconnection)七層模型是一標準的網(wǎng)絡分層模型,將網(wǎng)絡功能分為七個不同的層次,每個層次都有獨立的功能和協(xié)議,可以獨立地實現(xiàn)和升級。通
    的頭像 發(fā)表于 11-24 11:14 ?292次閱讀

    ML307A 4G模組硬件設(shè)計手冊

    基于ML307A ?4G模組的硬件設(shè)計指導手冊
    發(fā)表于 10-24 16:50 ?6次下載

    AI大模型的性能優(yōu)化方法

    AI大模型的性能優(yōu)化是一個復雜而關(guān)鍵的任務,涉及多個方面和策略。以下是一些主要的性能優(yōu)化方法: 一、模型壓縮與優(yōu)化
    的頭像 發(fā)表于 10-23 15:01 ?688次閱讀

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

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

    如何訓練一個有效的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 ?1829次閱讀
    如何訓練一個有效的eIQ基本分類<b class='flag-5'>模型</b>

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

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

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

    2024年2月29日,是德科技(Keysight Technologies,Inc.)宣布,針對人工智能(AI)和機器學習(ML)基礎(chǔ)設(shè)施生態(tài)系統(tǒng),推出了 AI數(shù)據(jù)中心測試平臺,旨在加速AI / ML網(wǎng)絡驗證和優(yōu)化的創(chuàng)新。
    的頭像 發(fā)表于 02-29 09:32 ?637次閱讀
    是德科技推出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ā)展趨勢及相關(guān)解決方案

    芯科科技已經(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 ?491次閱讀