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

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

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

使用開源Glow編譯器優(yōu)化神經(jīng)網(wǎng)絡(luò)加速邊緣計(jì)算的機(jī)器學(xué)習(xí)能力

電子設(shè)計(jì) ? 來源:賢集網(wǎng) ? 作者:IOT感應(yīng)者 ? 2021-03-01 14:31 ? 次閱讀

機(jī)器學(xué)習(xí)深度學(xué)習(xí)技術(shù)如何快速發(fā)展,這為需要尋求方法來優(yōu)化運(yùn)行在具有功耗,處理和內(nèi)存限制的微型邊緣設(shè)備上,進(jìn)行ML應(yīng)用程序的開發(fā)人員帶來了新的挑戰(zhàn)。

易于使用的開源開發(fā)工具,將簡(jiǎn)化在嵌入式平臺(tái)上創(chuàng)建ML /深度學(xué)習(xí)項(xiàng)目的過程。

正文:

物聯(lián)網(wǎng)IoT)已將數(shù)十億臺(tái)互聯(lián)設(shè)備帶入到我們的家庭、汽車、辦公室、醫(yī)院、工廠和城市中。物聯(lián)網(wǎng)先驅(qū)者設(shè)想了龐大的無線傳感器節(jié)點(diǎn)網(wǎng)絡(luò),這些網(wǎng)絡(luò)將數(shù)萬億字節(jié)的數(shù)據(jù)傳輸?shù)皆浦羞M(jìn)行聚合、分析和決策。但是,近年來,基于物聯(lián)網(wǎng)的,基于云的智能愿景正在被一種新的模式所取代:邊緣智能。

利用機(jī)器學(xué)習(xí)(ML)技術(shù)的最新進(jìn)展,嵌入式開發(fā)人員正在將人工智能AI)的功能擴(kuò)展到更靠近網(wǎng)絡(luò)邊緣的地方。當(dāng)今的低功耗IoT設(shè)備現(xiàn)在能夠在本地運(yùn)行復(fù)雜的ML和深度學(xué)習(xí)算法,而無需云連接,從而最大程度地減少了對(duì)延遲,性能,安全性和隱私性的擔(dān)憂。新興的ML /神經(jīng)網(wǎng)絡(luò)邊緣應(yīng)用包括智能個(gè)人助理、工廠機(jī)器人、聯(lián)網(wǎng)汽車中的語音和面部識(shí)別、支持AI的家庭安全攝像頭以及對(duì)白色家電和工業(yè)設(shè)備的預(yù)測(cè)性維護(hù)。

機(jī)器學(xué)習(xí)市場(chǎng)正在迅速擴(kuò)展,智能邊緣應(yīng)用的用例正在呈指數(shù)增長(zhǎng)。根據(jù)TIRIAS Research的調(diào)查,到2025年,將有98%的邊緣設(shè)備使用某種形式的機(jī)器學(xué)習(xí)。根據(jù)這些市場(chǎng)預(yù)測(cè),到那時(shí),預(yù)計(jì)將有18-25億的設(shè)備包括ML和深度學(xué)習(xí)功能。2021年初,隨著越來越多的嵌入式開發(fā)人員可以訪問精簡(jiǎn)ML項(xiàng)目所需的低功耗設(shè)備、開發(fā)框架和軟件工具,ML /深度學(xué)習(xí)應(yīng)用程序?qū)⒊蔀橹髁鳌?br />
適應(yīng)主流開發(fā)人員需求的ML Dev環(huán)境

直到最近,ML開發(fā)環(huán)境仍主要用于支持在ML和深度學(xué)習(xí)應(yīng)用程序方面具有豐富專業(yè)知識(shí)的開發(fā)人員。但是,為了大規(guī)模地加速M(fèi)L應(yīng)用程序的開發(fā),必須使ML支持變得更易于使用,并且對(duì)于主流的嵌入式開發(fā)人員來說,其支持范圍越來越廣。

與經(jīng)典的基于云的AI系統(tǒng)相比,ML的出現(xiàn)相對(duì)較新,具有獨(dú)特的需求。嵌入式設(shè)計(jì)的IC,電源和系統(tǒng)級(jí)資源受到更多限制,需要新的和不同的軟件工具。ML開發(fā)人員還為智能邊緣應(yīng)用程序設(shè)計(jì)了全新的開發(fā)流程,包括模型訓(xùn)練,目標(biāo)設(shè)備上的推理引擎部署以及系統(tǒng)集成的其他方面。

在對(duì)ML模型進(jìn)行訓(xùn)練,優(yōu)化和量化之后,下一階段的開發(fā)涉及將模型部署在目標(biāo)設(shè)備(例如MCU或應(yīng)用處理器)上,并允許其執(zhí)行推理功能。

在進(jìn)一步介紹之前,讓我們仔細(xì)研究一下用于ML應(yīng)用程序的新型目標(biāo)設(shè)備:跨界微控制器(MCU)。術(shù)語“分頻器(Crossover)”是指結(jié)合了基于應(yīng)用處理器的性能、功能,但具有易用性,低功耗和實(shí)時(shí)操作且具有MCU的中斷和低延遲等特點(diǎn)。典型的Crossover MCU,例如NXP的i.MX RT系列設(shè)備,包含一個(gè)Arm Cortex-M內(nèi)核,其運(yùn)行速度為300 MHz至1 GHz。這些MCU具有足夠的處理性能以支持ML推理引擎,從而無需額外的ML加速,以及功耗受限的邊緣應(yīng)用所需的低功耗。

理想情況下,嵌入式開發(fā)人員可以使用全面的ML開發(fā)環(huán)境(包括軟件工具,應(yīng)用程序示例和用戶指南)在目標(biāo)設(shè)備上部署開源推論引擎。例如,恩智浦的eIQ環(huán)境為Arm NN,ONNX運(yùn)行引擎,TensorFlow Lite和Glow神經(jīng)網(wǎng)絡(luò)編譯器提供推理支持。開發(fā)人員可以遵循簡(jiǎn)單的“自帶模型”(BYOM)流程,使他們能夠使用基于公共或私有云的工具來構(gòu)建經(jīng)過訓(xùn)練的模型,然后將模型轉(zhuǎn)移到eIQ環(huán)境中,以為適當(dāng)?shù)?a href="http://www.wenjunhu.com/v/tag/137/" target="_blank">芯片優(yōu)化推理引擎。

如今,許多開發(fā)人員當(dāng)前及將來的嵌入式項(xiàng)目都需要ML和深度學(xué)習(xí)工具和技術(shù)。同樣,對(duì)于這些開發(fā)人員中的大多數(shù),ML必須變得更加全面并且易于使用。全面的支持包括端到端的工作流程,使開發(fā)人員能夠?qū)胨麄兊挠?xùn)練數(shù)據(jù),為他們的應(yīng)用選擇最佳模型,訓(xùn)練模型,執(zhí)行優(yōu)化和量化,完成目標(biāo)配置文件,然后進(jìn)行最終生產(chǎn)。

對(duì)于大多數(shù)主流開發(fā)人員來說,易用性意味著可以訪問簡(jiǎn)化的,優(yōu)化的用戶界面,這些界面隱藏了底層細(xì)節(jié)并管理ML開發(fā)過程的復(fù)雜性。理想的用戶界面允許開發(fā)人員勾選一些選項(xiàng),然后輕松導(dǎo)入訓(xùn)練數(shù)據(jù)并將模型部署在目標(biāo)設(shè)備上。

可用于幫助開發(fā)人員構(gòu)建和部署ML應(yīng)用程序和神經(jīng)網(wǎng)絡(luò)模型的處理平臺(tái),框架,工具和其他資源的數(shù)量正在不斷增加。讓我們研究幾種開發(fā)工具和框架,以及它們?nèi)绾螏椭_發(fā)人員簡(jiǎn)化ML開發(fā)項(xiàng)目。

使用機(jī)器學(xué)習(xí)工具套件簡(jiǎn)化工作流程

Au-Zone Technologies的DeepView ML工具套件是直觀的圖形用戶界面(GUI)和工作流程的一個(gè)很好的示例。它使從嵌入式設(shè)計(jì)人員到數(shù)據(jù)科學(xué)家再到ML專家的所有技能水平的開發(fā)人員,都可以導(dǎo)入數(shù)據(jù)集和神經(jīng)網(wǎng)絡(luò)模型,然后在各種目標(biāo)設(shè)備上訓(xùn)練和部署這些模型和工作負(fù)載。



恩智浦最近增強(qiáng)了其eIQ開發(fā)環(huán)境,使其包括DeepView工具套件,以幫助開發(fā)人員簡(jiǎn)化其ML項(xiàng)目(圖1)。新的eIQ ML工作流程工具為開發(fā)人員提供了高級(jí)功能,可以在NXP器件上進(jìn)行修剪,量化,驗(yàn)證和部署公共或?qū)S猩窠?jīng)網(wǎng)絡(luò)模型。目標(biāo)上的圖形級(jí)概要分析功能為開發(fā)人員提供了運(yùn)行時(shí)見解,以優(yōu)化神經(jīng)網(wǎng)絡(luò)模型架構(gòu),系統(tǒng)參數(shù)和運(yùn)行時(shí)性能。

2. Glow編譯器使用計(jì)算圖為ML應(yīng)用程序生成優(yōu)化的機(jī)器代碼。

像Glow編譯器這樣的ML工具可以簡(jiǎn)化ML /神經(jīng)網(wǎng)絡(luò)開發(fā),并增強(qiáng)低功耗MCU的邊緣處理性能。 GitHub上的Glow的現(xiàn)成標(biāo)準(zhǔn)版本與設(shè)備無關(guān),使開發(fā)人員可以靈活地為領(lǐng)先的處理器架構(gòu)(包括基于Arm Cortex-A和Cortex-M內(nèi)核的架構(gòu))編譯神經(jīng)網(wǎng)絡(luò)模型。

為了幫助簡(jiǎn)化ML項(xiàng)目,恩智浦將Glow與eIQ開發(fā)環(huán)境及其MCUXpresso SDK集成在一起。它將Glow編譯器和量化工具組合到易于使用的安裝程序中,并附有詳細(xì)的文檔以幫助開發(fā)人員快速運(yùn)行其模型。這種經(jīng)過優(yōu)化的Glow實(shí)施針對(duì)Arm Cortex-M內(nèi)核和Cadence Tensilica HiFi 4 DSP,并為i.MX RT系列MCU提供了特定于平臺(tái)的優(yōu)化。

恩智浦使用CIFAR-10數(shù)據(jù)集作為神經(jīng)網(wǎng)絡(luò)模型基準(zhǔn),最近測(cè)試了i.MX RT1060 MCU,以評(píng)估不同Glow編譯器版本之間的性能差異。恩智浦還在i.MX RT685 MCU上進(jìn)行了測(cè)試,i.MX RT685 MCU是目前唯一具有針對(duì)處理神經(jīng)網(wǎng)絡(luò)操作員進(jìn)行了優(yōu)化的集成DSP的i.MX RT系列設(shè)備。

i.MX RT1060包含600 MHz Arm Cortex-M7、1 MB SRAM,以及針對(duì)實(shí)時(shí)應(yīng)用優(yōu)化的功能,例如高速GPIO,CAN-FD和同步并行NAND / NOR / PSRAM控制器。 i.MX RT685包含一個(gè)600 MHz的Cadence Tensilica HiFi 4 DSP內(nèi)核,一個(gè)300 MHz的Arm Cortex-M33內(nèi)核和4.5 MB的片上SRAM,以及與安全相關(guān)的功能。

恩智浦的Glow實(shí)施與Cadence的神經(jīng)網(wǎng)絡(luò)庫(kù)NNLib緊密結(jié)合。盡管RT685 MCU的HiFi 4 DSP內(nèi)核旨在增強(qiáng)語音處理能力,但與NNLib庫(kù)一起用作Glow的LLVM后端時(shí),它也能夠加速各種神經(jīng)網(wǎng)絡(luò)。盡管NNLib與CMSIS-NN類似,但它提供了一組針對(duì)HiFi4 DSP優(yōu)化的更全面的手動(dòng)調(diào)諧運(yùn)算符?;谙嗤腃IFAR-10基準(zhǔn)示例,與標(biāo)準(zhǔn)的Glow編譯器實(shí)現(xiàn)相比,HiFi4 DSP將神經(jīng)網(wǎng)絡(luò)操作的性能提高了25倍。

使用PyTorch進(jìn)行基于MCU的ML開發(fā)

PyTorch是一個(gè)開放源代碼的機(jī)器學(xué)習(xí)框架,主要由Facebook的AI研究實(shí)驗(yàn)室開發(fā),并基于Torch庫(kù),已被開發(fā)人員廣泛用于創(chuàng)建ML /深度學(xué)習(xí)項(xiàng)目和產(chǎn)品。PyTorch是MCU目標(biāo)的不錯(cuò)選擇,因?yàn)樗鼘?duì)處理平臺(tái)的限制極小,并且能夠生成ONNX模型,該模型可以由Glow進(jìn)行編譯。

由于開發(fā)人員可以通過PyTorch直接訪問Glow,因此他們可以在同一開發(fā)環(huán)境中構(gòu)建和編譯模型,從而省去了步驟并簡(jiǎn)化了編譯過程。開發(fā)人員還可以直接從Python腳本生成捆綁包,而無需先生成ONNX模型。

直到最近,ONNX和Caffe2還是Glow支持的唯一輸入模型格式。 PyTorch現(xiàn)在可以將模型直接導(dǎo)出為ONNX格式以供使用。由于以其他格式(例如TensorFlow)創(chuàng)建了許多知名模型,因此可以使用

開源模型轉(zhuǎn)換工具將其轉(zhuǎn)換為ONNX格式。流行的格式轉(zhuǎn)換工具包括MMdnn和tf2onnx,MMdnn是Microsoft支持的工具集,可幫助用戶在不同的深度學(xué)習(xí)框架之間進(jìn)行互操作;tf2onnx用于將TensorFlow模型轉(zhuǎn)換為ONNX。

結(jié)論

機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)繼續(xù)快速發(fā)展。同時(shí),我們看到能夠運(yùn)行ML /深度學(xué)習(xí)算法并無需云干預(yù)就能做出自主決策的IoT和其他邊緣設(shè)備的強(qiáng)勁市場(chǎng)勢(shì)頭。盡管將信息從云遷移到網(wǎng)絡(luò)邊緣是不可阻擋的趨勢(shì),但隨著開發(fā)人員尋求優(yōu)化ML應(yīng)用程序以使其在具有功耗,處理和內(nèi)存約束的微型邊緣設(shè)備上運(yùn)行的方法,挑戰(zhàn)也隨之而來。

正如建筑師和建筑商需要專門的工具來建造未來的房屋和城市一樣,主流開發(fā)商也需要優(yōu)化,易于使用的軟件工具和框架,以簡(jiǎn)化在嵌入式平臺(tái)上創(chuàng)建ML /深度學(xué)習(xí)項(xiàng)目的過程。 DeepView ML工具套件,Glow ML編譯器和PyTorch框架例證了不斷增長(zhǎng)的開發(fā)資源浪潮,這些資源將幫助嵌入式開發(fā)人員創(chuàng)建下一代智能邊緣應(yīng)用程序。

編輯:hfy

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

    評(píng)論

    相關(guān)推薦

    FPGA芯片用于神經(jīng)網(wǎng)絡(luò)算法優(yōu)化的設(shè)計(jì)實(shí)現(xiàn)方案

    前言 AI芯片(這里只談FPGA芯片用于神經(jīng)網(wǎng)絡(luò)加速)的優(yōu)化主要有三個(gè)方面:算法優(yōu)化,編譯器優(yōu)化
    的頭像 發(fā)表于 09-29 11:36 ?4961次閱讀
    FPGA芯片用于<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>算法<b class='flag-5'>優(yōu)化</b>的設(shè)計(jì)實(shí)現(xiàn)方案

    使用稀疏計(jì)算和Facebook Glow進(jìn)行神經(jīng)網(wǎng)絡(luò)優(yōu)化

      修剪神經(jīng)網(wǎng)絡(luò)正迅速成為神經(jīng)網(wǎng)絡(luò)開發(fā)人員的一種常見做法,因?yàn)樗麄冊(cè)噲D在不犧牲準(zhǔn)確性的情況下提高性能。與此同時(shí),F(xiàn)acebook Glow 正在解決處理碎片化問題,以免阻礙人工智能的
    發(fā)表于 07-06 14:37 ?960次閱讀
    使用稀疏<b class='flag-5'>計(jì)算</b>和Facebook <b class='flag-5'>Glow</b>進(jìn)行<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b><b class='flag-5'>優(yōu)化</b>

    Glow神經(jīng)網(wǎng)絡(luò)編譯器首次應(yīng)用于MCU,面向邊緣機(jī)器學(xué)習(xí)

    率先開發(fā)PyTorch的Facebook推出了開源社區(qū)項(xiàng)目Glow(Graph Lowering神經(jīng)網(wǎng)絡(luò)編譯器),其目的是提供優(yōu)化,提高一系
    發(fā)表于 08-05 14:32 ?1635次閱讀

    粒子群優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)在語音識(shí)別中的應(yīng)用

    一定的早熟收斂問題,引入一種自適應(yīng)動(dòng)態(tài)改變慣性因子的PSO算法,使算法具有較強(qiáng)的全局搜索能力.將此算法訓(xùn)練的模糊神經(jīng)網(wǎng)絡(luò)應(yīng)用于語音識(shí)別中,結(jié)果表明,與BP算法相比,粒子群優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 05-06 09:05

    超低功耗FPGA解決方案助力機(jī)器學(xué)習(xí)

    IoT應(yīng)用。通過提供結(jié)合了靈活、超低功耗FPGA硬件和軟件解決方案、功能全面的機(jī)器學(xué)習(xí)推理技術(shù),Lattice sensAI將加速網(wǎng)絡(luò)邊緣設(shè)
    發(fā)表于 05-23 15:31

    發(fā)布MCU上跑的輕量神經(jīng)網(wǎng)絡(luò)包 NNoM, 讓MCU也神經(jīng)一把

    神經(jīng)網(wǎng)絡(luò)包。AIoT那么火,為何大家卻止步于科普文?因?yàn)楝F(xiàn)成的機(jī)器學(xué)習(xí)框架都太復(fù)雜太難用。NNoM從一開始就被設(shè)計(jì)成提供給嵌入式大佬們的一個(gè)簡(jiǎn)單易用的神經(jīng)網(wǎng)絡(luò)框架。你不需要會(huì)Tens
    發(fā)表于 05-01 19:03

    機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)參數(shù)的代價(jià)函數(shù)

    吳恩達(dá)機(jī)器學(xué)習(xí)筆記之神經(jīng)網(wǎng)絡(luò)參數(shù)的反向傳播算法
    發(fā)表于 05-22 15:11

    ETPU-Z2全可編程神經(jīng)網(wǎng)絡(luò)開發(fā)平臺(tái)

    )EEP-TPU算法編譯神經(jīng)網(wǎng)絡(luò)算法的開發(fā)工作通常在X86架構(gòu)的服務(wù)上完成,而EEP-TPU則是一種與X86完全不同的計(jì)算架構(gòu)。因此,上述訓(xùn)練所得的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)重參數(shù)文件,需要按
    發(fā)表于 05-18 17:13

    基于帶NNIE神經(jīng)網(wǎng)絡(luò)海思3559A方案邊緣計(jì)算主板開發(fā)及接口定義

    (4GB/8GB可選) ,eMMC(8GB/16GB/32GB/64GB/128GB可選)-雙核NNIE@840MHz 神經(jīng)網(wǎng)絡(luò)加速引擎-四核 DSP@700MHz,32K I-Cache /32K
    發(fā)表于 06-20 11:32

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)是一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測(cè)的計(jì)算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)包括:輸入層:根據(jù)現(xiàn)有數(shù)據(jù)獲取輸入的層隱藏層:使用反
    發(fā)表于 07-12 08:02

    邊緣計(jì)算的相關(guān)資料推薦

    面向邊緣計(jì)算的嵌入式FPGA平臺(tái)卷積神經(jīng)網(wǎng)絡(luò)的構(gòu)建 通過設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)函數(shù)中的網(wǎng)絡(luò)層間可復(fù)用的加速器
    發(fā)表于 12-23 07:26

    恩智浦eIQ? Neutron神經(jīng)處理單元

    的支持。將恩智浦開發(fā)的硬件加速和軟件支持相結(jié)合,用戶能夠利用恩智浦邊緣處理產(chǎn)品組合的優(yōu)勢(shì),并保證即使在部署了設(shè)備并投入實(shí)地使用之后,也能更高效地支持新興機(jī)器學(xué)習(xí)
    發(fā)表于 02-17 13:51

    卷積神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介:什么是機(jī)器學(xué)習(xí)?

    抽象人工智能 (AI) 的世界正在迅速發(fā)展,人工智能越來越多地支持以前無法實(shí)現(xiàn)或非常難以實(shí)現(xiàn)的應(yīng)用程序。本系列文章解釋了卷積神經(jīng)網(wǎng)絡(luò) (CNN) 及其在 AI 系統(tǒng)中機(jī)器學(xué)習(xí)中的重要性。CNN 是從
    發(fā)表于 02-23 20:11

    基于神經(jīng)網(wǎng)絡(luò)優(yōu)化計(jì)算實(shí)驗(yàn)

    掌握連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和運(yùn)行機(jī)制,理解連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)用于優(yōu)化計(jì)算的基本原理,掌握連續(xù)Hopfield神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 05-31 17:02 ?43次下載

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

    神經(jīng)網(wǎng)絡(luò)加速器是一種專門設(shè)計(jì)用于提高神經(jīng)網(wǎng)絡(luò)計(jì)算效率的硬件設(shè)備。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展和廣泛應(yīng)用,
    的頭像 發(fā)表于 07-11 10:40 ?545次閱讀