李亞國(guó),李冠良,張凱,晉濤
(1.國(guó)網(wǎng)山西省電力公司,太原 030001;2.國(guó)網(wǎng)山西省電力公司電力科學(xué)研究院,太原 030001)
隨著物聯(lián)網(wǎng)技術(shù)及其產(chǎn)品研究的推廣,物聯(lián)網(wǎng)已逐步應(yīng)用到各類生產(chǎn)、制造等領(lǐng)域中。通過(guò)物聯(lián)網(wǎng)技術(shù)可實(shí)現(xiàn)現(xiàn)場(chǎng)各數(shù)據(jù)實(shí)時(shí)采集和分析預(yù)警功能,由此對(duì)物聯(lián)網(wǎng)提出了低延遲、安全性、可靠性和智能性等更高要求[1]。由于邊緣設(shè)備比云服務(wù)器更接近數(shù)據(jù)源,能夠縮短網(wǎng)絡(luò)延遲和帶寬消耗,將數(shù)據(jù)采集后進(jìn)行本地處理,也稱為邊緣計(jì)算,是克服上述障礙的必然[2]。邊緣計(jì)算目前被應(yīng)用于智能生產(chǎn)、智能運(yùn)輸、智能運(yùn)檢等各種智能物聯(lián)網(wǎng)應(yīng)用,其核心能力是實(shí)現(xiàn)現(xiàn)場(chǎng)各傳感器及終端設(shè)備物聯(lián)感知與實(shí)時(shí)采集。由于近年來(lái)人工智能(Artificial Intelligence,AI)技術(shù)被廣泛采用,有望為邊緣節(jié)點(diǎn)提供分布式智能服務(wù)[3]。將人工智能集成到邊緣代理中,實(shí)現(xiàn)預(yù)警分析前置化具有較大的應(yīng)用場(chǎng)景。例如在變電站、配電站房智能運(yùn)檢業(yè)務(wù)中,對(duì)站內(nèi)生產(chǎn)環(huán)境實(shí)現(xiàn)智能分析,將現(xiàn)場(chǎng)作業(yè)安全違章識(shí)別等AI 模型集成在邊緣代理中,不依賴于網(wǎng)絡(luò)傳輸,告警產(chǎn)生后現(xiàn)場(chǎng)即時(shí)處理,提高現(xiàn)場(chǎng)安全管控和管理能力。
本文通過(guò)在邊緣代理中融合與集成人工智能模型,構(gòu)建新型智能的邊緣物聯(lián)網(wǎng)框架,實(shí)現(xiàn)物聯(lián)網(wǎng)智能化和智能計(jì)算前置化。在邊緣層面采用遷移學(xué)習(xí)和增量學(xué)習(xí),通過(guò)邊緣側(cè)本地私有數(shù)據(jù)重新訓(xùn)練AI模型,并使用增量數(shù)據(jù)迭代訓(xùn)練模型。在此基礎(chǔ)上,設(shè)計(jì)云壓縮和邊緣解壓機(jī)制,以降低模型部署的網(wǎng)絡(luò)成本,并通過(guò)配置壓縮比降低網(wǎng)絡(luò)成本。最后設(shè)計(jì)一個(gè)實(shí)驗(yàn)仿真的系統(tǒng)原型來(lái)評(píng)估該框架的性能。
人工智能和基于邊緣計(jì)算的物聯(lián)網(wǎng)技術(shù)在國(guó)內(nèi)外已取得較大的進(jìn)展,兩者融合最初是將簡(jiǎn)單機(jī)器學(xué)習(xí)算法部署到邊緣節(jié)點(diǎn)以實(shí)現(xiàn)對(duì)視頻流數(shù)據(jù)的識(shí)別認(rèn)知,比如火災(zāi)檢測(cè)、交通流分析等[4]。然而,邊緣計(jì)算、人工智能和物聯(lián)網(wǎng)技術(shù)是為特定目的而開發(fā)的,將它們組合成一個(gè)統(tǒng)一的解決方案仍處于早期階段,并面臨以下挑戰(zhàn):
1)在傳統(tǒng)的邊緣云范例中,人工智能模型由云服務(wù)器上的公共數(shù)據(jù)集進(jìn)行全面訓(xùn)練,而邊緣側(cè)只負(fù)責(zé)推理操作。這類設(shè)計(jì)對(duì)于存在個(gè)性化的上下文中或服務(wù)于特定目的應(yīng)用場(chǎng)景中效率低下[5]。
2)進(jìn)入邊緣設(shè)備的大部分?jǐn)?shù)據(jù)都包含個(gè)人用戶和本地現(xiàn)場(chǎng)數(shù)據(jù),尤其是電網(wǎng)數(shù)據(jù)涉及高度的敏感性。因此,與云服務(wù)器共享這些數(shù)據(jù)對(duì)于云邊協(xié)作構(gòu)建高性能人工智能模型,會(huì)存在一定的安全隱患和風(fēng)險(xiǎn)。
3)由于邊緣設(shè)備在計(jì)算、存儲(chǔ)和通信能力方面受到限制,頻繁地從云端接收大型AI 模型可能會(huì)導(dǎo)致設(shè)備過(guò)載和網(wǎng)絡(luò)擁塞。
本文研究如何將邊緣計(jì)算和人工智能有效地集成到物聯(lián)網(wǎng)系統(tǒng)中[6]。一方面,在云端訓(xùn)練人工智能模型的傳統(tǒng)方法不適用于物聯(lián)網(wǎng)應(yīng)用,因?yàn)橥ㄟ^(guò)互聯(lián)網(wǎng)傳輸大量數(shù)據(jù)可能會(huì)帶來(lái)嚴(yán)重的延遲和信息安全風(fēng)險(xiǎn)。另一方面,訓(xùn)練AI 模型需要很高的計(jì)算能力,在邊緣設(shè)備上進(jìn)行訓(xùn)練會(huì)受到性能約束,且高功耗較高。因此,基于人工智能對(duì)邊緣架構(gòu)進(jìn)行優(yōu)化調(diào)整,包括設(shè)計(jì)數(shù)據(jù)共享結(jié)構(gòu)、模型部署方法和云-邊協(xié)作策略,并由此構(gòu)建一個(gè)支持 AI 的邊緣代理物聯(lián)網(wǎng)框架,實(shí)現(xiàn)將邊緣計(jì)算和 AI 集成到物聯(lián)網(wǎng)系統(tǒng)中[7]。
近年來(lái),國(guó)內(nèi)外研究人員對(duì)人工智能和邊緣計(jì)算的整合已開展一定研究。本文關(guān)注最近邊緣人工智能相關(guān)的研究成果,總體思路大致分為框架設(shè)計(jì)、模型適應(yīng)和處理器加速[8]。
基于邊緣代理框架進(jìn)行改進(jìn)設(shè)計(jì),在不干擾AI模型結(jié)構(gòu)的情況下提高模型在邊緣側(cè)的訓(xùn)練和推理階段的性能。
1)模型訓(xùn)練:模型訓(xùn)練的工作主要基于知識(shí)蒸餾的框架技術(shù)開展?;谥R(shí)蒸餾框架的設(shè)計(jì)目標(biāo)是最大限度地將模型從大型和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)轉(zhuǎn)移到小型和淺層網(wǎng)絡(luò)[9]。該框架將模型訓(xùn)練學(xué)習(xí)過(guò)程分為邊緣代理側(cè)學(xué)習(xí)和服務(wù)器側(cè)學(xué)習(xí)兩個(gè)階段。在前一個(gè)階段對(duì)每個(gè)代理進(jìn)行模型遷移,并基于代理的本地?cái)?shù)據(jù)進(jìn)行強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)訓(xùn)練。在后一階段,聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L)服務(wù)器會(huì)定期地從所有代理收集RL 模型并重新生成聯(lián)邦模型。該方法使邊緣設(shè)備能夠?qū)W習(xí)和改進(jìn)預(yù)測(cè)模型,同時(shí)在本地保留其私有數(shù)據(jù)[10]。
2)模型推理:模型推理性能優(yōu)化的工作主要通過(guò)眾多節(jié)點(diǎn)在模型分區(qū)上進(jìn)行,這對(duì)大型和復(fù)雜的學(xué)習(xí)模型特別有益。將模型參數(shù)分為多個(gè)部分,每個(gè)部分由一個(gè)單獨(dú)節(jié)點(diǎn)保存,并由各節(jié)點(diǎn)聚合執(zhí)行訓(xùn)練或推理任務(wù)。通過(guò)模型分區(qū)可避免用戶私有數(shù)據(jù)暴露,開發(fā)差分隱私機(jī)制可保證數(shù)據(jù)在邊緣設(shè)備上實(shí)現(xiàn)隔離。文獻(xiàn)[11]設(shè)計(jì)了一個(gè)保護(hù)隱私的深度神經(jīng)網(wǎng)絡(luò),對(duì)敏感數(shù)據(jù)和模型參數(shù)進(jìn)行保護(hù)。模型分區(qū)提高了數(shù)據(jù)隱私,因每個(gè)節(jié)點(diǎn)只有權(quán)訪問(wèn)各自的數(shù)據(jù)部分并保留相應(yīng)的模型參數(shù)子集。
通過(guò)對(duì)模型進(jìn)行適當(dāng)?shù)倪m配處理,可使預(yù)訓(xùn)練的AI 模型更適合邊緣架構(gòu),包括模型壓縮、條件計(jì)算、算法異步和徹底去中心化。
1)模型壓縮:文獻(xiàn)[12]提出了一種支持智能設(shè)備個(gè)性化和提高容錯(cuò)能力的修剪后再訓(xùn)練方案,并設(shè)計(jì)了MobileNets 模型,包括寬度乘數(shù)和圖像分辨率參數(shù),形成了16 個(gè)具有不同延遲、精度和大小值的模型。文獻(xiàn)[13]引入一個(gè)模型標(biāo)準(zhǔn),可根據(jù)給定的任務(wù)分析連接的重要性,將重要性較低的連接淘汰,以降低空間和時(shí)間的復(fù)雜度。
2)條件計(jì)算:文獻(xiàn)[14]提出了條件計(jì)算的方法,通過(guò)高度非線性的非微分函數(shù)設(shè)計(jì)一個(gè)梯度的無(wú)偏估計(jì)器,解決了DNN 耗時(shí)且計(jì)算成本高的問(wèn)題,文獻(xiàn)[15]擴(kuò)展了該設(shè)計(jì),在應(yīng)用非線性時(shí)通過(guò)消除具有零值的隱藏單元來(lái)降低權(quán)重矩陣的等級(jí),并通過(guò)打開或關(guān)閉部分網(wǎng)絡(luò)組件來(lái)優(yōu)化性能和資源利用率。
3)算法異步化:為將本地模型異步合并到聯(lián)邦學(xué)習(xí)中,文獻(xiàn)[16]引入了Gossip 隨機(jī)梯度下降(GoSGD)算法來(lái)異步訓(xùn)練模型,模型信息通過(guò)隨機(jī)八卦算法在不同線程之間完全共享,并給出一個(gè)專門為邊緣計(jì)算(Edge Computing,EC)平臺(tái)設(shè)計(jì)的框架,減少不同EC 平臺(tái)之間的性能差異。
4)去中心化設(shè)計(jì):區(qū)塊鏈作為去中心化的技術(shù),主要是用于比特幣引入,以消除聯(lián)邦學(xué)習(xí)中所用的單一服務(wù)器[17]。文獻(xiàn)[18]提出了一種基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)架構(gòu)(BlockFL),使模型更新由相應(yīng)的礦工利用工作證明機(jī)制進(jìn)行交換和驗(yàn)證,并設(shè)計(jì)了基于聯(lián)邦學(xué)習(xí)和區(qū)塊鏈的新系統(tǒng),實(shí)現(xiàn)去中心化。
通過(guò)改善計(jì)算密集型操作(如乘法或累加)來(lái)優(yōu)化DNN 的結(jié)構(gòu),以實(shí)現(xiàn)對(duì)處理器加速。在處理器加速方面的研究主要集中在DNN 特定指令集設(shè)計(jì)和驅(qū)動(dòng)內(nèi)存計(jì)算設(shè)計(jì)。
1)DNN 特定指令集設(shè)計(jì):由于DNN 的快速發(fā)展,許多硬件制造商都具有針對(duì)DNN 計(jì)算的特殊特性?;谌蒎e(cuò)性考慮,DNN 模型傾向于以16 bit 浮點(diǎn)(FP16)格式存儲(chǔ)數(shù)據(jù),而不是FP32 或FP64,以節(jié)省內(nèi)存并易于擴(kuò)大系統(tǒng)。例如英特爾Knights Mill CPU(Xeon Phi 7295 SR3VD)可通過(guò)添加指令集來(lái)實(shí)現(xiàn)BFloat16 格式——BF16 計(jì)算,以支持深度學(xué)習(xí)訓(xùn)練任務(wù)。雖然CPU 和GPU 在訪問(wèn)數(shù)據(jù)時(shí)會(huì)消耗大量時(shí)間,但谷歌設(shè)計(jì)的張量處理單元(TPU)可實(shí)現(xiàn)在每周期基于收縮陣列機(jī)制處理多達(dá)65 536 個(gè)8 bit 乘加單元,并用于矩陣運(yùn)算[19]。
2)驅(qū)動(dòng)計(jì)算內(nèi)存設(shè)計(jì):可應(yīng)用記憶體來(lái)模擬ISAAC 架構(gòu)中的原位模擬運(yùn)算,以減少數(shù)據(jù)移動(dòng)。文獻(xiàn)[20]提出了一種名為radix-X 卷積神經(jīng)元網(wǎng)絡(luò)橫桿陣列的新型算法,通過(guò)利用記憶體橫桿陣列加速CNN 推理,以實(shí)現(xiàn)近數(shù)據(jù)處理。
本文基于上述技術(shù)開展人工智能和邊緣代理的融合研究,設(shè)計(jì)一種新型的AI+邊緣智能框架,并取得了以下成果:1)設(shè)計(jì)一種新穎的學(xué)習(xí)過(guò)程,包括遷移學(xué)習(xí)和增量學(xué)習(xí),并應(yīng)用到邊緣代理設(shè)備中,使其具備增強(qiáng)的AI 智能功能,可使用本地存儲(chǔ)的個(gè)性化和增量數(shù)據(jù)實(shí)現(xiàn)模型動(dòng)態(tài)再訓(xùn)練;2)設(shè)計(jì)一種數(shù)據(jù)存儲(chǔ)策略,將邊緣數(shù)據(jù)分為公共和私有,私有數(shù)據(jù)被鎖定在本地邊緣以避免隱私問(wèn)題,而公共數(shù)據(jù)被傳輸?shù)皆贫艘赃M(jìn)行模型訓(xùn)練任務(wù),從而實(shí)現(xiàn)保護(hù)數(shù)據(jù)隱私的同時(shí),提高邊緣-云協(xié)作能力[21];3)設(shè)計(jì)一種輕量級(jí)部署范式,支持壓縮比可配置的AI 模型云壓縮和邊緣解壓機(jī)制,實(shí)現(xiàn)網(wǎng)絡(luò)消耗最小化,降低了邊緣AI 模型的部署成本。
為解決上述問(wèn)題,本文提出了AI+邊緣智能框架,如圖1 所示,該框架對(duì)模型的處理分為引導(dǎo)、部署、操作及學(xué)習(xí)3 個(gè)階段。
圖1 AI+邊緣智能框架的主要工作階段設(shè)計(jì)Fig.1 Main working stage design of AI+edge intelligence framework
該框架主要工作階段相關(guān)設(shè)計(jì)說(shuō)明如下:
1)引導(dǎo)階段:在部署到邊緣節(jié)點(diǎn)之前創(chuàng)建基于容器的微服務(wù),并將用戶選擇的模型與其運(yùn)行環(huán)境打包成一個(gè)docker 容器,即“模型包”,以進(jìn)行后續(xù)的部署。引導(dǎo)階段可應(yīng)用模型優(yōu)化技術(shù)來(lái)減小模型,啟用適用于模型和目標(biāo)邊緣節(jié)點(diǎn)的機(jī)器學(xué)習(xí)平臺(tái)(如TensorFlow、PyTorch、Keras),并分配訪問(wèn)權(quán)限策略以控制邊緣設(shè)備之間的協(xié)作[22]。
2)部署階段:模型包被壓縮并加載到共享存儲(chǔ)庫(kù)中,具有權(quán)限的邊緣節(jié)點(diǎn)可以訪問(wèn)該存儲(chǔ)庫(kù)。收到部署請(qǐng)求后,將模型包下發(fā)到相應(yīng)的邊緣節(jié)點(diǎn)。該階段可采用模型壓縮和修剪技術(shù)降低網(wǎng)絡(luò)成本。
3)操作及學(xué)習(xí)階段:邊緣代理首先解壓模型包并使用相應(yīng)的docker 文件創(chuàng)建容器,容器在啟動(dòng)后使用邊緣代理私有數(shù)據(jù)重新訓(xùn)練模型。使用本地?cái)?shù)據(jù)重新訓(xùn)練可使模型更符合實(shí)際場(chǎng)景,并提高其推理準(zhǔn)確性[23]。本框架具備較好的靈活擴(kuò)展性,當(dāng)邊緣環(huán)境及場(chǎng)景發(fā)生較大變化時(shí),可通過(guò)最新的數(shù)據(jù)使用增量學(xué)習(xí)來(lái)更新模型。
為提高預(yù)訓(xùn)練模型的準(zhǔn)確性,需在云和邊緣之間共享更多數(shù)據(jù),但這使得邊緣層面的數(shù)據(jù)存在安全及隱私風(fēng)險(xiǎn)。本文提出了一種隱私保護(hù)機(jī)制,將存儲(chǔ)在邊緣設(shè)備中的數(shù)據(jù)分為公共數(shù)據(jù)和私有數(shù)據(jù)[24],其存儲(chǔ)策略設(shè)計(jì)如圖2 所示。
圖2 AI+邊緣智能框架的存儲(chǔ)策略設(shè)計(jì)Fig.2 Storage strategy design of AI+edge intelligence framework
框架存儲(chǔ)策略主要設(shè)計(jì)如下:
假定某用戶x,物聯(lián)網(wǎng)設(shè)備y對(duì)該用戶有數(shù)據(jù)訪問(wèn)權(quán)限并接入到邊緣設(shè)備z,存儲(chǔ)在y中x的數(shù)據(jù)分為公共部分db(u)xy和私有部分dp(u)xy。由于物聯(lián)網(wǎng)設(shè)備存在存儲(chǔ)資源限制,db(u)xy數(shù)據(jù)發(fā)送到相應(yīng)的邊緣設(shè)備之前,在y上進(jìn)行短時(shí)存儲(chǔ),時(shí)間為Ts,而dp(u)xy被鎖定在物聯(lián)網(wǎng)設(shè)備中進(jìn)行安全保護(hù)。在時(shí)間t時(shí),存儲(chǔ)在y中x的數(shù)據(jù)可定義如下:
Dxy=db(u)xy|t-t0| <Ts∪dp(u)xy(1)
其中:t0是數(shù)據(jù)上傳至邊緣設(shè)備的最新時(shí)間。同樣地,將邊緣設(shè)備z從IoT 設(shè)備收集的數(shù)據(jù)分為公共部分db(e)z和私有部分dp(e)z,db(e)z和db(e)xy的組合用于增量學(xué)習(xí),dp(e)z用于遷移學(xué)習(xí)。db(e)z和db(u)xy臨時(shí)存儲(chǔ)在邊緣設(shè)備的時(shí)間為Te,之后數(shù)據(jù)傳輸?shù)皆贫?。在系統(tǒng)中,需配置Te>Ts以降低數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)成本。此外,若系統(tǒng)收到數(shù)據(jù)所有者的認(rèn)可,dp(u)xy可共享給邊緣設(shè)備。在上傳到邊緣之前,數(shù)據(jù)dp(u)xy將在本地受到隱私及匿名保護(hù)[25],邊緣設(shè)備無(wú)法從dp(u)xy中識(shí)別x和y。因此,存儲(chǔ)在z中的數(shù)據(jù)可以表示如下:
其中:是與邊緣設(shè)備z鏈接并共享私有數(shù)據(jù)的物聯(lián)網(wǎng)設(shè)備列表。
在使用云端的數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練后,模型被部署在不同的多個(gè)邊緣節(jié)點(diǎn)上。該部署方式可能會(huì)消耗過(guò)多的網(wǎng)絡(luò)資源,并增加系統(tǒng)停機(jī)時(shí)間而損害系統(tǒng)可靠性。為此,本文提出了一種支持AI 模型壓縮和解壓縮的輕量級(jí)模型部署范式,在壓縮之前對(duì)模型修剪以消除次要因素。部署階段的設(shè)計(jì)如圖3 所示,包括模型修剪和模型壓縮兩個(gè)步驟。
圖3 部署階段的設(shè)計(jì)Fig.3 Design of deployment phase
模型部署過(guò)程及設(shè)計(jì)具體如下:
1)模型修剪:模型修剪旨在減少參數(shù)數(shù)量并去除層之間的冗余連接。給定N層人工智能模型M,參數(shù)序列P={wi|1 ≤i≤N},壓縮比λ在0~1 之間,修剪過(guò)程會(huì)刪除所有在閾值K以下的權(quán)重,并在此基礎(chǔ)上進(jìn)行修改,計(jì)算公式如下:
其中:m是hj→c=1 的數(shù)量。通過(guò)上述步驟,減少模型M 的層數(shù)和維度。
3)模型解壓:在模型成功部署到邊緣設(shè)備后,通過(guò)從C中心點(diǎn)Vc恢復(fù)參數(shù)序列P來(lái)重構(gòu)模型M。首先,通過(guò)計(jì)算wi′的近似值來(lái)恢復(fù)修剪后的參數(shù)序列P′,表示為其計(jì)算公式如下:
哈希函數(shù)和哈希種子需在云和邊緣設(shè)備之間預(yù)先共享。
然后,通過(guò)在P′中低于閾值K的修剪后參數(shù)填充一個(gè)小的θ值來(lái)獲得參數(shù)序列P,這些參數(shù)在后續(xù)的增量學(xué)習(xí)中將會(huì)被更新。
上述設(shè)計(jì)為邊緣設(shè)備部署AI 模型帶來(lái)了較大便利:一是修剪模型可明顯減少其大小,節(jié)省了模型部署的帶寬消耗和邊緣設(shè)備的存儲(chǔ)空間;二是使用哈希函數(shù)壓縮模型增加了模型的保密性,若沒有哈希函數(shù)和哈希種子,攻擊者很難恢復(fù)原始模型。
隨著邊緣設(shè)備計(jì)算能力的增長(zhǎng),模型可處理更多任務(wù),不再僅是通過(guò)有效的學(xué)習(xí)策略進(jìn)行推理。然而,僅在邊緣側(cè)訓(xùn)練AI 模型不足以提供高精度的智能服務(wù)。為此,本文提出一種協(xié)作式邊緣學(xué)習(xí)算法,如圖4 所示,通過(guò)在邊緣側(cè)中使用遷移學(xué)習(xí)和增量學(xué)習(xí),通過(guò)私有和增量數(shù)據(jù)迭代地訓(xùn)練并更新模型,解決了邊緣設(shè)備上對(duì)模型訓(xùn)練的性能瓶頸及其動(dòng)態(tài)更新的問(wèn)題。
圖4 學(xué)習(xí)階段的設(shè)計(jì)Fig.4 Design of learning phase
本文設(shè)計(jì)具備兩大優(yōu)點(diǎn):一是提高了模型精度,滿足了邊緣個(gè)性化需求,僅在云端使用一般數(shù)據(jù)訓(xùn)練模型無(wú)法達(dá)到個(gè)性化邊緣上下文的準(zhǔn)確性要求,因此采用存儲(chǔ)在邊緣代理中的私有數(shù)據(jù)通過(guò)遷移學(xué)習(xí)來(lái)重新訓(xùn)練模型是必要的;二是保證了模型準(zhǔn)確性,由于物聯(lián)網(wǎng)設(shè)備存在移動(dòng)性,從這些設(shè)備收集的上下文和數(shù)據(jù)經(jīng)常變化,導(dǎo)致部署到邊緣的模型不滿足后續(xù)實(shí)際場(chǎng)景[26]。從云端重新訓(xùn)練并部署新模型可能導(dǎo)致設(shè)備過(guò)載和網(wǎng)絡(luò)消耗等問(wèn)題,為此本文提出采用增量學(xué)習(xí)來(lái)使用邊緣設(shè)備中的傳入數(shù)據(jù)更新模型。主要過(guò)程及方法如下:
給定一個(gè)具有L層和每層l個(gè)神經(jīng)元的AI 模型M。首先使用云上的公共數(shù)據(jù)集DS(c)對(duì)模型M 進(jìn)行預(yù)訓(xùn)練。給定學(xué)習(xí)率γ1、期望準(zhǔn)確度ε1和迭代次數(shù)N1,預(yù)訓(xùn)練過(guò)程表示為CT(DS(c),γ1,ε1,N1)。其次使用遷移學(xué)習(xí)TL(dp(e),γ2,ε2,N2)在邊緣側(cè)重新訓(xùn)練模型M,其中,dp(e)、γ2、ε2、N2分別是邊緣側(cè)私有數(shù)據(jù)、學(xué)習(xí)率、期望精度和迭代次數(shù)。為提高準(zhǔn)確性,微調(diào)優(yōu)化被應(yīng)用到最后一層wL={wiL| 1 ≤i≤nL}。假設(shè)wL層的輸入和輸出為xL和y^L,wL的損失函數(shù)定義為:
其中:y和k分別是M 中的標(biāo)記數(shù)據(jù)和神經(jīng)元數(shù)量。計(jì)算wL的梯度下降值計(jì)算公式如下:
wL的權(quán)重被重新定義如下:
通過(guò)使用增量學(xué)習(xí),模型M 可使用新傳入的增量數(shù)據(jù)進(jìn)行更新,系統(tǒng)只需使用小批量的最新數(shù)據(jù)來(lái)更新模型即可保持其高可用性[27]。
為準(zhǔn)確評(píng)估AI+邊緣智能框架的準(zhǔn)確性和性能,本文以電網(wǎng)配電站房環(huán)境監(jiān)測(cè)智能分析和應(yīng)用場(chǎng)景為例,構(gòu)建一個(gè)仿真模型進(jìn)行測(cè)試,包括終端設(shè)備、邊緣代理裝置和云服務(wù)器來(lái)模擬配電站房?jī)?nèi)的環(huán)境監(jiān)測(cè)系統(tǒng)。如圖5 所示,配電站房環(huán)境監(jiān)測(cè)智能分析需求有:通過(guò)布設(shè)傳感器及視頻監(jiān)控實(shí)現(xiàn)運(yùn)行狀態(tài)數(shù)據(jù)實(shí)時(shí)采集及站內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè),將采集數(shù)據(jù)及視頻數(shù)據(jù)流傳輸?shù)竭吘壌硌b置,通過(guò)深度學(xué)習(xí)模型自動(dòng)識(shí)別站內(nèi)是否存在火災(zāi)火情、異物侵入等異常情況,模型被同時(shí)部署在邊緣代理和云服務(wù)器上。實(shí)驗(yàn)系統(tǒng)采用Raspberry Pi 3 Model B(1.2 GHz CPU 和1 GB RAM)模擬終端設(shè)備,使用Raspberry Pi4 Model B(1.5 GHz CPU and 4 GB RAM)模擬邊緣代理裝置,操作系統(tǒng)為Ubuntu 18.04。云服務(wù)器配備英特爾酷睿i9-9900k 處理器、32 GB RAM 和Nvidia RTX 3080 GPU。邊緣代理和云服務(wù)器通過(guò)互聯(lián)網(wǎng)連接。
圖5 配電站房智能監(jiān)測(cè)系統(tǒng)仿真環(huán)境Fig.5 Simulation environment of intelligent monitoring system for distribution station building
1)準(zhǔn)確性評(píng)估:為驗(yàn)證邊緣側(cè)上使用私有數(shù)據(jù)集再訓(xùn)練的重要性,研發(fā)動(dòng)物識(shí)別模型模擬異物入侵場(chǎng)景。模型由CIFAR-102作為云端公共數(shù)據(jù)集和Cat/Dog3作為邊緣側(cè)私有數(shù)據(jù)集進(jìn)行訓(xùn)練。公有數(shù)據(jù)集在云上對(duì)模型訓(xùn)練完后,可識(shí)別10 種動(dòng)物(如馬、鳥、貓、狗等)。但配電站房實(shí)際場(chǎng)景只需針對(duì)貓和狗進(jìn)行識(shí)別。因此,預(yù)訓(xùn)練模型被部署到邊緣節(jié)點(diǎn)后,需使用本地貓狗圖像的專用數(shù)據(jù)集進(jìn)行重新訓(xùn)練[25]。實(shí)驗(yàn)通過(guò)邊緣側(cè)私有數(shù)據(jù)集和公共數(shù)據(jù)集,分別比較了云模型和邊緣模型在預(yù)訓(xùn)練及再訓(xùn)練后的識(shí)別結(jié)果,如圖6 所示,兩個(gè)模型的測(cè)試準(zhǔn)確率在預(yù)訓(xùn)練階段是相等的,準(zhǔn)確率大約為21%。對(duì)比本地私有數(shù)據(jù)集進(jìn)一步訓(xùn)練的結(jié)果,邊緣模型的質(zhì)量顯著提高,其測(cè)試準(zhǔn)確率達(dá)到88%,而云模型的測(cè)試準(zhǔn)確率略微提高到61%。測(cè)試結(jié)果表明,相比傳統(tǒng)云AI 架構(gòu),AI+邊緣智能框架在實(shí)際應(yīng)用場(chǎng)景中的模型訓(xùn)練與準(zhǔn)確率具有較好的優(yōu)越性。
圖6 邊緣模型和云模型學(xué)習(xí)階段的測(cè)試準(zhǔn)確率比較Fig.6 Comparison of test accuracy between edge model and cloud model in learning stage
2)延遲性能評(píng)估:在邊緣和云模式上可采用不同的識(shí)別模型(SSD MobileNet V1、SSD MobileNet V2、SSD MobileDet),模型的端到端延遲可通過(guò)不同的圖像尺寸(1 080p、720p 和360p)進(jìn)行評(píng)估。如圖7所示,在邊緣側(cè)上模型識(shí)別的延遲都明顯低于云模式,這主要得益于處理組件和數(shù)據(jù)源之間的距離得以縮短原因。
圖7 邊緣模型和云模型的平均延時(shí)Fig.7 Average delays of edge model and cloud model
實(shí)驗(yàn)結(jié)果顯示,邊緣代理在延遲方面的優(yōu)勢(shì)對(duì)小圖像尺寸較為明顯,邊緣代理和人工智能集成可顯著降低端到端延遲,更適用于現(xiàn)場(chǎng)實(shí)際應(yīng)用環(huán)境。
3)資源消耗評(píng)估:為評(píng)估AI+邊緣智能框架對(duì)邊緣設(shè)備硬件資源的影響,實(shí)驗(yàn)觀察了在不同圖像尺寸上執(zhí)行推理任務(wù)時(shí)各種已部署的物體檢測(cè)模型的RAM 和CPU 使用情況。實(shí)驗(yàn)結(jié)果如圖8 所示,由于推理任務(wù)涉及的計(jì)算量比存儲(chǔ)量大,無(wú)論模型類型和圖像大小如何,內(nèi)存消耗都保持在25%以下。此外,AI+邊緣智能框架經(jīng)過(guò)高度優(yōu)化,可作為微服務(wù)在后臺(tái)運(yùn)行。在同一個(gè)實(shí)驗(yàn)中,在邊緣代理上處理1 080p 圖像的CPU 消耗在所有模型上約為50%,處理360p 圖像只需要大約30%的計(jì)算能力。實(shí)驗(yàn)結(jié)果表明,本文框架可完全在硬件資源有限的邊緣設(shè)備上運(yùn)行。
圖8 AI+邊緣模型和云模型的資源占用分析Fig.8 Resource occupancy analysis of AI+edge model and cloud model
4)CPU 和GPU 設(shè)備訓(xùn)練時(shí)間對(duì)比分析:在CPU設(shè)備(以Raspberry Pi4 為代表)及GPU 設(shè)備(以Nvidia Jetson Nano 為代表)上訓(xùn)練不同的深度學(xué)習(xí)模型(MobileNet V1,MobileNet V2,Inception V3),訓(xùn)練周期為一個(gè)epoch。實(shí)驗(yàn)結(jié)果如圖9 所示。
圖9 CPU 及GPU 設(shè)備模型訓(xùn)練時(shí)間Fig.9 Training time of CPU and GPU device models
使用GPU 設(shè)備訓(xùn)練模型的速度比CPU 設(shè)備快5倍,GPU 設(shè)備中所有模型的訓(xùn)練時(shí)間都在4 s 以內(nèi),而CPU 設(shè)備對(duì)SSD MobileNet V1、SSD MobileNet V2 和Inception V3 的訓(xùn)練時(shí)間分別為10.2、10.4 和24.8 s。實(shí)驗(yàn)結(jié)果表明,GPU 設(shè)備可顯著加快AI+邊緣智能框架的模型學(xué)習(xí)階段。
5)模型壓縮對(duì)比分析:實(shí)驗(yàn)分析了在不同壓縮比下重建模型和原始模型之間的精度和尺寸的變化。如圖10 所示,將壓縮比設(shè)置在0.64 以下,模型準(zhǔn)確性變化不大,尺寸卻明顯減小。例如當(dāng)壓縮比為0.64時(shí),原始模型和重建模型的準(zhǔn)確率分別約為86%和84%,而模型大小從55 MB 減小到22 MB。實(shí)驗(yàn)結(jié)果表明,AI+邊緣智能框架在一定壓縮比下能提高準(zhǔn)確率的同時(shí),較大地減少了模型尺寸。
圖10 不同壓縮率下的模型準(zhǔn)確率與尺寸測(cè)試Fig.10 Model accuracy and size test under different compression rates
本文介紹了AI+邊緣代理智能框架,旨在將AI和邊緣計(jì)算集成到物聯(lián)網(wǎng)中。首先在邊緣層采用遷移學(xué)習(xí)和增量學(xué)習(xí),遷移學(xué)習(xí)幫助使用邊緣側(cè)本地私有數(shù)據(jù)重新訓(xùn)練AI 模型,增量學(xué)習(xí)使用增量數(shù)據(jù)迭代訓(xùn)練這些模型。涉及訓(xùn)練過(guò)程的邊緣數(shù)據(jù)分為永久存儲(chǔ)在邊緣中的私有數(shù)據(jù)和用于在云上訓(xùn)練模型的公共數(shù)據(jù),從而在維護(hù)數(shù)據(jù)隱私的同時(shí)增強(qiáng)邊緣與云的協(xié)作能力。其次設(shè)計(jì)了云壓縮和邊緣解壓機(jī)制,以降低模型部署的網(wǎng)絡(luò)成本,并通過(guò)配置壓縮比平衡節(jié)省的網(wǎng)絡(luò)成本和模型準(zhǔn)確性。最后設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)實(shí)驗(yàn)仿真的系統(tǒng)原型來(lái)評(píng)估框架的性能。實(shí)驗(yàn)結(jié)果表明,該框架不僅提高了AI 模型的推理精度,而且降低了延遲和網(wǎng)絡(luò)成本,實(shí)現(xiàn)了邊緣代理與人工智能有機(jī)融合和集成。下一步將開展更多業(yè)務(wù)場(chǎng)景的應(yīng)用研究,對(duì)該框架的實(shí)用性進(jìn)行進(jìn)一步驗(yàn)證,提高其推廣價(jià)值。