在學(xué)習(xí)過程中,看到《TinML Deployment Workding Group White Paper #1》一文,覺得不錯,特將部分翻譯出來。文末附上本文的英文鏈接,敬請參閱。由于本人水平有限,不足之處,還請大家多多指正!
TinML Deployment Workding Group?White?Paper #1
2023年2月20日
交付TinyML產(chǎn)品需要的不僅僅是“擬合和預(yù)測”的開發(fā)。
這是系列白皮書的第一篇,探討在云端的邊緣部署超低功耗機器學(xué)習(xí)所面臨挑戰(zhàn)和解決方案。作者是 tinyML? Foundation 部署工作組成員。所表達(dá)的觀點并不一定代表tinyML Foundation、贊助商或作者的雇主。
數(shù)字化轉(zhuǎn)型市場正在迅速增長,到2025年將達(dá)到一萬億美元市場規(guī)模。機器學(xué)習(xí)也正在迅速獲得關(guān)注,預(yù)計在未來幾十年內(nèi)將增長到數(shù)萬億美元的市場規(guī)模。這樣的市場動態(tài)導(dǎo)致了對相應(yīng)解決方案的巨大需求,需要開發(fā)與之相匹配的解決方案。
盡管,在過去十年里,用于機器學(xué)習(xí)訓(xùn)練的計算機資源每六個月翻一番,但缺少數(shù)據(jù)是導(dǎo)致機器學(xué)習(xí)項目失敗的主要原因之一。這個問題對于“線下業(yè)務(wù)”尤為重要,因為在這些業(yè)務(wù)中,機器學(xué)習(xí)算法需要智能傳感器才能獲得真實世界的信息?;旧?,除了人類所建設(shè)的線下基礎(chǔ)設(shè)施外,周圍的一切都已經(jīng)數(shù)字化了。
公司往往高估數(shù)據(jù)的有效性,導(dǎo)致項目計劃進(jìn)程中斷,這需要更好數(shù)據(jù)集來支持運作。因此,硬件在軟件相關(guān)的項目進(jìn)程中發(fā)揮著越來越大的作用,因為機器學(xué)習(xí)算法和數(shù)字化轉(zhuǎn)型軟件需要智能傳感器才能獲得真實世界的信息。這一重要環(huán)節(jié)的有效性和確保數(shù)據(jù)真實性的監(jiān)督者,是提供穩(wěn)定數(shù)據(jù)流以提高機器學(xué)習(xí)效率的關(guān)鍵。
tinyML社區(qū)在硬件和軟件優(yōu)化方面取得了顯著的技術(shù)和商業(yè)進(jìn)展,使得在傳感器上評估和訓(xùn)練機器學(xué)習(xí)模型既快速又節(jié)能。甚至有商業(yè)上成功的“無代碼”解決方案平臺,用戶無需編寫代碼即可進(jìn)行模型開發(fā)。
遺憾的是,大多數(shù)工具都集中在開發(fā)過程而非部署過程,不包括機器學(xué)習(xí)模型訓(xùn)練和將生成的模型加載到所選目標(biāo)設(shè)備上。缺少對設(shè)備部署和管理過程的相關(guān)支持,而這是任何準(zhǔn)備投產(chǎn)解決方案的重要組成部分。
做個恰當(dāng)?shù)念惐?,漂亮的汽車開發(fā)好了(構(gòu)建模型的算法和工具),但卻沒有適當(dāng)?shù)母咚俟废到y(tǒng)(部署)跑汽車。這不是TinyML獨有的挑戰(zhàn),物聯(lián)網(wǎng)設(shè)備也面臨著同樣的挑戰(zhàn)。因此,我們打算利用現(xiàn)有的工作來部署物聯(lián)網(wǎng),并專注于TinyML獨特的要求和功能。
本文的主要目的是就部署的最佳實踐展開討論,并在我們社區(qū)內(nèi)部達(dá)成一些共識或找出不同意見。然后,我們希望將討論延伸到那些對產(chǎn)品開發(fā)或應(yīng)用部署感興趣的人。為他們提供一個路線圖,讓他們選擇支持,或?qū)⒅R運用到他們自己的工作中。最后,我們希望與更廣泛的機器學(xué)習(xí)用戶和開發(fā)者社區(qū)交流合作。
部署定義
部署是指服務(wù)準(zhǔn)備就緒后的所有活動(云端),代碼和模型已準(zhǔn)備就緒,物理設(shè)備已制造完成,但在裝運或現(xiàn)場安裝前尚未編程或配置。
本文討論TinyML的部署。必須認(rèn)識到這些部署可能對社會產(chǎn)生的影響。確保TinyML部署安全、可信和合乎道德。與TinyML部署相關(guān)的問題和根據(jù)部署所采取的行動包括:公平和包容,可靠和安全,隱私與安全,透明,責(zé)任。
物聯(lián)網(wǎng)部署基礎(chǔ)
在討論TinyML部署的細(xì)節(jié)前,了解物聯(lián)網(wǎng)基礎(chǔ)知識非常重要,對所有部署都是通用的。在規(guī)劃物聯(lián)網(wǎng)部署時,需要考慮各種技術(shù)和運營方面的問題。在這里,我們將介紹適用于大多數(shù)物聯(lián)網(wǎng)部署的一些要點,這也與TinyML設(shè)備的部署相關(guān)。
物聯(lián)網(wǎng)部署以現(xiàn)場部署的多個設(shè)備或設(shè)備組為中心,其中可能包括終端消費產(chǎn)品、商業(yè)建筑安裝或智能工廠集成。設(shè)備組中的設(shè)備都將直接或通過一個或多個網(wǎng)關(guān)連接到云服務(wù)后臺。設(shè)備軟件和連接必須與云端配置和安全保持一致,物聯(lián)網(wǎng)部署才能成功地大規(guī)模運行。在典型的云原生基礎(chǔ)設(shè)施部署中,DevOps團隊可以即時啟動計算資源或執(zhí)行動態(tài)分配服務(wù)的進(jìn)程,而物聯(lián)網(wǎng)部署則不同,其中包括數(shù)據(jù)中心以外的真實設(shè)備,它們并不那么短暫。考慮到這一點,我們將在下面討論物聯(lián)網(wǎng)部署的各種注意事項。
設(shè)備連接
物聯(lián)網(wǎng)部署中的邊緣設(shè)備可以通過各種方式連接到云服務(wù)。物理(PHY)層的連接方式包括:WiFi、藍(lán)牙、以太網(wǎng)、LoRa、IEEE 802.15.4(Zigbee或Thread),或甚至蜂窩網(wǎng)絡(luò)。通常,設(shè)備連接的選擇是取決于無線連接或芯片的成本、網(wǎng)絡(luò)覆蓋范圍要求和設(shè)備功耗(電池供電還是持續(xù)供電)。另外,期望的邊緣環(huán)境中的網(wǎng)絡(luò)拓?fù)?/a>結(jié)構(gòu)也是一個重要的考慮因素。設(shè)備是通過 WiFi 路由器直接連接到互聯(lián)網(wǎng),還是通過應(yīng)用程序與帶藍(lán)牙的移動設(shè)備配對,還是通過商用的物聯(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ò)的一部分?所有這些示例展示了各自的獨特的網(wǎng)絡(luò)連接機制。最后,一旦設(shè)備連接,就需要考慮一些數(shù)據(jù)交換協(xié)議。典型的物聯(lián)網(wǎng)標(biāo)準(zhǔn)協(xié)議包括:MQTT、HTTP、WebSocket和CoAP。相較于其他協(xié)議,這些協(xié)議各有優(yōu)勢和細(xì)微差別。
設(shè)備配置
對于大多數(shù)物聯(lián)網(wǎng)服務(wù)而言,連接到服務(wù)的設(shè)備必須經(jīng)過該服務(wù)的身份認(rèn)證。同樣,設(shè)備通常也會對云服務(wù)進(jìn)行身份認(rèn)證,以確保通信安全。這稱為雙向認(rèn)證,mTLS是物聯(lián)網(wǎng)部署中實現(xiàn)這一目的主要方法。當(dāng)使用mTLS時,設(shè)備和云服務(wù)都將出示自己的TLS證書,以便使用公鑰和私鑰進(jìn)行驗證。此外,云服務(wù)通常要求設(shè)備通過證書進(jìn)行唯一標(biāo)識。隨著物聯(lián)網(wǎng)設(shè)備組部署到現(xiàn)場,證書如何一開始就安裝到設(shè)備上?這就是設(shè)備配置需要考慮的重要問題。在不可信一方管理設(shè)備之前,設(shè)備配置需要向其注入唯一證書和/或加密密鑰。這需要使用安全設(shè)施和配置過程,以確保設(shè)備不會被克隆或欺騙。通常,證書會存放在設(shè)備的安全存儲器中,設(shè)備具有安全元件或安全區(qū),以避免篡改或復(fù)制。在部署之前實施這些技術(shù)的設(shè)備比那些未實施這些技術(shù)的設(shè)備更能抵御安全攻擊和漏洞,因此這些技術(shù)被認(rèn)為是重要的最佳實踐。
設(shè)備監(jiān)控
在物聯(lián)網(wǎng)設(shè)備部署時,通常無法對設(shè)備進(jìn)行物理訪問。然而,人們通常會對設(shè)備組中每個設(shè)備的健康狀況和總體狀態(tài)有利益關(guān)切。設(shè)備連接到云服務(wù)后,設(shè)備的所有者或運營者希望設(shè)備能夠無故障運行。設(shè)備監(jiān)控有助于實現(xiàn)平穩(wěn)運行。物聯(lián)網(wǎng)設(shè)備可通過編程向物聯(lián)網(wǎng)云服務(wù)發(fā)送有關(guān)其各自狀態(tài)的遙測數(shù)據(jù),以便進(jìn)行監(jiān)控。有用數(shù)據(jù)字段的一些示例包括:電池電量耗盡率、重啟事件、意外崩潰、連接問題、溫度波動、物理影響或某些代碼塊執(zhí)行時間。根據(jù)物聯(lián)網(wǎng)平臺不同,可能會有內(nèi)置的設(shè)備監(jiān)控服務(wù),或者也可能由物聯(lián)網(wǎng)部署的其他供應(yīng)商提供。因為從大量設(shè)備獲取的數(shù)據(jù)可能太大而無法可視化,因此可以利用查詢或特定的事件觸發(fā)來指示何時出現(xiàn)大規(guī)模的設(shè)備問題。從設(shè)備獲取的監(jiān)控數(shù)據(jù)可用于改進(jìn)設(shè)備固件的新版本或設(shè)備硬件的未來新版本。
設(shè)備升級
物聯(lián)網(wǎng)設(shè)備可以從連接到云服務(wù)受益的一種方式是接受升級運行的嵌入式應(yīng)用程序,或接受固件升級來改進(jìn)其工作。這種物聯(lián)網(wǎng)設(shè)備的升級通常稱為OTA(Over-The-Air)或FUOTA(Firmware Update Over-The-Air)升級。通常,這是一個全定制過程,取決于設(shè)備硬件的能力和制造商選擇的方法。首先,需要生成一個新的固件映像,該映像經(jīng)過了測試并進(jìn)行版本控制,部署到設(shè)備組中。許多物聯(lián)網(wǎng)平臺都支持OTA升級,作為其設(shè)備或設(shè)備組管理功能的一部分,管理員可以將新的固件映像上傳到物聯(lián)網(wǎng)平臺進(jìn)行分發(fā)。更新過程中不能讓設(shè)備變成“磚”,否則它將無法連接到云端或接收任何進(jìn)一步的升級。物聯(lián)網(wǎng)平臺將向設(shè)備組發(fā)出有更新的信號。根據(jù)設(shè)備的使用情況,設(shè)備可能會開始下載新的固件映像,或者可能需要等待,等到它處于適當(dāng)?shù)墓ぷ鳡顟B(tài)或用戶同意更新。為了提高分發(fā)新固件映像的網(wǎng)絡(luò)效率,一些設(shè)備更新過程只會發(fā)送新舊固件映像的增量或差分包。一旦設(shè)備檢索到新映像或增量,通常需要重啟引導(dǎo)加載程序指向新固件。為增加安全性,固件映像可以采用數(shù)字簽名,然后要求設(shè)備驗證其真實性。最后,一旦新固件升級完成,如果發(fā)現(xiàn)問題,可能還需要固件版本回滾。由于新固件遇到問題,設(shè)備需要返回到以前的固件版本運行。值得注意的一點是,整個設(shè)備組的版本差異可能會帶來挑戰(zhàn)。如果設(shè)備仍然使用v1.0版本的固件,那么是否可以直接跳過v1.1并更新到v1.2版本?如果用戶選擇不更新怎么辦?需要一定程度的預(yù)先規(guī)劃和面向未來的考慮,才能正確地支持設(shè)備升級策略。
分析和洞察
除了前面提到的發(fā)送到云端監(jiān)控物聯(lián)網(wǎng)設(shè)備的遙測數(shù)據(jù)外,從設(shè)備中獲取的數(shù)據(jù),從中可以獲得商業(yè)洞察,這是企業(yè)投資物聯(lián)網(wǎng)部署的主要原因之一。畢竟,數(shù)據(jù)存儲本身只會增加運維成本,并沒有實際好處。要將物聯(lián)網(wǎng)數(shù)據(jù)轉(zhuǎn)化為資產(chǎn),就必須使用數(shù)據(jù)分析技術(shù)來提供商業(yè)洞察。例如,一個智能車庫門系統(tǒng)可以獲得打開和關(guān)閉的狀態(tài),并將這些數(shù)據(jù)發(fā)送到云端。然而,如果企業(yè)想知道整個設(shè)備組的客戶每天打開和關(guān)閉車庫門的頻率,就需要使用工具來分析原始數(shù)據(jù)。物聯(lián)網(wǎng)分析是一個廣泛的術(shù)語,可能包括數(shù)據(jù)庫查詢、計算分析、統(tǒng)計甚至機器學(xué)習(xí)來量化物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)的模式。
此外,通過報告或數(shù)據(jù)可視化(如儀表盤)方式對這些數(shù)據(jù)進(jìn)行某種形式的展示,可以提供分析洞察。數(shù)據(jù)科學(xué)家可能會參與開發(fā)從數(shù)據(jù)集中提取有意義洞察的方法。以智能車庫門為例,分析后可能會發(fā)現(xiàn),客戶頻繁地打開和關(guān)閉車庫門遠(yuǎn)高于制造商的預(yù)期,從而導(dǎo)致電機的使用壽命縮短并增加保修索賠。這樣的洞察對企業(yè)來說可能是有價值的,可以更好地了解客戶對物聯(lián)網(wǎng)設(shè)備的確切行為和使用情況,進(jìn)而可以用來提供更好的產(chǎn)品和服務(wù)。在物聯(lián)網(wǎng)部署中,有許多技術(shù)選項和注意事項可以提供分析和洞察。在這一領(lǐng)域有些專業(yè)的服務(wù),采用哪種服務(wù)主要取決于業(yè)務(wù)需求是否合適。
數(shù)據(jù)存儲
如何存儲數(shù)據(jù)是物聯(lián)網(wǎng)部署的一個重要方面。數(shù)據(jù)存儲有三個主要考慮因素:1) 應(yīng)存儲哪些數(shù)據(jù)。2) 如何訪問這些數(shù)據(jù)。3) 存儲數(shù)據(jù)相關(guān)的成本是多少。當(dāng)未連接的設(shè)備變成物聯(lián)網(wǎng)設(shè)備時,原來僅限于存儲在設(shè)備上的數(shù)據(jù)現(xiàn)在可以發(fā)送到云端。人們可能想要把設(shè)備上任何傳感器的所有可用的數(shù)據(jù)都發(fā)送到云端,以便進(jìn)行分析。然而,在考慮隱私和效率時,還應(yīng)決定發(fā)送哪些數(shù)據(jù)。由此所產(chǎn)生的數(shù)據(jù)傳輸和存儲成本可能超過實際需要。本地處理是降低傳輸和存儲成本的一個重要因素。例如,如果一個嵌入式應(yīng)用每秒鐘從溫度傳感器讀取數(shù)據(jù),但溫度值一小時內(nèi)都沒有變化,那么在這段時間內(nèi),將3600個相同的數(shù)據(jù)發(fā)送到云端可能效率并不高。相反,也許只有在溫度值發(fā)生變化時才應(yīng)發(fā)送數(shù)據(jù)。
一旦確定需要發(fā)送的數(shù)據(jù),就有許多方法將數(shù)據(jù)存儲到云端。數(shù)據(jù)可以非結(jié)構(gòu)化地存儲在平面文件中,也可以結(jié)構(gòu)化地存儲在數(shù)據(jù)庫中。選擇存儲機制取決于數(shù)據(jù)的類型和訪問數(shù)據(jù)的方式。如果需要經(jīng)常查詢數(shù)據(jù)顯示實時的統(tǒng)計數(shù)據(jù),那么時間序列數(shù)據(jù)庫可能是正確的選擇。然而,如果數(shù)據(jù)量很大,不經(jīng)常訪問,并且僅用于報告或?qū)徲?,那么?shù)據(jù)湖可能是降低成本的更好選擇。
最后,數(shù)據(jù)的保留策略也是一個重要的考慮因素。數(shù)據(jù)是需要無限期存儲,還是達(dá)到目的幾天或幾個月后就停用?這也取決于數(shù)據(jù)的類型。設(shè)備組控制面(control plane)的數(shù)據(jù)與設(shè)備使用或傳感器外設(shè)的數(shù)據(jù)面(data plane)的數(shù)據(jù)保留政策可能不同。本地隱私和數(shù)據(jù)治理方面的考慮因素也可能會影響這些存儲要求。
基礎(chǔ)組件
物聯(lián)網(wǎng)部署所選擇的物聯(lián)網(wǎng)平臺取決于業(yè)務(wù)需求。物聯(lián)網(wǎng)部署甚至可能包括不同供應(yīng)商平臺的多種服務(wù),用它們作為基礎(chǔ)組件來構(gòu)建完整的解決方案。一些專業(yè)的物聯(lián)網(wǎng)平臺包含可能抽象出上述某些技術(shù)細(xì)節(jié)的功能,更容易管理設(shè)備組。還值得注意的是,一些物聯(lián)網(wǎng)平臺可能運行在其他物聯(lián)網(wǎng)平臺之上,利用其服務(wù)作為基礎(chǔ)組件,為特定用例提供更高階的功能。例如,一個提供預(yù)制可視化儀表盤的物聯(lián)網(wǎng)平臺可能會運行在另一個物聯(lián)網(wǎng)平臺之上,另一個物聯(lián)網(wǎng)平臺實現(xiàn)了 MQTT 代理,可為設(shè)備組提供彈性和大規(guī)??蓴U展性。因此,物聯(lián)網(wǎng)部署和物聯(lián)網(wǎng)平臺本身可以使用各種基礎(chǔ)組件來構(gòu)建,在資源、成本和功能方面,幫助提高設(shè)備組的部署、管理和分析的效率。
TinyML和物聯(lián)網(wǎng)
我們不妨對 TinyML 和物聯(lián)網(wǎng)技術(shù)進(jìn)行比較和對比,消除兩者之間的共生關(guān)系。例如,TinyML從物聯(lián)網(wǎng)部署基礎(chǔ)設(shè)施的進(jìn)步中獲益匪淺,而物聯(lián)網(wǎng)則得益于Tiny ML在設(shè)備上執(zhí)行的能力,減少或消除了對云端和連接的依賴,這對需要始終運行的垂直市場具有吸引力,而無論網(wǎng)絡(luò)連接如何。在物聯(lián)網(wǎng)設(shè)備無法滿足連接、功耗和隱身模式運行要求的地方,TinyML 很受歡迎或有望越來越受歡迎:
??工作時無需連接互聯(lián)網(wǎng)
??低功耗
??改善延遲
??電池供電的獨立解決方案
??設(shè)備上運行,獨立于云計算
??可用于沒有網(wǎng)絡(luò)連接或供電的偏遠(yuǎn)地區(qū)
??隱身工作模式
??增強隱私保護(hù)
??獨立設(shè)備運行,無需網(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è)備連接是其在過去十年流行的主要原因。對網(wǎng)絡(luò)連接的要求使其不太適合遠(yuǎn)程和網(wǎng)絡(luò)連接較差的行業(yè),如農(nóng)業(yè)、采礦、航運、航天、航空、國防等。TinyML技術(shù)在設(shè)備上的運行使其不僅在部署后具有吸引力,而且使其成為少數(shù)選擇的唯一選擇,如國防,其中設(shè)備的隱身模式工作至關(guān)重要。
使用物聯(lián)網(wǎng)進(jìn)行TinyML部署
TinyML部署是指整個MLOps部署流水線(pipeline)。TinyML部署具有多個獨特因素。
??云端上的 MLDevOps 流水線(pipeline)
??設(shè)備上的 MLDevOps 流水線(pipeline)
??機器學(xué)習(xí)模型的安全性、隱私和數(shù)據(jù)治理
邊緣機器學(xué)習(xí)通常涉及對物理世界的傳感器表示進(jìn)行推理。這與垃圾郵件檢測等其他機器學(xué)習(xí)應(yīng)用有很大不同,如垃圾郵件檢測,涉及到固定的輸入類型(unicode)。物理世界在不斷變化和發(fā)展。這會導(dǎo)致概念和偏差偏移,從而降低推理結(jié)果。為了克服這些問題,小型設(shè)備上的機器學(xué)習(xí)模型通常是MLDevOps流水線(pipeline)的一部分,如上圖1所示。
流水線的云端部分如圖所示。流水線從新設(shè)備加入設(shè)備組并廣播其功能開始。AutoML 用于生成一個能最佳利用目標(biāo)設(shè)備能力的模型。在TinyML領(lǐng)域,設(shè)備組可能是非常異構(gòu)的,并使用同一基本模型的多個變體(例如,設(shè)備可能會將一部分計算卸載到本地加速器)。然后,使用OTA或通過連接的網(wǎng)關(guān)將模型部署到目標(biāo)設(shè)備。
物聯(lián)網(wǎng)部署基礎(chǔ)設(shè)施可用于將推理結(jié)果和原始傳感器輸出(受能耗和通信限制)回傳到云端或服務(wù)器。對輸入統(tǒng)計和性能指標(biāo)(如精度)的結(jié)果進(jìn)行監(jiān)控,以檢測數(shù)據(jù)和概念漂移。檢測到漂移或性能下降將觸發(fā)一系列故障排除步驟和/或重新訓(xùn)練模型,并將其重新部署到設(shè)備。有時,如果對應(yīng)用統(tǒng)計數(shù)據(jù)有很好的理解,可以在設(shè)備上完成檢測。例如,在辦公大樓里,下班后的人數(shù)應(yīng)該會減少。如果設(shè)備數(shù)據(jù)顯示下班后還有很多人,則表明操作不當(dāng)。
為了實現(xiàn)穩(wěn)健的TinyML部署,需要實施模型版本管理。穩(wěn)健的ML devops部署將跟蹤以下所有的內(nèi)容:訓(xùn)練代碼版本(如 Tensorflow 2.11)、訓(xùn)練和驗證數(shù)據(jù)集、訓(xùn)練指標(biāo)、TinyML模型轉(zhuǎn)換工具版本、轉(zhuǎn)換后的模型和執(zhí)行轉(zhuǎn)換后模型的二進(jìn)制文件。最好使用JSON或YAML版本文件來存儲和訪問所有這些值。
與通常具有單一功能的物聯(lián)網(wǎng)應(yīng)用不同,設(shè)備上的TinyML應(yīng)用可以被設(shè)視為由多個階段組成的流水線(pipeline),如從傳感器獲取數(shù)據(jù)、數(shù)據(jù)預(yù)處理、TinyML模型推理、后處理、商業(yè)智能和其他監(jiān)控。
雖然這個流水線(pipeline)可以作為單個二進(jìn)制文件部署,但為了優(yōu)化通信帶寬和功耗,我們更傾向于使用多個可單獨更新的工件。例如,當(dāng)TensorFlow Micro用作運行時,模型陣列可以單獨更新,而無需更新其余代碼(假設(shè)仍能滿足激活大小和其他限制條件)。
與機器學(xué)習(xí)模型相關(guān)的安全問題有兩個方面。機器學(xué)習(xí)模型是有價值的知識產(chǎn)權(quán)(IP),因為它們通常是使用專有(非開源)用戶數(shù)據(jù)訓(xùn)練出來的。因此,模型具有很大的價值。防止黑客從物理可訪問的設(shè)備中竊取模型是一個棘手的問題。第二個問題與黑客在不被發(fā)現(xiàn)的情況下改變模型行為有關(guān)。由于傳感器的響應(yīng)可以指導(dǎo)健康、安全響應(yīng)和決策,因此這是一個嚴(yán)重的問題。物聯(lián)網(wǎng)部署通常不會遇到這些安全問題。
隱私和數(shù)據(jù)治理/主權(quán)是機器學(xué)習(xí)訓(xùn)練和部署面臨的其他挑戰(zhàn)。安全地存儲數(shù)據(jù)(特別是原始傳感器數(shù)據(jù))并在滿足法規(guī)要求的情況下傳輸數(shù)據(jù)尤其具有挑戰(zhàn)性。此外,有關(guān)隱私和數(shù)據(jù)治理新的政府法規(guī),要求跟蹤數(shù)據(jù)及其在云端的使用情況。負(fù)責(zé)任的人工智能還要求對來自設(shè)備的數(shù)據(jù)(用于模型再訓(xùn)練),進(jìn)行跟蹤、版本控制并與使用這些數(shù)據(jù)的模型相關(guān)聯(lián)。與此同時,聯(lián)合學(xué)習(xí)和設(shè)備上學(xué)習(xí)也正在不斷發(fā)展中,這可以確保單個設(shè)備上私有數(shù)據(jù)的安全,同時減少連接到云所需的帶寬和功率。
結(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)境之間的主要異同點。
成功的TinyML應(yīng)用要求開發(fā)人員有意識地選擇必要購買的組件,或開發(fā)“全?!钡拿恳粚樱哉_部署他們的產(chǎn)品。依賴“默認(rèn)”解決方案可能適用于開發(fā)測試用例,但可能會阻礙“現(xiàn)場”的大規(guī)模部署。
引用鏈接
[1]
?https://www.tinyml.org/static/98111ec2e44e63079e10872b485777a0/tinyML_Deployment_WG_White_Paper_1.pdf