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

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

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

邊緣計(jì)算的未來(lái)是MCU上的深度學(xué)習(xí)

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-10-30 06:43 ? 次閱讀

就在幾年前,人們普遍認(rèn)為,機(jī)器學(xué)習(xí)(ML)甚至深度學(xué)習(xí)(DL)只能通過(guò)由網(wǎng)關(guān)、邊緣服務(wù)器或數(shù)據(jù)中心執(zhí)行的邊緣訓(xùn)練和推理,在高端硬件上完成。這種想法在當(dāng)時(shí)不無(wú)道理,因?yàn)樵谠贫撕瓦吘壷g分配計(jì)算資源的趨勢(shì)尚處于早期發(fā)展階段。但如今,得益于業(yè)界和學(xué)術(shù)界的艱苦研發(fā)和不懈努力,情況已然發(fā)生了翻天覆地的變化。

處理器不必提供每秒數(shù)萬(wàn)億次操作(TOPS),也能執(zhí)行機(jī)器學(xué)習(xí)(ML)。越來(lái)越多的用例證明,只要使用最新微控制器(部分帶有嵌入式 ML 加速器),就能在邊緣設(shè)備上開展機(jī)器學(xué)習(xí)。

只需極低的成本和極低的功耗,這些設(shè)備就能出色地完成 ML,僅在絕對(duì)必要時(shí)才連接到云。簡(jiǎn)而言之,內(nèi)置 ML 加速器的微控制器代表著物聯(lián)網(wǎng)發(fā)展的下一階段:在生產(chǎn)數(shù)據(jù)的源頭,例如麥克風(fēng)、攝像頭和監(jiān)控其他環(huán)境條件的傳感器中引入智能計(jì)算,并使物聯(lián)網(wǎng)應(yīng)用受益。

邊緣有多深?

目前普遍認(rèn)為邊緣是物聯(lián)網(wǎng)網(wǎng)絡(luò)的最遠(yuǎn)點(diǎn),但通常指先進(jìn)的網(wǎng)關(guān)或邊緣服務(wù)器。不過(guò),這并不是邊緣的盡頭。真正的盡頭是鄰近用戶的傳感器。所以,合乎邏輯的做法是將盡可能多的分析能力安排在鄰近用戶的位置,而這也正是微處理器所擅長(zhǎng)的。


不同寬度乘數(shù)下的多個(gè) MobileNet V1 模型。寬度乘數(shù)對(duì)參數(shù)的數(shù)量、計(jì)算結(jié)果和精度都有顯著影響。但是,如果只是將寬度乘數(shù)從 1.0 改為 0.75,TOP-1 精度并無(wú)太大變化,參數(shù)的數(shù)量和算力需求卻明顯不同。

可以說(shuō),單板計(jì)算機(jī)也能用于邊緣處理,因?yàn)樗鼈兙哂谐錾男阅?,其集群可媲美一臺(tái)小型超級(jí)計(jì)算機(jī)。但問(wèn)題是尺寸依然過(guò)大,而且對(duì)于大規(guī)模應(yīng)用所需的成百上千次部署而言,成本過(guò)于高昂。它們還需要連接外部直流電源,在某些情況下可能超出可用范圍;相比之下,MCU 的功耗只有幾毫瓦,并且可以使用紐扣電池或一些太陽(yáng)能電池來(lái)供電。

毫無(wú)意外,用于在邊緣執(zhí)行 ML 的微控制器成為了十分熱門的研發(fā)領(lǐng)域。甚至還有專有名稱– TinyML。TinyML 的目標(biāo)就是允許在資源受限的小型低功耗設(shè)備(尤其是微控制器),而不是在更大的平臺(tái)或云端上執(zhí)行模型推理,甚至最終能實(shí)現(xiàn)模型訓(xùn)練。這就需要縮小神經(jīng)網(wǎng)絡(luò)模型的尺寸,以容納這些設(shè)備中相對(duì)較少的算力、存儲(chǔ)空間和帶寬資源,同時(shí)不會(huì)嚴(yán)重降低功能性和精度。

這些方案對(duì)資源進(jìn)行了優(yōu)化,使設(shè)備可以采集充足的傳感器數(shù)據(jù)并發(fā)揮恰當(dāng)作用,同時(shí)微調(diào)精度并降低資源要求。因此,雖然數(shù)據(jù)可能仍被發(fā)送到云端(或者可能是先發(fā)送到邊緣網(wǎng)關(guān),然后再發(fā)送到云端),但數(shù)量少得多,因?yàn)橄喈?dāng)大一部分的分析已經(jīng)完成。

現(xiàn)實(shí)中,一個(gè)十分常見(jiàn)的 TinyML 用例就是基于攝像頭的對(duì)象檢測(cè)系統(tǒng),盡管能夠捕獲高分辨率圖像,但由于存儲(chǔ)空間有限,只能降低圖像分辨率??墒?,如果攝像頭內(nèi)置了數(shù)據(jù)分析功能,則只會(huì)捕獲所需的對(duì)象而非整個(gè)場(chǎng)景,而且因?yàn)橄嚓P(guān)的圖像區(qū)域更小,能保留高分辨率圖像。這種功能通常只見(jiàn)于更大型、性能更強(qiáng)大的設(shè)備,但是 TinyML 技術(shù)使得微控制器也能實(shí)現(xiàn)。

小巧卻不簡(jiǎn)單

盡管 TinyML 還只是相對(duì)較新的一種范式,但已經(jīng)表現(xiàn)出了不容小覷的推理能力(即便使用的是相對(duì)溫和的微控制器)和訓(xùn)練(在性能更強(qiáng)大的微控制器上)成效,且精度損耗控制在最低限度。最近的示例包括:語(yǔ)音和面部識(shí)別、語(yǔ)音命令和自然語(yǔ)言處理,甚至同時(shí)運(yùn)行多個(gè)復(fù)雜的視覺(jué)算法。

實(shí)際說(shuō)來(lái),這意味著一臺(tái)裝載 500-MHz Arm Cortex-M7 內(nèi)核的微控制器,花費(fèi)不超過(guò) 2 美元,內(nèi)存容量從 28 Kb 到 128 KB 不等,卻能提供強(qiáng)大的性能,使傳感器實(shí)現(xiàn)真正智能。例如,恩智浦的 i.MX RT 跨界 MCU 就使用運(yùn)行 TensorFlow Lite 運(yùn)行時(shí)引擎的小型 ML 模型實(shí)現(xiàn)了此種性能。以基本對(duì)象識(shí)別為例,通常在 200 ms 內(nèi)即可完成,而且精度接近 95%。

即使在這個(gè)價(jià)格和性能水平上,這些微處理器配備了多個(gè)安全功能(包括 AES-128),并支持多個(gè)外部存儲(chǔ)器類型、以太網(wǎng)、USB 和 SPI,同時(shí)還包含或支持多種類型的傳感器以及藍(lán)牙Wi-Fi、SPDIF 和 I2C 音頻接口。價(jià)格稍高一些的設(shè)備則是通常搭載 1-GHz Arm Cortex-M7、400-MHz Cortex-M4、2 Mbytes RAM 和圖形加速。采用 3.3 VDC 電源供電時(shí),功耗一般遠(yuǎn)低于單板計(jì)算機(jī)。

TOPS 概述

會(huì)使用單一指標(biāo)來(lái)評(píng)判性能的不僅是消費(fèi)者;設(shè)計(jì)者和市場(chǎng)營(yíng)銷部門也一直如此,因?yàn)樽鳛橐豁?xiàng)主要規(guī)格,它可以輕松地區(qū)分設(shè)備。一個(gè)經(jīng)典示例就是 CPU,多年來(lái)人們一直通過(guò)時(shí)鐘速率來(lái)評(píng)判性能;幸運(yùn)的是,現(xiàn)在的設(shè)計(jì)者和消費(fèi)者已不再如此。只用一個(gè)指標(biāo)評(píng)定 CPU 性能就像是按照發(fā)動(dòng)機(jī)的峰值轉(zhuǎn)速來(lái)評(píng)估汽車性能。盡管峰值轉(zhuǎn)速有一定參考意義,但幾乎無(wú)法體現(xiàn)發(fā)動(dòng)機(jī)的強(qiáng)勁或汽車的駕駛性能,這些特性取決于許多其他因素。

遺憾的是,同樣的尷尬也發(fā)生在以每秒數(shù)十億次或上萬(wàn)億次操作來(lái)界定的神經(jīng)網(wǎng)絡(luò)加速器(包括高性能 MPU 或微控制器中的加速器),原因一樣,簡(jiǎn)單的數(shù)字好記。在實(shí)踐中,單獨(dú)的 GOPS 和 TOPS 只是相對(duì)無(wú)意義的指標(biāo),代表的是實(shí)驗(yàn)室而非實(shí)際操作環(huán)境中的一次測(cè)量結(jié)果(毫無(wú)疑問(wèn)是最好的結(jié)果)。例如,TOPS 沒(méi)有考慮內(nèi)存帶寬的限制、所需要的 CPU 開支、預(yù)處理和后處理以及其他因素。如果將所有這些和其他因素都一并考慮在內(nèi),例如在實(shí)際操作中應(yīng)用于特定電路板時(shí),系統(tǒng)級(jí)別的性能或許只能達(dá)到數(shù)據(jù)表上 TOPS 值的 50%或 60%。

所有這些數(shù)字都是硬件中的計(jì)算單元乘以對(duì)應(yīng)的時(shí)鐘速率所得到的數(shù)值,而不是上需要運(yùn)行時(shí)數(shù)據(jù)已經(jīng)就緒的頻率。如果數(shù)據(jù)一直即時(shí)可用,也不存在功耗問(wèn)題和內(nèi)存限制,并且算法能無(wú)縫映射到硬件,則這種統(tǒng)計(jì)方式更有參考價(jià)值。然而,現(xiàn)實(shí)中并沒(méi)有這樣理想的環(huán)境。

當(dāng)應(yīng)用于微控制器中的 ML 加速器時(shí),該指標(biāo)更沒(méi)有價(jià)值。這些小型設(shè)備的 GOPS 值通常在 1-3 之間,但仍然能夠提供許多 ML 應(yīng)用中所需要的推理功能。這些設(shè)備也依賴專為低功耗 ML 應(yīng)用而設(shè)計(jì)的 Arm Cortex 處理器。除了支持整數(shù)和浮點(diǎn)運(yùn)算以及微控制器中的許多其他功能之外,TOPS 或其他任何單一指標(biāo)明顯無(wú)法充分定義性能,無(wú)論是單獨(dú)使用還是在系統(tǒng)中都是如此。

結(jié)論

隨著物聯(lián)網(wǎng)領(lǐng)域進(jìn)一步發(fā)展,在邊緣執(zhí)行盡可能多的處理,逐漸出現(xiàn)一種需求,即在直接位于或附著于傳感器上的微控制器上執(zhí)行推理。也就是說(shuō),微處理器中應(yīng)用處理器和神經(jīng)網(wǎng)絡(luò)加速器的發(fā)展速度十分迅猛,更完善的解決方案也層出不窮??傮w趨勢(shì)是將更多以人工智能為中心的功能(例如神經(jīng)網(wǎng)絡(luò)處理)與應(yīng)用處理器一起整合到微處理器中,同時(shí)避免功耗或尺寸顯著增加。

如今,可以先在功能更強(qiáng)大的 CPU 或 GPU 上訓(xùn)練模型,然后在使用推理引擎(例如 TensorFlow Lite)的微控制器上實(shí)施,從而減小尺寸以滿足微控制器的資源要求??奢p松擴(kuò)展,以適應(yīng)更高的 ML 要求。相信不久之后,推理和訓(xùn)練就能在這些設(shè)備上同時(shí)執(zhí)行,讓微控制器的競(jìng)爭(zhēng)力直追更大、更昂貴的計(jì)算解決方案。


審核編輯 黃昊宇

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

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347808
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120593
  • 邊緣計(jì)算
    +關(guān)注

    關(guān)注

    22

    文章

    2986

    瀏覽量

    47823
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    深度學(xué)習(xí)模型量化方法

    深度學(xué)習(xí)模型量化是一種重要的模型輕量化技術(shù),旨在通過(guò)減少網(wǎng)絡(luò)參數(shù)的比特寬度來(lái)減小模型大小和加速推理過(guò)程,同時(shí)盡量保持模型性能。從而達(dá)到把模型部署到邊緣或者低算力設(shè)備,實(shí)現(xiàn)降本增效的目
    的頭像 發(fā)表于 07-15 11:01 ?345次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>模型量化方法

    深度學(xué)習(xí)中的時(shí)間序列分類方法

    的發(fā)展,基于深度學(xué)習(xí)的TSC方法逐漸展現(xiàn)出其強(qiáng)大的自動(dòng)特征提取和分類能力。本文將從多個(gè)角度對(duì)深度學(xué)習(xí)在時(shí)間序列分類中的應(yīng)用進(jìn)行綜述,探討常用的深度
    的頭像 發(fā)表于 07-09 15:54 ?377次閱讀

    基于深度學(xué)習(xí)的小目標(biāo)檢測(cè)

    計(jì)算機(jī)視覺(jué)領(lǐng)域,目標(biāo)檢測(cè)一直是研究的熱點(diǎn)和難點(diǎn)之一。特別是在小目標(biāo)檢測(cè)方面,由于小目標(biāo)在圖像中所占比例小、特征不明顯,使得檢測(cè)難度顯著增加。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,尤其是卷積神經(jīng)網(wǎng)絡(luò)(CNN
    的頭像 發(fā)表于 07-04 17:25 ?424次閱讀

    深度學(xué)習(xí)模型訓(xùn)練過(guò)程詳解

    深度學(xué)習(xí)模型訓(xùn)練是一個(gè)復(fù)雜且關(guān)鍵的過(guò)程,它涉及大量的數(shù)據(jù)、計(jì)算資源和精心設(shè)計(jì)的算法。訓(xùn)練一個(gè)深度學(xué)習(xí)模型,本質(zhì)
    的頭像 發(fā)表于 07-01 16:13 ?492次閱讀

    深度學(xué)習(xí)計(jì)算機(jī)視覺(jué)領(lǐng)域的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其中的核心技術(shù)之一,已經(jīng)在計(jì)算機(jī)視覺(jué)領(lǐng)域取得了顯著的成果。計(jì)算機(jī)視覺(jué),作為計(jì)算機(jī)科學(xué)的一個(gè)重要分支,
    的頭像 發(fā)表于 07-01 11:38 ?433次閱讀

    邊緣計(jì)算是什么意思?邊緣計(jì)算的應(yīng)用

    邊緣計(jì)算(Edge Computing)是一種分布式計(jì)算范式,它將計(jì)算任務(wù)從數(shù)據(jù)中心遷移到網(wǎng)絡(luò)邊緣設(shè)備(如智能手機(jī)、物聯(lián)網(wǎng)傳感器等)上進(jìn)行處
    的頭像 發(fā)表于 05-31 14:19 ?467次閱讀

    邊緣計(jì)算網(wǎng)關(guān)是什么?有什么作用

    、低成本、隱私安全以及本地自治的本地計(jì)算服務(wù)。那么,邊緣計(jì)算網(wǎng)關(guān)究竟是什么呢?它又有什么作用呢?接下來(lái),我們將進(jìn)行深度解析。 首先,讓我們來(lái)理解邊緣
    的頭像 發(fā)表于 04-16 15:25 ?2524次閱讀
    <b class='flag-5'>邊緣</b><b class='flag-5'>計(jì)算</b>網(wǎng)關(guān)是什么?有什么作用

    為什么深度學(xué)習(xí)的效果更好?

    導(dǎo)讀深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子集,已成為人工智能領(lǐng)域的一項(xiàng)變革性技術(shù),在從計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理到自動(dòng)駕駛汽車等廣泛的應(yīng)用中取得了顯著的成功。深度
    的頭像 發(fā)表于 03-09 08:26 ?502次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的效果更好?

    為什么需要邊緣計(jì)算

    邊緣計(jì)算是指在網(wǎng)絡(luò)邊緣執(zhí)行計(jì)算的一種新型計(jì)算模型,邊緣計(jì)算
    發(fā)表于 02-28 14:20 ?443次閱讀
    為什么需要<b class='flag-5'>邊緣</b><b class='flag-5'>計(jì)算</b>

    什么是邊緣計(jì)算邊緣計(jì)算有哪些應(yīng)用?

    什么是邊緣計(jì)算,邊緣計(jì)算有哪些應(yīng)用? 邊緣計(jì)算是一種將計(jì)算
    的頭像 發(fā)表于 01-09 11:29 ?1290次閱讀

    邊緣計(jì)算邊緣智能計(jì)算區(qū)別

    邊緣計(jì)算邊緣智能計(jì)算是兩個(gè)相關(guān)但不同的概念。邊緣計(jì)算指的是數(shù)據(jù)處理和存儲(chǔ)在靠近數(shù)據(jù)源的
    的頭像 發(fā)表于 12-27 15:28 ?764次閱讀

    邊緣計(jì)算平臺(tái)是什么配置的

    邊緣計(jì)算平臺(tái)是一個(gè)分布式計(jì)算架構(gòu),可以在靠近數(shù)據(jù)源的邊緣設(shè)備執(zhí)行計(jì)算任務(wù)。它解決了傳統(tǒng)
    的頭像 發(fā)表于 12-27 15:23 ?729次閱讀

    邊緣計(jì)算框架有哪些

    邊緣計(jì)算架構(gòu)是一種將計(jì)算能力、存儲(chǔ)和分析功能盡可能地靠近數(shù)據(jù)源的計(jì)算模型。它通過(guò)將計(jì)算任務(wù)從中心數(shù)據(jù)中心移至近距離的設(shè)備
    的頭像 發(fā)表于 12-27 15:01 ?1137次閱讀

    深度學(xué)習(xí)技術(shù)與邊緣學(xué)習(xí)技術(shù)的不同之處

    如今,AI技術(shù)的廣泛應(yīng)用已經(jīng)成為推動(dòng)制造和物流領(lǐng)域自動(dòng)化的核心驅(qū)動(dòng)力??的鸵曀瞥龅?b class='flag-5'>深度學(xué)習(xí)邊緣學(xué)習(xí)技術(shù),這兩種基于AI的技術(shù),在工業(yè)自動(dòng)化領(lǐng)域有著廣泛的應(yīng)用前景。然而,由于這兩種技
    的頭像 發(fā)表于 11-17 10:44 ?476次閱讀

    什么是邊緣計(jì)算盒子(AI算法盒子)?

    高效的數(shù)據(jù)處理和實(shí)時(shí)響應(yīng)。以下是關(guān)于邊緣計(jì)算盒子的介紹:一、什么是邊緣計(jì)算盒子?邊緣計(jì)算盒子是一
    的頭像 發(fā)表于 10-31 14:29 ?2298次閱讀
    什么是<b class='flag-5'>邊緣</b><b class='flag-5'>計(jì)算</b>盒子(AI算法盒子)?