隨著邊緣機(jī)器學(xué)習(xí) (ML) 應(yīng)用的不斷發(fā)展,EE 需要了解邊緣的
ML,尤其是在處理和處理硬件方面。
隨著邊緣的日益擴(kuò)散 機(jī)器學(xué)習(xí)
技術(shù)上,工程師有必要了解什么是邊緣的ML以及不同類(lèi)型的硬件如何適合其各種應(yīng)用。這首先是一個(gè)定義問(wèn)題。邊緣節(jié)點(diǎn)不僅僅是依賴于云服務(wù)的設(shè)備,如果不合理詳細(xì)地了解邊緣的
ML 到底是什么(以及它的優(yōu)點(diǎn)和缺點(diǎn)),就無(wú)法正確指定邊緣 ML 產(chǎn)品/應(yīng)用程序。
在邊緣使用 ML
的工程師必須在設(shè)計(jì)過(guò)程開(kāi)始時(shí)考慮相關(guān)的應(yīng)用功能和產(chǎn)品尺寸。這不是一個(gè)小考慮因素。不考慮這些基本設(shè)計(jì)注意事項(xiàng)的項(xiàng)目可能會(huì)遇到額外的設(shè)計(jì)周期和效率低下的問(wèn)題,這些周期和效率低下會(huì)在整個(gè)成品的生命周期中級(jí)聯(lián)。
圖 1 顯示了邊緣設(shè)備和應(yīng)用程序的高級(jí)概述。
圖1. 邊緣和邊緣設(shè)備的概述。圖片由恩智浦提供
為了解決這一基本設(shè)計(jì)問(wèn)題,本文首先在邊緣定義 ML,并探討哪些處理設(shè)備適合此領(lǐng)域。然后,它檢查了這些設(shè)備的處理能力問(wèn)題,并以一個(gè)示例 ML
應(yīng)用程序結(jié)束,該應(yīng)用程序說(shuō)明了設(shè)計(jì)人員如何開(kāi)始考慮本文中討論的一些注意事項(xiàng)。
尋找合適的 ML 邊緣設(shè)備的優(yōu)點(diǎn)和缺點(diǎn)
邊緣節(jié)點(diǎn)(圖 2)與僅依賴云服務(wù)進(jìn)行計(jì)算的設(shè)備之間的區(qū)別在于邊緣設(shè)備完成的處理。如果該處理步驟包括使用 ML 算法,則可以將設(shè)備歸類(lèi)為 ML
邊緣設(shè)備。
圖2. 邊緣計(jì)算和終端節(jié)點(diǎn)的示例。圖片由 恩智浦
處理步驟可以像計(jì)算移動(dòng)平均線或丟棄無(wú)效傳感器讀數(shù)一樣簡(jiǎn)單。但是,在將數(shù)據(jù)上傳到云之前,涉及更多應(yīng)用程序可能會(huì)執(zhí)行基于 ML
的任務(wù),例如關(guān)鍵字檢測(cè)或語(yǔ)音到文本轉(zhuǎn)換。因此,邊緣設(shè)備可以在本地執(zhí)行所有處理,也可以使用混合方法,在云中進(jìn)行本地預(yù)處理和進(jìn)一步處理以及數(shù)據(jù)存儲(chǔ)。
與純粹基于云的方法相比,在邊緣使用 ML 的好處包括減少延遲和提高安全性。邊緣的 ML 允許實(shí)時(shí)推理,而從未上傳到云的數(shù)據(jù)更難泄露。
但是,與云相比,邊緣設(shè)備的處理能力通常較低。因此,它們通常不能作用于工程師可以在基于云的應(yīng)用程序中部署的相同模型。工程師必須仔細(xì)選擇他們?cè)谶吘壥褂玫乃惴ê图夹g(shù),以確保應(yīng)用程序達(dá)到所需的性能水平。
根據(jù)應(yīng)用程序的不同,一些邊緣節(jié)點(diǎn)還必須存儲(chǔ)它們收集和處理的數(shù)據(jù),然后再將其上傳到云。云中的存儲(chǔ)空間通常很充足。但是,在邊緣,必須仔細(xì)考慮如何將外部存儲(chǔ)添加到邊緣節(jié)點(diǎn)以及它們連接到設(shè)備的存儲(chǔ)介質(zhì)類(lèi)型。因此,他們應(yīng)該研究具有不同連接選項(xiàng)的邊緣處理器,以確保在為其應(yīng)用程序選擇存儲(chǔ)介質(zhì)時(shí)有更多選擇。
工程師還必須確保邊緣節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)是安全的,并防止未經(jīng)授權(quán)的訪問(wèn)和篡改。功能如 硬件加密/解密 支持可以幫助保護(hù)邊緣的敏感客戶和運(yùn)營(yíng)數(shù)據(jù)。
機(jī)器學(xué)習(xí)的處理單元類(lèi)型
近年來(lái),整體處理性能和能力有了相當(dāng)大的進(jìn)步。此外,這些器件的成本和功耗顯著降低。其中許多器件包括多個(gè)專(zhuān)用處理內(nèi)核,用于并行執(zhí)行各種特定任務(wù)。此外,針對(duì)物聯(lián)網(wǎng)和邊緣計(jì)算市場(chǎng)的微控制器通常還包含大量最先進(jìn)的連接和安全選項(xiàng)。
由于邊緣處理能力的顯著提高,邊緣設(shè)備可以執(zhí)行越來(lái)越多的以前在云中執(zhí)行的 ML 任務(wù)。ML 推理通常發(fā)生在邊緣,而云則提供增強(qiáng)的分析功能以增強(qiáng) ML
邊緣應(yīng)用程序。
微處理器依靠通過(guò)系統(tǒng)總線連接到處理器的外部支持設(shè)備來(lái)執(zhí)行各種任務(wù),而 MPU 將所有必要的功能集成到單個(gè) 片上系統(tǒng) (SoC)。這樣的 MPU
可以包含多個(gè)專(zhuān)用處理單元、閃存、 內(nèi)存和只讀存儲(chǔ)器和外圍控制器,例如以太網(wǎng)接口。MPU 可以使用內(nèi)部處理單元執(zhí)行邊緣 ML 計(jì)算,例如:
中央處理單元 (中央處理器)
圖形處理單元 (GPU)
數(shù)字信號(hào)處理器 (數(shù)字通訊)
神經(jīng)處理單元
工程師可以獨(dú)立使用這些處理單元;但是,某些應(yīng)用程序可能需要多個(gè)處理器才能協(xié)同工作。
中央處理器和單片機(jī)
大多數(shù) CPU 和 MCU 包含多個(gè)處理內(nèi)核,與單核架構(gòu)相比,它們每秒可以執(zhí)行更多的計(jì)算。它們針對(duì)快速執(zhí)行復(fù)雜命令鏈進(jìn)行了優(yōu)化,這對(duì)于要求更高的 ML
應(yīng)用程序來(lái)說(shuō)可能很困難。
顯卡
專(zhuān)用 GPU 擅長(zhǎng)執(zhí)行許多簡(jiǎn)單的計(jì)算,例如并行矩陣乘法。將它們用于 ML 應(yīng)用程序時(shí)的一個(gè)問(wèn)題可能是內(nèi)存的可用性。雖然 CPU
通常可以訪問(wèn)系統(tǒng)中的大量 RAM,但由于訪問(wèn)速度更快、數(shù)據(jù)吞吐量更高,GPU 通常使用其內(nèi)置視頻內(nèi)存。
凈動(dòng)力單位
工程師可以在其 ML 應(yīng)用程序設(shè)計(jì)中使用 NPU,有時(shí)被某些制造商稱(chēng)為 NNP 或 TPU。這些專(zhuān)用電路實(shí)現(xiàn)執(zhí)行 ML
算法所需的控制和算術(shù)邏輯塊。NPU 可加速 ML 任務(wù),并允許工程師實(shí)現(xiàn)更高級(jí)的用例,而這些用例是通用 CPU 或 GPU 等硬件無(wú)法實(shí)現(xiàn)的。
處理能力是 ML 應(yīng)用程序的關(guān)鍵考慮因素
從高級(jí)角度來(lái)看,ML 可以分為三種常見(jiàn)的應(yīng)用程序類(lèi)型。這三個(gè)學(xué)科是:
視覺(jué)
時(shí)間序列
如圖3所示,通用CPU和MCU等處理硬件適用于一些更簡(jiǎn)單的用例(例如,靜止圖像識(shí)別和檢測(cè)傳感器數(shù)據(jù)中的異常)。然而,隨著復(fù)雜性的增加、輸入源的增加以及對(duì)更快推理結(jié)果的需求,工程師將不得不研究更專(zhuān)業(yè)的計(jì)算硬件,如
GPU 和專(zhuān)用神經(jīng)處理單元。
圖3: 概述運(yùn)行各種 ML 應(yīng)用程序所需的處理能力。圖片由 恩智浦
當(dāng)然,嵌入式處理設(shè)備(如 MPU)由于物理尺寸較小,無(wú)法提供一些更復(fù)雜的 ML
應(yīng)用程序所需的大量處理內(nèi)核和內(nèi)存。此外,客戶希望將所有必要的功能組合在一個(gè)封裝中,以減少嵌入式設(shè)計(jì)的BOM。此要求進(jìn)一步減少了用于其他處理內(nèi)核的可用空間。此外,大多數(shù)物聯(lián)網(wǎng)應(yīng)用需要相對(duì)較小、高效且具有成本效益。
在大多數(shù)情況下,邊緣 ML
應(yīng)用程序的限制因素很可能是特定算法的模型大小和內(nèi)存要求,因?yàn)榻?jīng)濟(jì)高效的本地處理器可用的內(nèi)存量通常很小。每個(gè)應(yīng)用程序都有一個(gè)盈虧平衡點(diǎn),在邊緣添加額外的處理能力沒(méi)有多大意義。在這一點(diǎn)上,提高邊緣處理能力的成本超過(guò)了收益。
因此,只有在應(yīng)用程序達(dá)到一定的復(fù)雜性限制之前,在邊緣添加計(jì)算能力才可行。除此之外,工程師應(yīng)該研究云的高級(jí)數(shù)據(jù)分析功能如何潛在地增強(qiáng)邊緣的處理能力。
選擇合適的邊緣處理器:ML 應(yīng)用程序示例
許多用例允許工程師通過(guò)添加 ML
邊緣功能來(lái)增強(qiáng)現(xiàn)有應(yīng)用程序??赡艿膽?yīng)用范圍從智能家居領(lǐng)域到工業(yè)物聯(lián)網(wǎng)(IIoT)和工業(yè)4.0,再到互聯(lián)城市基礎(chǔ)設(shè)施和汽車(chē)應(yīng)用。
例如,假設(shè)有人在高速公路上安裝基于自動(dòng)視覺(jué)的道路通行費(fèi)支付和交通違規(guī)檢測(cè)系統(tǒng)。此用例在邊緣將云技術(shù)與 ML 相結(jié)合具有許多潛在點(diǎn)。
這樣的系統(tǒng)必須可靠地檢測(cè)接近某個(gè)點(diǎn)的每輛車(chē),例如入口或出口坡道。在此示例中,邊緣設(shè)備監(jiān)視接近坡道的每輛車(chē)。然后,系統(tǒng)必須對(duì)坡道上的每輛車(chē)(例如,汽車(chē)、半卡車(chē)、公共汽車(chē)、摩托車(chē))進(jìn)行正確分類(lèi),因?yàn)椴煌牡缆范惙ㄒ?guī)可能適用于各種類(lèi)型的車(chē)輛。司機(jī)在支付車(chē)輛通行費(fèi)時(shí)可以在地方當(dāng)局注冊(cè)車(chē)牌。然后,邊緣設(shè)備必須檢測(cè)通過(guò)檢查點(diǎn)的每輛車(chē)的車(chē)牌號(hào)。然后,系統(tǒng)可以將收集到的信息存儲(chǔ)在本地,然后從云中的數(shù)據(jù)庫(kù)服務(wù)器請(qǐng)求數(shù)據(jù),以檢查是否允許檢測(cè)到的車(chē)輛使用道路。出于隱私原因,
系統(tǒng)不應(yīng)上傳通過(guò)檢查站的所有車(chē)輛的車(chē)牌。相反,它只將違規(guī)行為發(fā)送到云端進(jìn)行進(jìn)一步處理,例如,向車(chē)主發(fā)送罰單。
該系統(tǒng)未來(lái)可能進(jìn)行的調(diào)整還可以檢測(cè)潛在問(wèn)題,例如出口匝道上的交通擁堵,并通過(guò)打開(kāi)高架標(biāo)志來(lái)警告即將到來(lái)的司機(jī)。隨著公共道路上聯(lián)網(wǎng)車(chē)輛數(shù)量的增加,還可以使這些邊緣節(jié)點(diǎn)與汽車(chē)通信以發(fā)送警告或其他消息。
在此示例中,需要通過(guò)邊緣處理實(shí)時(shí)分析和適當(dāng)處理多個(gè)數(shù)據(jù)饋送。當(dāng)車(chē)輛經(jīng)過(guò)攝像頭時(shí),系統(tǒng)必須監(jiān)控和分類(lèi)視頻流中的車(chē)輛,并且視頻需要具有足夠高的分辨率和幀速率。根據(jù)圖
3,每個(gè)這樣的應(yīng)用程序都需要一個(gè)能夠處理大約兩個(gè) TOPS 的 ML 處理器。此外,邊緣節(jié)點(diǎn)應(yīng)該能夠安全地存儲(chǔ)敏感的私人信息并將其上傳到云服務(wù)器。
總之,在邊緣應(yīng)用程序中為此 ML 正確指定的設(shè)備應(yīng)提供以下功能:
用于實(shí)時(shí)圖像特征檢測(cè)的 GPU 或 NPU 加速器
用于運(yùn)行應(yīng)用程序邏輯的高效主核心
用于與外部高分辨率攝像機(jī)通信的接口
連接外部工業(yè)級(jí)設(shè)備的連接選項(xiàng),例如頭頂標(biāo)志和警告燈
用于建立云連接的以太網(wǎng)/無(wú)線功能
防止未經(jīng)授權(quán)的篡改的安全功能
ECC 等可靠性功能
這些功能(以及更多)在 恩智浦 i.MX 8M Plus 和下面的圖 4。
圖4: 此框圖總結(jié)了 i.MX 8M Plus最重要的特性和功能塊。圖片由 恩智浦
恩智浦 i.MX 8M Plus:在邊緣實(shí)現(xiàn)機(jī)器學(xué)習(xí)
假設(shè)的簡(jiǎn)單自動(dòng)車(chē)牌檢測(cè)算法可能包含四個(gè)主要步驟。這些步驟是圖像采集和預(yù)處理、車(chē)牌提取、分割和字符識(shí)別。經(jīng)濟(jì)高效的高清攝像頭監(jiān)控高速公路匝道的入口。由于相機(jī)是一種經(jīng)濟(jì)高效的單元,因此無(wú)需執(zhí)行任何預(yù)處理即可輸出RGB拜耳圖案。
恩智浦 i.MX 8M Plus應(yīng)用處理器包含一個(gè)雙攝像頭ISP,支持簡(jiǎn)單的 CMOS傳感器
以及執(zhí)行更精細(xì)預(yù)處理的相機(jī)。額外的內(nèi)置去扭曲引擎提供高性能的去扭曲處理,以校正魚(yú)眼鏡頭和廣角相機(jī)鏡頭引入的失真。盡管 i.MX 8M的內(nèi)置ISP可以處理高達(dá)60
FPS的高清視頻流,但此應(yīng)用程序每秒只能捕獲和處理約30幀。降低的幀率應(yīng)該仍然會(huì)產(chǎn)生令人滿意的結(jié)果,而降低的計(jì)算需求和降低的數(shù)據(jù)吞吐量將進(jìn)一步提高每個(gè)邊緣節(jié)點(diǎn)的效率。
一旦ISP完成圖像處理,i.MX 8M
Plus的片上GPU可以執(zhí)行進(jìn)一步的圖像處理和操作步驟,例如將捕獲的相機(jī)圖像的顏色信息轉(zhuǎn)換為灰度圖像,然后生成二進(jìn)制黑白圖像。最后,GPU
可以通過(guò)創(chuàng)建較小的副本并應(yīng)用混合缺陷的過(guò)濾器來(lái)進(jìn)一步準(zhǔn)備圖像,例如由車(chē)牌中的污垢或螺絲引起的缺陷。
然后,應(yīng)用處理器對(duì)完整的預(yù)處理輸入圖像執(zhí)行特征檢測(cè),以查找圖像中的車(chē)牌。在這里,工程師可以從他們希望系統(tǒng)檢測(cè)的各種功能中進(jìn)行選擇。突出特征可以是車(chē)牌的背景和字體顏色、形狀或其他特征,例如國(guó)家/地區(qū)或州名稱(chēng)。但是,這些取決于此系統(tǒng)將運(yùn)行的位置。
無(wú)論哪種方式,都有幾種方法來(lái)檢測(cè)圖像中的特征,例如,定向梯度直方圖(HOG)和應(yīng)用處理器的 ARM Cortex-A53 主 CPU
可以執(zhí)行此步驟。一旦主CPU驗(yàn)證圖像中是否存在車(chē)牌,應(yīng)用處理器的2.3 TOPS
NPU就可以利用DNN來(lái)執(zhí)行字符和其他特征識(shí)別。輸出可能包含國(guó)家/地區(qū)、州和車(chē)牌號(hào)等信息。
然后,系統(tǒng)可以存儲(chǔ)數(shù)據(jù)以供以后處理。一旦檢測(cè)到違規(guī)行為,設(shè)備就可以加密提取的信息并將其上傳到云服務(wù)器進(jìn)行進(jìn)一步處理。恩智浦 i.MX
8M的兩個(gè)千兆以太網(wǎng)接口(其中一個(gè)包括TSN支持)允許邊緣節(jié)點(diǎn)將大量數(shù)據(jù)上傳到云端進(jìn)行進(jìn)一步處理。該器件增強(qiáng)的片上安全功能可確保敏感用戶信息的機(jī)密性和完整性。
可靠性和安全性是工業(yè)應(yīng)用中需要考慮的另外兩個(gè)重要方面。i.MX 8M Plus 在 DDR RAM
接口中提供內(nèi)聯(lián)糾錯(cuò)碼,以確保高可靠性并支持系統(tǒng)級(jí)安全完整性等級(jí) (SIL) 認(rèn)證。安全啟動(dòng)、加密啟動(dòng)、硬件防火墻和運(yùn)行時(shí)完整性檢查器 (RTIC)
等安全功能有助于防止可能危及嵌入式系統(tǒng)安全性的各種攻擊,包括硬件逆向工程、惡意軟件插入、修改/替換設(shè)備映像和版本回滾攻擊。
總結(jié) ML 邊緣處理注意事項(xiàng)
就像任何其他軟件項(xiàng)目一樣,了解邊緣基于 ML
的應(yīng)用程序的要求是成功項(xiàng)目的關(guān)鍵,不會(huì)超出范圍。一旦工程師確定并了解項(xiàng)目的需求,他們就可以調(diào)查合適的硬件。
隨著處理能力的提高和邊緣設(shè)備功能越來(lái)越強(qiáng)大,越來(lái)越多的基于 ML
的分析任務(wù)遠(yuǎn)離云。但是,邊緣計(jì)算并不能替代云。相反,邊緣和云計(jì)算相輔相成,同時(shí)減少延遲并提高安全性和可靠性。
現(xiàn)代邊緣處理器包含多個(gè)專(zhuān)用處理內(nèi)核,這些內(nèi)核針對(duì)特定任務(wù)進(jìn)行了精確調(diào)整和優(yōu)化。每種類(lèi)型的處理器在用于 ML
應(yīng)用程序時(shí)都有優(yōu)點(diǎn)和缺點(diǎn)。雖然工程師可以單獨(dú)使用它們,但在邊緣實(shí)施復(fù)雜的 ML 應(yīng)用程序時(shí),這些專(zhuān)用處理設(shè)備在協(xié)同使用時(shí)可以發(fā)揮其真正的潛力。
除了純粹的處理能力外,還必須始終考慮要部署ML邊緣節(jié)點(diǎn)的環(huán)境。某些用例(例如基于視覺(jué)的 ML
應(yīng)用程序)可能需要與基于音頻的應(yīng)用程序不同的硬件,因此仔細(xì)評(píng)估所研究的處理設(shè)備的接口選項(xiàng)非常重要。額外的協(xié)處理器可能有助于減少所選設(shè)備主CPU的負(fù)載,工程師還應(yīng)該識(shí)別并考慮邊緣每個(gè)ML項(xiàng)目的安全相關(guān)方面。
-
處理器
+關(guān)注
關(guān)注
68文章
19313瀏覽量
230044 -
ML
+關(guān)注
關(guān)注
0文章
149瀏覽量
34667 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8422瀏覽量
132720 -
邊緣節(jié)點(diǎn)
+關(guān)注
關(guān)注
0文章
13瀏覽量
7648
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論