• 正文
    • 物聯(lián)網(wǎng)部署基礎(chǔ)
    • TinyML和物聯(lián)網(wǎng)
    • 使用物聯(lián)網(wǎng)進(jìn)行TinyML部署
    • 結(jié)論
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

人工智能 | tinyML 部署工作組白皮書

2024/01/15
2289
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

在學(xué)習(xí)過程中,看到《TinML Deployment Workding Group White Paper #1》一文,覺得不錯(cuò),特將部分翻譯出來。文末附上本文的英文鏈接,敬請(qǐng)參閱。由于本人水平有限,不足之處,還請(qǐng)大家多多指正!


TinML Deployment Workding Group?White?Paper #1

2023年2月20日

交付TinyML產(chǎn)品需要的不僅僅是“擬合和預(yù)測(cè)”的開發(fā)。

這是系列白皮書的第一篇,探討在云端的邊緣部署超低功耗機(jī)器學(xué)習(xí)所面臨挑戰(zhàn)和解決方案。作者是 tinyML? Foundation 部署工作組成員。所表達(dá)的觀點(diǎn)并不一定代表tinyML Foundation、贊助商或作者的雇主。

數(shù)字化轉(zhuǎn)型市場(chǎng)正在迅速增長(zhǎng),到2025年將達(dá)到一萬億美元市場(chǎng)規(guī)模。機(jī)器學(xué)習(xí)也正在迅速獲得關(guān)注,預(yù)計(jì)在未來幾十年內(nèi)將增長(zhǎng)到數(shù)萬億美元的市場(chǎng)規(guī)模。這樣的市場(chǎng)動(dòng)態(tài)導(dǎo)致了對(duì)相應(yīng)解決方案的巨大需求,需要開發(fā)與之相匹配的解決方案。

盡管,在過去十年里,用于機(jī)器學(xué)習(xí)訓(xùn)練的計(jì)算機(jī)資源每六個(gè)月翻一番,但缺少數(shù)據(jù)是導(dǎo)致機(jī)器學(xué)習(xí)項(xiàng)目失敗的主要原因之一。這個(gè)問題對(duì)于“線下業(yè)務(wù)”尤為重要,因?yàn)樵谶@些業(yè)務(wù)中,機(jī)器學(xué)習(xí)算法需要智能傳感器才能獲得真實(shí)世界的信息?;旧?,除了人類所建設(shè)的線下基礎(chǔ)設(shè)施外,周圍的一切都已經(jīng)數(shù)字化了。

公司往往高估數(shù)據(jù)的有效性,導(dǎo)致項(xiàng)目計(jì)劃進(jìn)程中斷,這需要更好數(shù)據(jù)集來支持運(yùn)作。因此,硬件軟件相關(guān)的項(xiàng)目進(jìn)程中發(fā)揮著越來越大的作用,因?yàn)闄C(jī)器學(xué)習(xí)算法和數(shù)字化轉(zhuǎn)型軟件需要智能傳感器才能獲得真實(shí)世界的信息。這一重要環(huán)節(jié)的有效性和確保數(shù)據(jù)真實(shí)性的監(jiān)督者,是提供穩(wěn)定數(shù)據(jù)流以提高機(jī)器學(xué)習(xí)效率的關(guān)鍵。

tinyML社區(qū)在硬件和軟件優(yōu)化方面取得了顯著的技術(shù)和商業(yè)進(jìn)展,使得在傳感器上評(píng)估和訓(xùn)練機(jī)器學(xué)習(xí)模型既快速又節(jié)能。甚至有商業(yè)上成功的“無代碼”解決方案平臺(tái),用戶無需編寫代碼即可進(jìn)行模型開發(fā)。

遺憾的是,大多數(shù)工具都集中在開發(fā)過程而非部署過程,不包括機(jī)器學(xué)習(xí)模型訓(xùn)練和將生成的模型加載到所選目標(biāo)設(shè)備上。缺少對(duì)設(shè)備部署和管理過程的相關(guān)支持,而這是任何準(zhǔn)備投產(chǎn)解決方案的重要組成部分。

做個(gè)恰當(dāng)?shù)念惐?,漂亮的汽車開發(fā)好了(構(gòu)建模型的算法和工具),但卻沒有適當(dāng)?shù)母咚俟废到y(tǒng)(部署)跑汽車。這不是TinyML獨(dú)有的挑戰(zhàn),物聯(lián)網(wǎng)設(shè)備也面臨著同樣的挑戰(zhàn)。因此,我們打算利用現(xiàn)有的工作來部署物聯(lián)網(wǎng),并專注于TinyML獨(dú)特的要求和功能。

本文的主要目的是就部署的最佳實(shí)踐展開討論,并在我們社區(qū)內(nèi)部達(dá)成一些共識(shí)或找出不同意見。然后,我們希望將討論延伸到那些對(duì)產(chǎn)品開發(fā)或應(yīng)用部署感興趣的人。為他們提供一個(gè)路線圖,讓他們選擇支持,或?qū)⒅R(shí)運(yùn)用到他們自己的工作中。最后,我們希望與更廣泛的機(jī)器學(xué)習(xí)用戶和開發(fā)者社區(qū)交流合作。

部署定義

部署是指服務(wù)準(zhǔn)備就緒后的所有活動(dòng)(云端),代碼和模型已準(zhǔn)備就緒,物理設(shè)備已制造完成,但在裝運(yùn)或現(xiàn)場(chǎng)安裝前尚未編程或配置。

本文討論TinyML的部署。必須認(rèn)識(shí)到這些部署可能對(duì)社會(huì)產(chǎn)生的影響。確保TinyML部署安全、可信和合乎道德。與TinyML部署相關(guān)的問題和根據(jù)部署所采取的行動(dòng)包括:公平和包容,可靠和安全,隱私與安全,透明,責(zé)任。

物聯(lián)網(wǎng)部署基礎(chǔ)

在討論TinyML部署的細(xì)節(jié)前,了解物聯(lián)網(wǎng)基礎(chǔ)知識(shí)非常重要,對(duì)所有部署都是通用的。在規(guī)劃物聯(lián)網(wǎng)部署時(shí),需要考慮各種技術(shù)和運(yùn)營(yíng)方面的問題。在這里,我們將介紹適用于大多數(shù)物聯(lián)網(wǎng)部署的一些要點(diǎn),這也與TinyML設(shè)備的部署相關(guān)。

物聯(lián)網(wǎng)部署以現(xiàn)場(chǎng)部署的多個(gè)設(shè)備或設(shè)備組為中心,其中可能包括終端消費(fèi)產(chǎn)品、商業(yè)建筑安裝或智能工廠集成。設(shè)備組中的設(shè)備都將直接或通過一個(gè)或多個(gè)網(wǎng)關(guān)連接到云服務(wù)后臺(tái)。設(shè)備軟件和連接必須與云端配置和安全保持一致,物聯(lián)網(wǎng)部署才能成功地大規(guī)模運(yùn)行。在典型的云原生基礎(chǔ)設(shè)施部署中,DevOps團(tuán)隊(duì)可以即時(shí)啟動(dòng)計(jì)算資源或執(zhí)行動(dòng)態(tài)分配服務(wù)的進(jìn)程,而物聯(lián)網(wǎng)部署則不同,其中包括數(shù)據(jù)中心以外的真實(shí)設(shè)備,它們并不那么短暫。考慮到這一點(diǎn),我們將在下面討論物聯(lián)網(wǎng)部署的各種注意事項(xiàng)。

設(shè)備連接

物聯(lián)網(wǎng)部署中的邊緣設(shè)備可以通過各種方式連接到云服務(wù)。物理(PHY)層的連接方式包括:WiFi、藍(lán)牙、以太網(wǎng)、LoRa、IEEE 802.15.4Zigbee或Thread),或甚至蜂窩網(wǎng)絡(luò)。通常,設(shè)備連接的選擇是取決于無線連接或芯片的成本、網(wǎng)絡(luò)覆蓋范圍要求和設(shè)備功耗(電池供電還是持續(xù)供電)。另外,期望的邊緣環(huán)境中的網(wǎng)絡(luò)拓?fù)?/a>結(jié)構(gòu)也是一個(gè)重要的考慮因素。設(shè)備是通過 WiFi 路由器直接連接到互聯(lián)網(wǎng),還是通過應(yīng)用程序與帶藍(lán)牙的移動(dòng)設(shè)備配對(duì),還是通過商用的物聯(lián)網(wǎng)網(wǎng)關(guān)、防火墻企業(yè)網(wǎng)絡(luò)、偏遠(yuǎn)地區(qū)的 LoRaWAN 網(wǎng)絡(luò),或還是通過 Zigbee 或 Thread 邊界路由器作為網(wǎng)狀網(wǎng)絡(luò)的一部分?所有這些示例展示了各自的獨(dú)特的網(wǎng)絡(luò)連接機(jī)制。最后,一旦設(shè)備連接,就需要考慮一些數(shù)據(jù)交換協(xié)議。典型的物聯(lián)網(wǎng)標(biāo)準(zhǔn)協(xié)議包括:MQTT、HTTP、WebSocket和CoAP。相較于其他協(xié)議,這些協(xié)議各有優(yōu)勢(shì)和細(xì)微差別。

設(shè)備配置

對(duì)于大多數(shù)物聯(lián)網(wǎng)服務(wù)而言,連接到服務(wù)的設(shè)備必須經(jīng)過該服務(wù)的身份認(rèn)證。同樣,設(shè)備通常也會(huì)對(duì)云服務(wù)進(jìn)行身份認(rèn)證,以確保通信安全。這稱為雙向認(rèn)證,mTLS是物聯(lián)網(wǎng)部署中實(shí)現(xiàn)這一目的主要方法。當(dāng)使用mTLS時(shí),設(shè)備和云服務(wù)都將出示自己的TLS證書,以便使用公鑰和私鑰進(jìn)行驗(yàn)證。此外,云服務(wù)通常要求設(shè)備通過證書進(jìn)行唯一標(biāo)識(shí)。隨著物聯(lián)網(wǎng)設(shè)備組部署到現(xiàn)場(chǎng),證書如何一開始就安裝到設(shè)備上?這就是設(shè)備配置需要考慮的重要問題。在不可信一方管理設(shè)備之前,設(shè)備配置需要向其注入唯一證書和/或加密密鑰。這需要使用安全設(shè)施和配置過程,以確保設(shè)備不會(huì)被克隆或欺騙。通常,證書會(huì)存放在設(shè)備的安全存儲(chǔ)器中,設(shè)備具有安全元件或安全區(qū),以避免篡改或復(fù)制。在部署之前實(shí)施這些技術(shù)的設(shè)備比那些未實(shí)施這些技術(shù)的設(shè)備更能抵御安全攻擊和漏洞,因此這些技術(shù)被認(rèn)為是重要的最佳實(shí)踐。

設(shè)備監(jiān)控

在物聯(lián)網(wǎng)設(shè)備部署時(shí),通常無法對(duì)設(shè)備進(jìn)行物理訪問。然而,人們通常會(huì)對(duì)設(shè)備組中每個(gè)設(shè)備的健康狀況和總體狀態(tài)有利益關(guān)切。設(shè)備連接到云服務(wù)后,設(shè)備的所有者或運(yùn)營(yíng)者希望設(shè)備能夠無故障運(yùn)行。設(shè)備監(jiān)控有助于實(shí)現(xiàn)平穩(wěn)運(yùn)行。物聯(lián)網(wǎng)設(shè)備可通過編程向物聯(lián)網(wǎng)云服務(wù)發(fā)送有關(guān)其各自狀態(tài)的遙測(cè)數(shù)據(jù),以便進(jìn)行監(jiān)控。有用數(shù)據(jù)字段的一些示例包括:電池電量耗盡率、重啟事件、意外崩潰、連接問題、溫度波動(dòng)、物理影響或某些代碼塊執(zhí)行時(shí)間。根據(jù)物聯(lián)網(wǎng)平臺(tái)不同,可能會(huì)有內(nèi)置的設(shè)備監(jiān)控服務(wù),或者也可能由物聯(lián)網(wǎng)部署的其他供應(yīng)商提供。因?yàn)閺拇罅吭O(shè)備獲取的數(shù)據(jù)可能太大而無法可視化,因此可以利用查詢或特定的事件觸發(fā)來指示何時(shí)出現(xiàn)大規(guī)模的設(shè)備問題。從設(shè)備獲取的監(jiān)控?cái)?shù)據(jù)可用于改進(jìn)設(shè)備固件的新版本或設(shè)備硬件的未來新版本。

設(shè)備升級(jí)

物聯(lián)網(wǎng)設(shè)備可以從連接到云服務(wù)受益的一種方式是接受升級(jí)運(yùn)行的嵌入式應(yīng)用程序,或接受固件升級(jí)來改進(jìn)其工作。這種物聯(lián)網(wǎng)設(shè)備的升級(jí)通常稱為OTA(Over-The-Air)或FUOTA(Firmware Update Over-The-Air)升級(jí)。通常,這是一個(gè)全定制過程,取決于設(shè)備硬件的能力和制造商選擇的方法。首先,需要生成一個(gè)新的固件映像,該映像經(jīng)過了測(cè)試并進(jìn)行版本控制,部署到設(shè)備組中。許多物聯(lián)網(wǎng)平臺(tái)都支持OTA升級(jí),作為其設(shè)備或設(shè)備組管理功能的一部分,管理員可以將新的固件映像上傳到物聯(lián)網(wǎng)平臺(tái)進(jìn)行分發(fā)。更新過程中不能讓設(shè)備變成“磚”,否則它將無法連接到云端或接收任何進(jìn)一步的升級(jí)。物聯(lián)網(wǎng)平臺(tái)將向設(shè)備組發(fā)出有更新的信號(hào)。根據(jù)設(shè)備的使用情況,設(shè)備可能會(huì)開始下載新的固件映像,或者可能需要等待,等到它處于適當(dāng)?shù)墓ぷ鳡顟B(tài)或用戶同意更新。為了提高分發(fā)新固件映像的網(wǎng)絡(luò)效率,一些設(shè)備更新過程只會(huì)發(fā)送新舊固件映像的增量或差分包。一旦設(shè)備檢索到新映像或增量,通常需要重啟引導(dǎo)加載程序指向新固件。為增加安全性,固件映像可以采用數(shù)字簽名,然后要求設(shè)備驗(yàn)證其真實(shí)性。最后,一旦新固件升級(jí)完成,如果發(fā)現(xiàn)問題,可能還需要固件版本回滾。由于新固件遇到問題,設(shè)備需要返回到以前的固件版本運(yùn)行。值得注意的一點(diǎn)是,整個(gè)設(shè)備組的版本差異可能會(huì)帶來挑戰(zhàn)。如果設(shè)備仍然使用v1.0版本的固件,那么是否可以直接跳過v1.1并更新到v1.2版本?如果用戶選擇不更新怎么辦?需要一定程度的預(yù)先規(guī)劃和面向未來的考慮,才能正確地支持設(shè)備升級(jí)策略。

分析和洞察

除了前面提到的發(fā)送到云端監(jiān)控物聯(lián)網(wǎng)設(shè)備的遙測(cè)數(shù)據(jù)外,從設(shè)備中獲取的數(shù)據(jù),從中可以獲得商業(yè)洞察,這是企業(yè)投資物聯(lián)網(wǎng)部署的主要原因之一。畢竟,數(shù)據(jù)存儲(chǔ)本身只會(huì)增加運(yùn)維成本,并沒有實(shí)際好處。要將物聯(lián)網(wǎng)數(shù)據(jù)轉(zhuǎn)化為資產(chǎn),就必須使用數(shù)據(jù)分析技術(shù)來提供商業(yè)洞察。例如,一個(gè)智能車庫門系統(tǒng)可以獲得打開和關(guān)閉的狀態(tài),并將這些數(shù)據(jù)發(fā)送到云端。然而,如果企業(yè)想知道整個(gè)設(shè)備組的客戶每天打開和關(guān)閉車庫門的頻率,就需要使用工具來分析原始數(shù)據(jù)。物聯(lián)網(wǎng)分析是一個(gè)廣泛的術(shù)語,可能包括數(shù)據(jù)庫查詢、計(jì)算分析、統(tǒng)計(jì)甚至機(jī)器學(xué)習(xí)來量化物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)的模式。

此外,通過報(bào)告或數(shù)據(jù)可視化(如儀表盤)方式對(duì)這些數(shù)據(jù)進(jìn)行某種形式的展示,可以提供分析洞察。數(shù)據(jù)科學(xué)家可能會(huì)參與開發(fā)從數(shù)據(jù)集中提取有意義洞察的方法。以智能車庫門為例,分析后可能會(huì)發(fā)現(xiàn),客戶頻繁地打開和關(guān)閉車庫門遠(yuǎn)高于制造商的預(yù)期,從而導(dǎo)致電機(jī)的使用壽命縮短并增加保修索賠。這樣的洞察對(duì)企業(yè)來說可能是有價(jià)值的,可以更好地了解客戶對(duì)物聯(lián)網(wǎng)設(shè)備的確切行為和使用情況,進(jìn)而可以用來提供更好的產(chǎn)品和服務(wù)。在物聯(lián)網(wǎng)部署中,有許多技術(shù)選項(xiàng)和注意事項(xiàng)可以提供分析和洞察。在這一領(lǐng)域有些專業(yè)的服務(wù),采用哪種服務(wù)主要取決于業(yè)務(wù)需求是否合適。

數(shù)據(jù)存儲(chǔ)

如何存儲(chǔ)數(shù)據(jù)是物聯(lián)網(wǎng)部署的一個(gè)重要方面。數(shù)據(jù)存儲(chǔ)有三個(gè)主要考慮因素:1) 應(yīng)存儲(chǔ)哪些數(shù)據(jù)。2) 如何訪問這些數(shù)據(jù)。3) 存儲(chǔ)數(shù)據(jù)相關(guān)的成本是多少。當(dāng)未連接的設(shè)備變成物聯(lián)網(wǎng)設(shè)備時(shí),原來僅限于存儲(chǔ)在設(shè)備上的數(shù)據(jù)現(xiàn)在可以發(fā)送到云端。人們可能想要把設(shè)備上任何傳感器的所有可用的數(shù)據(jù)都發(fā)送到云端,以便進(jìn)行分析。然而,在考慮隱私和效率時(shí),還應(yīng)決定發(fā)送哪些數(shù)據(jù)。由此所產(chǎn)生的數(shù)據(jù)傳輸和存儲(chǔ)成本可能超過實(shí)際需要。本地處理是降低傳輸和存儲(chǔ)成本的一個(gè)重要因素。例如,如果一個(gè)嵌入式應(yīng)用每秒鐘從溫度傳感器讀取數(shù)據(jù),但溫度值一小時(shí)內(nèi)都沒有變化,那么在這段時(shí)間內(nèi),將3600個(gè)相同的數(shù)據(jù)發(fā)送到云端可能效率并不高。相反,也許只有在溫度值發(fā)生變化時(shí)才應(yīng)發(fā)送數(shù)據(jù)。

一旦確定需要發(fā)送的數(shù)據(jù),就有許多方法將數(shù)據(jù)存儲(chǔ)到云端。數(shù)據(jù)可以非結(jié)構(gòu)化地存儲(chǔ)在平面文件中,也可以結(jié)構(gòu)化地存儲(chǔ)在數(shù)據(jù)庫中。選擇存儲(chǔ)機(jī)制取決于數(shù)據(jù)的類型和訪問數(shù)據(jù)的方式。如果需要經(jīng)常查詢數(shù)據(jù)顯示實(shí)時(shí)的統(tǒng)計(jì)數(shù)據(jù),那么時(shí)間序列數(shù)據(jù)庫可能是正確的選擇。然而,如果數(shù)據(jù)量很大,不經(jīng)常訪問,并且僅用于報(bào)告或?qū)徲?jì),那么數(shù)據(jù)湖可能是降低成本的更好選擇。

最后,數(shù)據(jù)的保留策略也是一個(gè)重要的考慮因素。數(shù)據(jù)是需要無限期存儲(chǔ),還是達(dá)到目的幾天或幾個(gè)月后就停用?這也取決于數(shù)據(jù)的類型。設(shè)備組控制面(control plane)的數(shù)據(jù)與設(shè)備使用或傳感器外設(shè)的數(shù)據(jù)面(data plane)的數(shù)據(jù)保留政策可能不同。本地隱私和數(shù)據(jù)治理方面的考慮因素也可能會(huì)影響這些存儲(chǔ)要求。

基礎(chǔ)組件

物聯(lián)網(wǎng)部署所選擇的物聯(lián)網(wǎng)平臺(tái)取決于業(yè)務(wù)需求。物聯(lián)網(wǎng)部署甚至可能包括不同供應(yīng)商平臺(tái)的多種服務(wù),用它們作為基礎(chǔ)組件來構(gòu)建完整的解決方案。一些專業(yè)的物聯(lián)網(wǎng)平臺(tái)包含可能抽象出上述某些技術(shù)細(xì)節(jié)的功能,更容易管理設(shè)備組。還值得注意的是,一些物聯(lián)網(wǎng)平臺(tái)可能運(yùn)行在其他物聯(lián)網(wǎng)平臺(tái)之上,利用其服務(wù)作為基礎(chǔ)組件,為特定用例提供更高階的功能。例如,一個(gè)提供預(yù)制可視化儀表盤的物聯(lián)網(wǎng)平臺(tái)可能會(huì)運(yùn)行在另一個(gè)物聯(lián)網(wǎng)平臺(tái)之上,另一個(gè)物聯(lián)網(wǎng)平臺(tái)實(shí)現(xiàn)了 MQTT 代理,可為設(shè)備組提供彈性和大規(guī)??蓴U(kuò)展性。因此,物聯(lián)網(wǎng)部署和物聯(lián)網(wǎng)平臺(tái)本身可以使用各種基礎(chǔ)組件來構(gòu)建,在資源、成本和功能方面,幫助提高設(shè)備組的部署、管理和分析的效率。

TinyML和物聯(lián)網(wǎng)

我們不妨對(duì) TinyML 和物聯(lián)網(wǎng)技術(shù)進(jìn)行比較和對(duì)比,消除兩者之間的共生關(guān)系。例如,TinyML從物聯(lián)網(wǎng)部署基礎(chǔ)設(shè)施的進(jìn)步中獲益匪淺,而物聯(lián)網(wǎng)則得益于Tiny ML在設(shè)備上執(zhí)行的能力,減少或消除了對(duì)云端和連接的依賴,這對(duì)需要始終運(yùn)行的垂直市場(chǎng)具有吸引力,而無論網(wǎng)絡(luò)連接如何。在物聯(lián)網(wǎng)設(shè)備無法滿足連接、功耗和隱身模式運(yùn)行要求的地方,TinyML 很受歡迎或有望越來越受歡迎:

??工作時(shí)無需連接互聯(lián)網(wǎng)

??低功耗

??改善延遲

??電池供電的獨(dú)立解決方案

??設(shè)備上運(yùn)行,獨(dú)立于云計(jì)算

??可用于沒有網(wǎng)絡(luò)連接或供電的偏遠(yuǎn)地區(qū)

??隱身工作模式

??增強(qiáng)隱私保護(hù)

??獨(dú)立設(shè)備運(yùn)行,無需網(wǎng)絡(luò)安全保障

??減少帶寬消耗

總之,TinyML 和 物聯(lián)網(wǎng)在部署方面非常相似,而在 MLOps 方面則有顯著不同。

下圖(圖 1)概述了開發(fā)端到端 TinyML 解決方案的 Tiny MLOps。步驟 2、7 和 8 受益于物聯(lián)網(wǎng)基礎(chǔ)設(shè)施及其安全連接技術(shù)的進(jìn)步。

設(shè)備連接

值得一提的是,物聯(lián)網(wǎng)的按需設(shè)備連接是其在過去十年流行的主要原因。對(duì)網(wǎng)絡(luò)連接的要求使其不太適合遠(yuǎn)程和網(wǎng)絡(luò)連接較差的行業(yè),如農(nóng)業(yè)、采礦、航運(yùn)、航天、航空、國(guó)防等。TinyML技術(shù)在設(shè)備上的運(yùn)行使其不僅在部署后具有吸引力,而且使其成為少數(shù)選擇的唯一選擇,如國(guó)防,其中設(shè)備的隱身模式工作至關(guān)重要。

使用物聯(lián)網(wǎng)進(jìn)行TinyML部署

TinyML部署是指整個(gè)MLOps部署流水線(pipeline)。TinyML部署具有多個(gè)獨(dú)特因素。

??云端上的 MLDevOps 流水線(pipeline)

??設(shè)備上的 MLDevOps 流水線(pipeline)

??機(jī)器學(xué)習(xí)模型的安全性、隱私和數(shù)據(jù)治理

邊緣機(jī)器學(xué)習(xí)通常涉及對(duì)物理世界的傳感器表示進(jìn)行推理。這與垃圾郵件檢測(cè)等其他機(jī)器學(xué)習(xí)應(yīng)用有很大不同,如垃圾郵件檢測(cè),涉及到固定的輸入類型(unicode)。物理世界在不斷變化和發(fā)展。這會(huì)導(dǎo)致概念和偏差偏移,從而降低推理結(jié)果。為了克服這些問題,小型設(shè)備上的機(jī)器學(xué)習(xí)模型通常是MLDevOps流水線(pipeline)的一部分,如上圖1所示。

流水線的云端部分如圖所示。流水線從新設(shè)備加入設(shè)備組并廣播其功能開始。AutoML 用于生成一個(gè)能最佳利用目標(biāo)設(shè)備能力的模型。在TinyML領(lǐng)域,設(shè)備組可能是非常異構(gòu)的,并使用同一基本模型的多個(gè)變體(例如,設(shè)備可能會(huì)將一部分計(jì)算卸載到本地加速器)。然后,使用OTA或通過連接的網(wǎng)關(guān)將模型部署到目標(biāo)設(shè)備。

物聯(lián)網(wǎng)部署基礎(chǔ)設(shè)施可用于將推理結(jié)果和原始傳感器輸出(受能耗和通信限制)回傳到云端或服務(wù)器。對(duì)輸入統(tǒng)計(jì)和性能指標(biāo)(如精度)的結(jié)果進(jìn)行監(jiān)控,以檢測(cè)數(shù)據(jù)和概念漂移。檢測(cè)到漂移或性能下降將觸發(fā)一系列故障排除步驟和/或重新訓(xùn)練模型,并將其重新部署到設(shè)備。有時(shí),如果對(duì)應(yīng)用統(tǒng)計(jì)數(shù)據(jù)有很好的理解,可以在設(shè)備上完成檢測(cè)。例如,在辦公大樓里,下班后的人數(shù)應(yīng)該會(huì)減少。如果設(shè)備數(shù)據(jù)顯示下班后還有很多人,則表明操作不當(dāng)。

為了實(shí)現(xiàn)穩(wěn)健的TinyML部署,需要實(shí)施模型版本管理。穩(wěn)健的ML devops部署將跟蹤以下所有的內(nèi)容:訓(xùn)練代碼版本(如 Tensorflow 2.11)、訓(xùn)練和驗(yàn)證數(shù)據(jù)集、訓(xùn)練指標(biāo)、TinyML模型轉(zhuǎn)換工具版本、轉(zhuǎn)換后的模型和執(zhí)行轉(zhuǎn)換后模型的二進(jìn)制文件。最好使用JSON或YAML版本文件來存儲(chǔ)和訪問所有這些值。

與通常具有單一功能的物聯(lián)網(wǎng)應(yīng)用不同,設(shè)備上的TinyML應(yīng)用可以被設(shè)視為由多個(gè)階段組成的流水線(pipeline),如從傳感器獲取數(shù)據(jù)、數(shù)據(jù)預(yù)處理、TinyML模型推理、后處理、商業(yè)智能和其他監(jiān)控。

雖然這個(gè)流水線(pipeline)可以作為單個(gè)二進(jìn)制文件部署,但為了優(yōu)化通信帶寬和功耗,我們更傾向于使用多個(gè)可單獨(dú)更新的工件。例如,當(dāng)TensorFlow Micro用作運(yùn)行時(shí),模型陣列可以單獨(dú)更新,而無需更新其余代碼(假設(shè)仍能滿足激活大小和其他限制條件)。

與機(jī)器學(xué)習(xí)模型相關(guān)的安全問題有兩個(gè)方面。機(jī)器學(xué)習(xí)模型是有價(jià)值的知識(shí)產(chǎn)權(quán)(IP),因?yàn)樗鼈兺ǔJ鞘褂脤S校ǚ?a class="article-link" target="_blank" href="/tag/%E5%BC%80%E6%BA%90/">開源)用戶數(shù)據(jù)訓(xùn)練出來的。因此,模型具有很大的價(jià)值。防止黑客從物理可訪問的設(shè)備中竊取模型是一個(gè)棘手的問題。第二個(gè)問題與黑客在不被發(fā)現(xiàn)的情況下改變模型行為有關(guān)。由于傳感器的響應(yīng)可以指導(dǎo)健康、安全響應(yīng)和決策,因此這是一個(gè)嚴(yán)重的問題。物聯(lián)網(wǎng)部署通常不會(huì)遇到這些安全問題。

隱私和數(shù)據(jù)治理/主權(quán)是機(jī)器學(xué)習(xí)訓(xùn)練和部署面臨的其他挑戰(zhàn)。安全地存儲(chǔ)數(shù)據(jù)(特別是原始傳感器數(shù)據(jù))并在滿足法規(guī)要求的情況下傳輸數(shù)據(jù)尤其具有挑戰(zhàn)性。此外,有關(guān)隱私和數(shù)據(jù)治理新的政府法規(guī),要求跟蹤數(shù)據(jù)及其在云端的使用情況。負(fù)責(zé)任的人工智能還要求對(duì)來自設(shè)備的數(shù)據(jù)(用于模型再訓(xùn)練),進(jìn)行跟蹤、版本控制并與使用這些數(shù)據(jù)的模型相關(guān)聯(lián)。與此同時(shí),聯(lián)合學(xué)習(xí)和設(shè)備上學(xué)習(xí)也正在不斷發(fā)展中,這可以確保單個(gè)設(shè)備上私有數(shù)據(jù)的安全,同時(shí)減少連接到云所需的帶寬和功率。

結(jié)論

本白皮書以物聯(lián)網(wǎng)部署和MLOps的基本原理為基礎(chǔ),探討了部署TinyML應(yīng)用所面臨的挑戰(zhàn)和解決方案。如上所述,由于存在共性,開發(fā)人員在很多領(lǐng)域可以使用現(xiàn)有的物聯(lián)網(wǎng)解決方案。然而,在許多其他領(lǐng)域,終端應(yīng)用的TinyML部署需要采取與現(xiàn)有物聯(lián)網(wǎng)部署解決方案截然不同的方法。因此,開發(fā)人員需要了解物聯(lián)網(wǎng)和TinyML設(shè)備、應(yīng)用和環(huán)境之間的主要異同點(diǎn)。

成功的TinyML應(yīng)用要求開發(fā)人員有意識(shí)地選擇必要購買的組件,或開發(fā)“全?!钡拿恳粚?,以正確部署他們的產(chǎn)品。依賴“默認(rèn)”解決方案可能適用于開發(fā)測(cè)試用例,但可能會(huì)阻礙“現(xiàn)場(chǎng)”的大規(guī)模部署。

引用鏈接

[1]?https://www.tinyml.org/static/98111ec2e44e63079e10872b485777a0/tinyML_Deployment_WG_White_Paper_1.pdf

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
CP2102-GMR 1 Silicon Laboratories Inc USB Bus Controller, CMOS, 5 X 5 MM, LEAD FREE, QFN-28

ECAD模型

下載ECAD模型
$5.73 查看
MCF52258CAG66 1 Freescale Semiconductor MCF522XX 32-bit MCU, ColdFire V2 core, 512KB Flash, 66MHz, QFP 144
$12.68 查看
ATXMEGA128A3U-AUR 1 Microchip Technology Inc IC MCU 8BIT 128KB FLASH 64TQFP
$5.3 查看

相關(guān)推薦