董裕民 張 靜 謝昌佐 李子揚(yáng)*
①(中國科學(xué)院空天信息創(chuàng)新研究院 北京 100094)
②(中國科學(xué)院定量遙感信息技術(shù)重點(diǎn)實(shí)驗(yàn)室 北京 100094)
③(中國科學(xué)院大學(xué)電子電氣與通信工程學(xué)院 北京 100049)
隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的終端設(shè)備被接入網(wǎng)絡(luò)。截至2022年底,我國3家基礎(chǔ)電信企業(yè)發(fā)展蜂窩物聯(lián)網(wǎng)用戶1.8×109戶,比上年增加4.5×108戶[1]。伴隨終端數(shù)量的急速增加,目前主流的云計(jì)算體系結(jié)構(gòu)暴露出了越來越多的不足。
首先是隱私安全問題,終端設(shè)備產(chǎn)生了大量的隱私數(shù)據(jù),這些數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)皆品?wù)器上進(jìn)行處理,可能造成用戶隱私的泄露[2]。其次,由于接入網(wǎng)絡(luò)的設(shè)備數(shù)量持續(xù)高速增長,需要減輕云服務(wù)器的計(jì)算和傳輸壓力[3]。對(duì)于時(shí)間敏感型的業(yè)務(wù),如自動(dòng)駕駛[4]、虛擬現(xiàn)實(shí)[5]等,若將全部數(shù)據(jù)傳輸至云服務(wù)器進(jìn)行計(jì)算可能會(huì)帶來不能接受的時(shí)延[6]。最后,數(shù)據(jù)中心及其計(jì)算服務(wù)已經(jīng)成為全球能源消耗的主力之一,如果單純使用云服務(wù)器進(jìn)行集中式計(jì)算,設(shè)備端的計(jì)算資源會(huì)被嚴(yán)重浪費(fèi),為云服務(wù)器帶來更多壓力從而增加成本與碳排放[7]。
為解決上述問題,學(xué)界提出了邊緣計(jì)算框架,讓計(jì)算盡量靠近終端設(shè)備[8],以提供低延遲、高可靠、高安全的服務(wù)。與云計(jì)算不同,邊緣計(jì)算的計(jì)算過程發(fā)生在云服務(wù)器和終端設(shè)備路徑之間[9],由終端設(shè)備、邊緣服務(wù)器、云服務(wù)器共同完成計(jì)算業(yè)務(wù),邊緣設(shè)備同時(shí)作為數(shù)據(jù)的提供者和使用者,參與計(jì)算并接收計(jì)算結(jié)果。
邊緣服務(wù)器,是邊緣計(jì)算的重要概念。這一概念出現(xiàn)于內(nèi)容分發(fā)網(wǎng)絡(luò)[10],起初是為了解決主干網(wǎng)的擁堵,負(fù)責(zé)進(jìn)行常用的高訪問的靜態(tài)文件的緩存以便于實(shí)現(xiàn)附近用戶請(qǐng)求的快速分發(fā)。該方法有效減輕了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)[11]。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,邊緣服務(wù)器的作用也從靜態(tài)文件分發(fā)擴(kuò)展到了各類計(jì)算服務(wù),邊緣服務(wù)器與用戶(終端)地理位置相近,作為云服務(wù)器的補(bǔ)充為用戶提供低時(shí)延的服務(wù)。
將云服務(wù)器、邊緣服務(wù)器、終端設(shè)備結(jié)合起來的體系結(jié)構(gòu)稱為云邊端架構(gòu),是邊緣計(jì)算的一個(gè)子集實(shí)例。目前,云邊端架構(gòu)已經(jīng)廣泛應(yīng)用于智慧城市[12]、自動(dòng)駕駛[13]、工業(yè)控制[14]、智慧農(nóng)業(yè)[15]、星上計(jì)算[16]、人工智能[17]等多個(gè)領(lǐng)域。
特別的,隨著人工智能計(jì)算需求的不斷增大,邊緣計(jì)算與智能計(jì)算相結(jié)合的需求越來越迫切[18],相關(guān)的研究也越來越豐富。在期刊數(shù)據(jù)庫Web of Science?核心合集上以邊緣計(jì)算(檢索式:TS=Edge Computing, TS為主題)、邊緣計(jì)算與人工智能(檢索式:TS=Edge Computing AND (TS=Intelligence OR TS=Learning OR TS=Smart))進(jìn)行檢索[19],對(duì)文章數(shù)量進(jìn)行逐年統(tǒng)計(jì),其結(jié)果如圖1所示。
圖1 邊緣計(jì)算與智能計(jì)算結(jié)合的趨勢(shì)
可以看到,隨著主題為邊緣計(jì)算的文章數(shù)量的增加,其中邊緣智能計(jì)算工作的占比也在不斷提高,從2012年的2.23%提高到了2022年的43.56%,已經(jīng)成為邊緣計(jì)算研究的焦點(diǎn)。
邊緣智能計(jì)算將智能計(jì)算業(yè)務(wù)與邊緣計(jì)算相結(jié)合,并將其計(jì)算業(yè)務(wù)分布在整個(gè)工作流經(jīng)過的設(shè)備上,可以更好地減少算力浪費(fèi)、增強(qiáng)隱私保護(hù)和加快計(jì)算速度。傳統(tǒng)的智能計(jì)算模型復(fù)雜、數(shù)據(jù)量大、計(jì)算量大,單個(gè)終端設(shè)備保存數(shù)據(jù)量小、隱私性強(qiáng)。隨著終端設(shè)備部署智能計(jì)算模型需求的增加,如何有效利用云邊端架構(gòu)的優(yōu)勢(shì),對(duì)智能計(jì)算進(jìn)行優(yōu)化加速,成為目前邊緣智能計(jì)算的研究熱點(diǎn)[20]。
目前,對(duì)于邊緣智能計(jì)算的調(diào)查研究綜述已有很多[21-25],但從云邊端架構(gòu)的視角出發(fā)探討邊緣智能計(jì)算業(yè)務(wù)的綜述并不多見。本文聚焦于云邊端架構(gòu),重點(diǎn)討論邊緣智能計(jì)算業(yè)務(wù)與云邊端結(jié)合所面臨的兩個(gè)關(guān)鍵問題:計(jì)算優(yōu)化與計(jì)算卸載。討論云邊端架構(gòu)下邊緣智能計(jì)算優(yōu)化的應(yīng)用與研究進(jìn)展,梳理云邊端架構(gòu)下計(jì)算業(yè)務(wù)卸載策略的研究現(xiàn)狀,討論邊緣智能計(jì)算業(yè)務(wù)如何合理地在云邊端各部分進(jìn)行分配。
本文余下的部分結(jié)構(gòu)如下:第2節(jié)對(duì)云邊端架構(gòu)進(jìn)行介紹。第3節(jié)梳理和討論云邊端架構(gòu)下邊緣智能計(jì)算優(yōu)化的應(yīng)用和研究。第4節(jié)對(duì)云邊端架構(gòu)下計(jì)算業(yè)務(wù)計(jì)算卸載策略進(jìn)行了討論,即計(jì)算應(yīng)該在何時(shí)、何地決定在哪里進(jìn)行。第5節(jié)總結(jié)了目前云邊端架構(gòu)下的邊緣智能計(jì)算所面臨的挑戰(zhàn)與未來可能的研究方向。第6節(jié)是結(jié)束語。
傳統(tǒng)云計(jì)算模型越來越無法滿足計(jì)算業(yè)務(wù)的實(shí)時(shí)性和安全性,學(xué)界和工業(yè)界開始討論在云服務(wù)器和終端設(shè)備之間部署邊緣服務(wù)器以平衡算力與延遲之間的矛盾,這種架構(gòu)稱為云邊端架構(gòu)。
在云邊端架構(gòu)中,計(jì)算可以發(fā)生在云、邊、端的每一層,但考慮到網(wǎng)絡(luò)帶寬受限,希望計(jì)算盡可能發(fā)生在數(shù)據(jù)源,即終端設(shè)備周圍[9],當(dāng)數(shù)據(jù)在終端設(shè)備進(jìn)行計(jì)算時(shí),其計(jì)算的特點(diǎn)包括:
(1) 計(jì)算受限:與云服務(wù)器和邊緣服務(wù)器相比,終端設(shè)備的計(jì)算能力和效率都十分有限[26],資源密集型任務(wù)的端側(cè)計(jì)算可能會(huì)帶來不能接受的計(jì)算時(shí)間和能量消耗。
(2) 隱私保護(hù):作為數(shù)據(jù)的生產(chǎn)者,由于數(shù)據(jù)不經(jīng)過網(wǎng)絡(luò)傳輸,數(shù)據(jù)處理過程中隱私可以得到很好的保護(hù)[9]。
(3) 網(wǎng)絡(luò)無關(guān):由于不需要經(jīng)過網(wǎng)絡(luò)傳輸,在終端上進(jìn)行的計(jì)算沒有網(wǎng)絡(luò)延遲,但由于計(jì)算能力有限,無網(wǎng)絡(luò)延遲并不意味著快速。
與終端設(shè)備相比,邊緣服務(wù)器與云服務(wù)器的計(jì)算時(shí)效、計(jì)算能效依次增加,然而網(wǎng)絡(luò)延遲與隱私風(fēng)險(xiǎn)也隨之變大。
云端適合資源密集型的業(yè)務(wù),即計(jì)算量大、數(shù)據(jù)量小的工作;而終端設(shè)備適合處理包含隱私數(shù)據(jù)或時(shí)間敏感型的業(yè)務(wù),即運(yùn)算量小且時(shí)效性要求高的工作;邊緣節(jié)點(diǎn)則介于兩者之間。
面對(duì)運(yùn)算量大、實(shí)時(shí)性強(qiáng)的智能計(jì)算業(yè)務(wù),如何從算法、硬件、傳輸?shù)炔煌S度進(jìn)行計(jì)算優(yōu)化,使得其可以運(yùn)行在邊緣設(shè)備上;以及如何將一個(gè)計(jì)算業(yè)務(wù)合理地拆解在云邊端的每一個(gè)部分,實(shí)現(xiàn)計(jì)算卸載,實(shí)現(xiàn)云邊端3層配合,達(dá)到總體效果的最優(yōu),是邊緣智能計(jì)算與云邊端架構(gòu)結(jié)合所研究的重點(diǎn)[27]。
當(dāng)前業(yè)內(nèi)所常用的智能計(jì)算業(yè)務(wù)大致可以分為訓(xùn)練和推理兩部分:訓(xùn)練是指通過訓(xùn)練數(shù)據(jù)生成/調(diào)整模型使得模型能夠盡量正確地?cái)M合實(shí)際數(shù)據(jù)的分布,目的是得到盡可能準(zhǔn)確的模型;而推理是指使用訓(xùn)練好的模型對(duì)未知數(shù)據(jù)進(jìn)行判斷,得到模型的輸出。通常來講訓(xùn)練的計(jì)算量遠(yuǎn)遠(yuǎn)大于推理。從訓(xùn)練和推理計(jì)算發(fā)生的位置可以對(duì)其進(jìn)行分類,目前比較流行的云邊配合包括:
(1) 在云端進(jìn)行訓(xùn)練,在邊緣進(jìn)行推理。這是目前邊緣智能計(jì)算框架推薦的應(yīng)用較多的方案。
(2) 云邊端配合訓(xùn)練,在邊緣進(jìn)行推理,共同參與訓(xùn)練過程的每一次迭代,代表算法是聯(lián)邦學(xué)習(xí),適用于有隱私數(shù)據(jù)參與的場(chǎng)景。
(3) 云邊分別進(jìn)行訓(xùn)練,在邊緣進(jìn)行推理。通過遷移學(xué)習(xí)等方法,在云端進(jìn)行第1階段訓(xùn)練,在邊緣端進(jìn)行第2階段訓(xùn)練和推理,目的是盡量減少在邊緣端訓(xùn)練的計(jì)算量。
云邊端架構(gòu)特點(diǎn)如圖2所示。
圖2 云邊端架構(gòu)特點(diǎn)
在云端訓(xùn)練,邊緣進(jìn)行推理,主要解決的問題是提高計(jì)算速度和減少計(jì)算成本。面對(duì)算力有限的邊緣設(shè)備,云端訓(xùn)練出的模型可能無法在邊緣設(shè)備上直接運(yùn)行,邊緣設(shè)備可能也無法運(yùn)行為云端設(shè)計(jì)的機(jī)器學(xué)習(xí)平臺(tái)。因此,為了實(shí)現(xiàn)在邊緣設(shè)備上進(jìn)行推理,一些為邊緣設(shè)計(jì)的機(jī)器學(xué)習(xí)框架、網(wǎng)絡(luò)模型輕量化技術(shù)被提出。
典型的為邊緣計(jì)算設(shè)計(jì)的智能計(jì)算編程框架[28]包括TensorFlow Lite, PyTorch Mobile, Mind-Spore Lite, Paddle Lite等,如表1所示。
表1 邊緣智能計(jì)算框架對(duì)比
考慮到邊緣設(shè)備有限的存儲(chǔ)空間和運(yùn)算能力,TensorFlow Lite[29]通過剔除不適合在邊緣運(yùn)行的算子來減小框架體積,同時(shí)限制模型運(yùn)算量。然而這降低了其和TensorFlow框架的兼容性。PyTorch Mobile[30]完成了訓(xùn)練模型到部署模型的無縫連接,通過動(dòng)態(tài)量化等方法降低運(yùn)算量,因此兼容所有PyTorch模型。MindSpore Lite[31]提供模型轉(zhuǎn)化工具,通過模型量化壓縮,降低模型的復(fù)雜度,使AI模型能在極限環(huán)境下部署執(zhí)行。Paddle Lite[32]是一個(gè)終端可部署的輕量化推理引擎,它通過訓(xùn)練完成的模型和設(shè)備情況生成輕量化的端側(cè)推理模型,針對(duì)移動(dòng)端設(shè)備的機(jī)器學(xué)習(xí)進(jìn)行優(yōu)化,壓縮模型和二進(jìn)制文件體積,高效推理,降低內(nèi)存消耗。
與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型相比,端側(cè)推理使用的網(wǎng)絡(luò)模型需要更加輕量化,目前主要使用量化、剪枝、提前退出、輕量化模型等技術(shù)減少推理的計(jì)算量[33-35]:
量化是指通過低精度變量代替高精度變量。在神經(jīng)網(wǎng)絡(luò)的研究中,學(xué)者發(fā)現(xiàn)降低一些參數(shù)變量的精度并不會(huì)帶來整體模型精度的明顯損失,但可以顯著壓縮模型的大小。文獻(xiàn)[36]提出了一種基于激活層的量化方法,使用低比特的整數(shù)代替浮點(diǎn)數(shù)運(yùn)算,大幅降低了模型的運(yùn)算量并且大幅提高了模型在CPU上的運(yùn)行效率。文獻(xiàn)[37]提出了一種訓(xùn)練后量化模型,以避免訓(xùn)練中量化耗時(shí)的參數(shù)微調(diào),實(shí)現(xiàn)了性能接近的低比特量化。
剪枝是指對(duì)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行修改,刪除對(duì)模型整體不重要的神經(jīng)元,以此在保證模型精度的條件下減小模型體積。由于不同網(wǎng)絡(luò)層的權(quán)重對(duì)網(wǎng)絡(luò)的貢獻(xiàn)不一致,傳統(tǒng)的剪枝方法一般分層確定剪枝參數(shù)。文獻(xiàn)[38]為了在邊緣設(shè)備上壓縮和加速深度神經(jīng)網(wǎng)絡(luò),提出了一種分層的、參數(shù)的可變的剪枝方法,遵循貪婪策略對(duì)各層參數(shù)進(jìn)行確定,這種方法可以降低神經(jīng)網(wǎng)絡(luò)精度剪枝后的下降。在分層剪枝的基礎(chǔ)上,文獻(xiàn)[39]提出了一種全局的模型剪枝方法,通過量化判斷權(quán)重改變對(duì)網(wǎng)絡(luò)輸出的影響,實(shí)現(xiàn)了更細(xì)粒度的重要性判斷,進(jìn)一步減小了精度下降。
提前退出與量化和剪枝不同,它會(huì)增加模型的參數(shù)數(shù)量,它通過構(gòu)建不同的出口,設(shè)置閾值,讓分類器在結(jié)果比較明確時(shí)提前做出判斷,輸出結(jié)果,以此來減小推理過程的運(yùn)算量。針對(duì)云邊端架構(gòu),帶有提前退出機(jī)制的網(wǎng)絡(luò)模型一般在終端設(shè)備進(jìn)行一部分計(jì)算,通過閾值判斷篩選出置信度較低的樣本傳輸至云側(cè)進(jìn)行進(jìn)一步計(jì)算,置信度較高的樣本則直接輸出結(jié)果,即提前退出。這種模式在通信開銷不大的情況下提高模型的準(zhǔn)確性且不占用終端設(shè)備較多的運(yùn)算資源。文獻(xiàn)[40]通過引入視覺自主自注意力機(jī)制(vision transformer),提出了一種適用于視聽數(shù)據(jù)的提前退出網(wǎng)絡(luò),顯著降低了運(yùn)算開銷。也有工作[41]關(guān)注惡意樣本對(duì)退出機(jī)制的影響,通過對(duì)樣本的預(yù)處理,避免惡意樣本使網(wǎng)絡(luò)不能提前退出造成通信資源的占用。
輕量化模型是指通過改變網(wǎng)絡(luò)結(jié)構(gòu)以降低推理的運(yùn)算量,如MobileNet, ShuffleNet等。MobileNet[42]針對(duì)卷積神經(jīng)網(wǎng)絡(luò)中占用計(jì)算資源最多的卷積層進(jìn)行優(yōu)化,提出了深度可分離卷積算法,與常規(guī)卷積相比,在準(zhǔn)確率退化不大的情況下,大大減少了參數(shù)量及運(yùn)算量。ShuffleNet[43]采用逐點(diǎn)分組卷積和通道混洗方法,通過分組卷積降低算力的需求,通過通道混洗可以使各組之間的信息進(jìn)行交互,保證模型的準(zhǔn)確性。
由此可見,云端訓(xùn)練,邊緣推理主要關(guān)注終端設(shè)備算力受限下的計(jì)算優(yōu)化問題,包括架構(gòu)和算法兩個(gè)層面,能夠?qū)崿F(xiàn)邊緣實(shí)時(shí)的推理且避免網(wǎng)絡(luò)延遲,但是訓(xùn)練時(shí)需要向云端服務(wù)器上傳數(shù)據(jù),有隱私泄漏的風(fēng)險(xiǎn)。
為了避免隱私的泄露,一些云邊端配合進(jìn)行訓(xùn)練的方法被提出,最有代表性的是聯(lián)邦學(xué)習(xí)算法。
聯(lián)邦學(xué)習(xí)算法假設(shè)訓(xùn)練數(shù)據(jù)分散在若干個(gè)終端設(shè)備上,且出于安全性考慮,終端設(shè)備不希望其上的數(shù)據(jù)傳輸?shù)狡渌K端或云上而進(jìn)行訓(xùn)練。它的算法步驟如下[44]:
(1)云端向每一個(gè)終端設(shè)備下發(fā)初始模型。
(2)終端設(shè)備使用自己的數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練。
(3)終端設(shè)備向云端上傳訓(xùn)練好的本地模型及測(cè)試精度。
(4)云端對(duì)所有終端設(shè)備的模型進(jìn)行聚合(一般是根據(jù)終端設(shè)備的數(shù)據(jù)量進(jìn)行加權(quán)平均),并計(jì)算全局模型的精度。如果滿足要求,則輸出模型,如果不滿足則下發(fā)聚合后全局模型,回到步驟(2)。
在聯(lián)邦學(xué)習(xí)中,云端只接收模型參數(shù)和模型精度,因此可以很好地避免終端設(shè)備隱私泄露。但是,其算法需要多次迭代,云端與邊緣通信次數(shù)多,數(shù)據(jù)量大,受帶寬影響很大。為了解決這一問題,基于云邊端的3層聯(lián)邦學(xué)習(xí)被提出[45]??紤]到降低通信開銷會(huì)影響模型精度,3層的聯(lián)邦學(xué)習(xí)框架提供兩次聚合平衡通信與模型精度的矛盾:邊緣服務(wù)器聚合終端設(shè)備的模型,而云端聚合邊緣服務(wù)器的模型。
由于3層聯(lián)邦學(xué)習(xí)可以看作兩個(gè)雙層的聯(lián)邦學(xué)習(xí),故雙層聯(lián)邦學(xué)習(xí)的結(jié)論大部分都可以推廣到3層聯(lián)邦學(xué)習(xí),因此3層聯(lián)邦學(xué)習(xí)的研究主要集中在兩次聚合的配合過程。文獻(xiàn)[46]通過分析帶參數(shù)量化的3層聯(lián)邦學(xué)習(xí)的收斂性,進(jìn)而提出了一種自適應(yīng)的聚合方案以優(yōu)化通信策略。文獻(xiàn)[47]從安全角度出發(fā),探討邊緣服務(wù)器被惡意利用時(shí)對(duì)云端和終端設(shè)備的影響,并據(jù)此提出一個(gè)安全的3層聯(lián)邦學(xué)習(xí)框架,引入數(shù)據(jù)歸一化機(jī)制來避免惡意的邊緣服務(wù)器對(duì)學(xué)習(xí)過程的攻擊。
雙層聯(lián)邦學(xué)習(xí)主要關(guān)注資源受限的優(yōu)化問題,受限的資源包括通信資源、運(yùn)算資源與數(shù)據(jù)資源,通過邊緣智能計(jì)算過程及計(jì)算策略的綜合優(yōu)化,可以提高上述資源的利用率以提高模型的準(zhǔn)確率并降低運(yùn)算時(shí)間。
通信資源的受限來自聯(lián)邦學(xué)習(xí)巨大的通信開銷,由于參與的邊緣設(shè)備數(shù)量通常很多,且模型訓(xùn)練需要全體設(shè)備多次參與模型迭代,因此通常聯(lián)邦學(xué)習(xí)的通信資源都是受限的。將信道與計(jì)算過程相結(jié)合可以提高數(shù)據(jù)傳輸?shù)男?,減小系統(tǒng)的計(jì)算時(shí)間,文獻(xiàn)[48]提出了一種基于概率的調(diào)度策略,通過計(jì)算邊緣計(jì)算中聯(lián)邦學(xué)習(xí)梯度參數(shù)的質(zhì)量結(jié)合每個(gè)傳輸信道情況對(duì)數(shù)據(jù)傳輸進(jìn)行優(yōu)化,最終達(dá)到模型的快速收斂以加快計(jì)算。
計(jì)算受限的優(yōu)化包括壓縮模型、減少訓(xùn)練迭代次數(shù),在減小計(jì)算量的同時(shí)亦可以減小傳輸數(shù)據(jù)量。通過量化、剪枝等方法減小傳輸模型的尺寸,這與前文所提到的端側(cè)推理中對(duì)模型的簡化方法類似。引入量化聯(lián)邦學(xué)習(xí)的終端設(shè)備并不會(huì)上傳整個(gè)模型,而是上傳本輪訓(xùn)練所帶來的變化量,通過篩選掉變化較小的神經(jīng)元參數(shù),使其在本輪訓(xùn)練中保持?jǐn)?shù)值不變,可以進(jìn)一步減少訓(xùn)練的通信開銷,如文獻(xiàn)[49]提出了一種動(dòng)態(tài)量化的聯(lián)邦學(xué)習(xí)方法,可以根據(jù)變化量的大小動(dòng)態(tài)地調(diào)整量化程度,以降低量化對(duì)訓(xùn)練造成的影響。對(duì)模型超參進(jìn)行調(diào)整也可以加速模型收斂,如文獻(xiàn)[50]證明了在一定條件下調(diào)整聯(lián)邦學(xué)習(xí)的批處理數(shù)量可以加速模型收斂。
數(shù)據(jù)資源的受限體現(xiàn)在樣本數(shù)量上,邊緣側(cè)的數(shù)據(jù)通常樣本量較小,數(shù)據(jù)分布有可能不符合獨(dú)立同分布[51]。聯(lián)邦學(xué)習(xí)算法依賴于隨機(jī)梯度下降,訓(xùn)練數(shù)據(jù)的獨(dú)立同分布對(duì)于確保隨機(jī)梯度是全梯度的無偏估計(jì)非常重要,因此非獨(dú)立同分布的訓(xùn)練數(shù)據(jù)會(huì)嚴(yán)重影響訓(xùn)練效果[52]。為解決非獨(dú)立同分布數(shù)據(jù)對(duì)聯(lián)邦學(xué)習(xí)的影響,有學(xué)者通過構(gòu)建統(tǒng)計(jì)指標(biāo)[53]、預(yù)訓(xùn)練[54]等方式對(duì)邊緣數(shù)據(jù)集進(jìn)行分組,也有學(xué)者通過自注意力機(jī)制[55]、客戶端加權(quán)[56]等方法優(yōu)化聚合過程。
為了解決小樣本問題及數(shù)據(jù)分布不均勻的問題,可以在邊緣側(cè)進(jìn)行模型訓(xùn)練和推理。
遷移學(xué)習(xí)是一種典型的小樣本學(xué)習(xí)方法,它通過在基類上進(jìn)行學(xué)習(xí),再在小樣本上進(jìn)行訓(xùn)練,對(duì)參數(shù)進(jìn)行微調(diào),取得了不錯(cuò)的效果。文獻(xiàn)[57,58]關(guān)注智能攝像頭上搭載的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,提出基于代表性圖像的遷移學(xué)習(xí)及基于單對(duì)多、多對(duì)單、多對(duì)多的智能攝像頭遷移學(xué)習(xí)方法,實(shí)現(xiàn)了標(biāo)注數(shù)據(jù)量、訓(xùn)練時(shí)間的降低和模型準(zhǔn)確率的增加。為了解決神經(jīng)網(wǎng)絡(luò)在大量物聯(lián)網(wǎng)終端設(shè)備上部署的問題,文獻(xiàn)[59]提出了一種模型快速部署和更新方法,通過比較新舊模型的區(qū)別來減少傳輸,并加快訓(xùn)練。
與遷移學(xué)習(xí)類似的,元學(xué)習(xí)是一種小樣本學(xué)習(xí)方法,通過對(duì)任務(wù)空間的學(xué)習(xí),來生成與任務(wù)無關(guān)的模型初始參數(shù),有的方法還會(huì)增加記憶模塊,能夠根據(jù)相似的任務(wù)進(jìn)行模型的選擇和改進(jìn),加快模型收斂的速度、改善服務(wù)質(zhì)量。文獻(xiàn)[60]面向智能駕駛,設(shè)計(jì)了一種基于兩階段元學(xué)習(xí)的方法,根據(jù)數(shù)據(jù)庫中提取的元特征自適應(yīng)地為車輛在不同場(chǎng)景下的不同計(jì)算業(yè)務(wù)選擇合適的機(jī)器學(xué)習(xí)算法。注意到邊緣智能計(jì)算中樣本量小且分布不平均的問題,文獻(xiàn)[61]通過在聯(lián)邦學(xué)習(xí)中引入元學(xué)習(xí)思想,提出了一個(gè)自適應(yīng)的部分私有的聯(lián)邦元學(xué)習(xí)機(jī)制以保證隱私性和收斂性。
遷移學(xué)習(xí)也可以與聯(lián)邦學(xué)習(xí)結(jié)合。文獻(xiàn)[62]構(gòu)建了一個(gè)遷移聯(lián)邦學(xué)習(xí)過程:與傳統(tǒng)的聯(lián)邦學(xué)習(xí)相比,這一方法不需要一臺(tái)集中式的云服務(wù)器匯總模型,而是通過終端設(shè)備互相傳遞,進(jìn)一步加強(qiáng)了對(duì)隱私的保護(hù)。文獻(xiàn)[63]結(jié)合聯(lián)邦學(xué)習(xí)、遷移學(xué)習(xí)和強(qiáng)化學(xué)習(xí),利用聯(lián)邦學(xué)習(xí)的本地訓(xùn)練模型來保護(hù)隱私,并利用遷移學(xué)習(xí)通過知識(shí)遷移來提高訓(xùn)練效率,最后使用強(qiáng)化學(xué)習(xí)過濾惡意的終端設(shè)備,以實(shí)現(xiàn)安全、快速的模型推理。
綜上,邊緣智能計(jì)算的優(yōu)化主要關(guān)注算法在終端、邊緣上的加速、分割和卸載。卸載策略主要根據(jù)邊緣智能計(jì)算業(yè)務(wù)的特點(diǎn)確定。作為邊緣計(jì)算的核心問題,卸載策略除了根據(jù)具體業(yè)務(wù)的計(jì)算卸載研究外,通用的計(jì)算卸載策略也是目前研究的熱點(diǎn)。
將計(jì)算業(yè)務(wù)科學(xué)合理地分配到云邊端每一個(gè)層次,稱為云邊端計(jì)算卸載研究,即回答何時(shí)進(jìn)行卸載、由誰決定卸載、卸載到哪里三個(gè)問題。對(duì)于不同的業(yè)務(wù)的優(yōu)化約束條件和不同場(chǎng)景的網(wǎng)絡(luò)傳輸條件,計(jì)算任務(wù)的卸載策略不盡相同。常用的約束條件包括任務(wù)時(shí)延和系統(tǒng)能耗[64-67],也有研究同時(shí)考慮服務(wù)質(zhì)量[68,69]、隱私保護(hù)程度[70]等。以下主要針對(duì)時(shí)延和能耗兩個(gè)研究熱點(diǎn)進(jìn)行綜述。
值得一提的是,由于邊緣計(jì)算包含大量時(shí)間敏感型業(yè)務(wù),因此單純考慮能耗的卸載方法可能會(huì)造成不能接受的時(shí)延,因此大部分以能耗為指標(biāo)的卸載研究也會(huì)同時(shí)考慮時(shí)間指標(biāo)。
任務(wù)時(shí)延是云邊端體系下服務(wù)質(zhì)量的重要指標(biāo)。任務(wù)時(shí)延通??梢苑譃?部分[71,72]:網(wǎng)絡(luò)傳輸時(shí)延、傳輸后在隊(duì)列中等待時(shí)延、計(jì)算時(shí)延。
云邊端系統(tǒng)的各部分的通信成本和計(jì)算能力各有不同,邊緣側(cè)通信速度快,但計(jì)算速度慢;而云側(cè)計(jì)算時(shí)間短,通信時(shí)間長。因此需要根據(jù)不同情景平衡通信和計(jì)算帶來的時(shí)間開銷。
馬勇等人[73]提出了一種云邊端架構(gòu)下中心式的調(diào)度模式,如圖3所示。云服務(wù)器獲取終端設(shè)備的位置信息,并基于深度學(xué)習(xí)進(jìn)行預(yù)測(cè),得到終端設(shè)備預(yù)測(cè)軌跡。根據(jù)歷史軌跡和預(yù)測(cè)軌跡,計(jì)算設(shè)備的綜合距離,將設(shè)備分為熱點(diǎn)區(qū)域設(shè)備和離散設(shè)備。對(duì)熱點(diǎn)區(qū)域設(shè)備,云服務(wù)器計(jì)算熱點(diǎn)區(qū)域與邊緣服務(wù)器匹配度,根據(jù)匹配度得到熱點(diǎn)區(qū)域計(jì)算簇(邊緣服務(wù)器的集合),熱點(diǎn)區(qū)域設(shè)備向計(jì)算簇控制節(jié)點(diǎn)(由距離熱點(diǎn)區(qū)域最近的邊緣服務(wù)器擔(dān)任)發(fā)起卸載,由控制節(jié)點(diǎn)將計(jì)算任務(wù)分發(fā)至邊緣服務(wù)器執(zhí)行。對(duì)離散設(shè)備,云服務(wù)器計(jì)算設(shè)備與邊緣服務(wù)器的匹配度,設(shè)備根據(jù)匹配度直接向邊緣服務(wù)器發(fā)起卸載,如圖4所示。
圖3 中心式計(jì)算卸載流程
圖4 邊緣式計(jì)算卸載流程
該方法的優(yōu)點(diǎn)是終端可以選擇最優(yōu)的邊緣服務(wù)器進(jìn)行運(yùn)算,但終端與云服務(wù)器的通信通常是受限的。該方法需要終端與云端多次通信,在網(wǎng)絡(luò)延遲較大甚至中斷時(shí)無法有效進(jìn)行計(jì)算卸載。
Ren等人[74]證明了在終端設(shè)備使用時(shí)分多址無線網(wǎng)絡(luò)傳輸,且信道服從獨(dú)立同分布的瑞利衰落時(shí),計(jì)算資源的分配存在最優(yōu)解。該文章假設(shè)終端只產(chǎn)生數(shù)據(jù)和接收計(jì)算結(jié)果,所有計(jì)算任務(wù)全部卸載到邊緣服務(wù)器及云服務(wù)器。終端首先上傳所有數(shù)據(jù)到邊緣服務(wù)器,邊緣服務(wù)器做出判斷,劃分計(jì)算量,并上傳云服務(wù)器需要進(jìn)行運(yùn)算的數(shù)據(jù),然后邊緣服務(wù)器和云服務(wù)器對(duì)數(shù)據(jù)進(jìn)行并行的計(jì)算。作者證明了這一過程的最優(yōu)化問題是一個(gè)嚴(yán)格凸函數(shù),由此確定了理論最優(yōu)卸載策略。
該方法的計(jì)算劃分發(fā)生在邊緣服務(wù)器上,因此在與云端網(wǎng)絡(luò)通信中斷時(shí)也可使用,并且是理論最優(yōu)策略。然而作者忽略了計(jì)算任務(wù)劃分的粒度問題及依賴關(guān)系,假設(shè)任務(wù)是完全可分的且沒有相互依賴。同時(shí)該結(jié)論只適用于終端設(shè)備使用時(shí)分多址技術(shù)進(jìn)行無線網(wǎng)絡(luò)傳輸這一過程,終端與邊緣服務(wù)器的關(guān)系固定,無法根據(jù)網(wǎng)絡(luò)狀態(tài)、資源占用情況等進(jìn)行調(diào)整。假設(shè)計(jì)算全部發(fā)生在邊緣服務(wù)器及云服務(wù),降低了優(yōu)化問題的維度,但浪費(fèi)了終端設(shè)備的低時(shí)延計(jì)算能力。
為了克服云服務(wù)器統(tǒng)一調(diào)度造成的巨大延遲和固定邊緣服務(wù)器造成的算力損耗,Lin等人[75]提出了由邊緣服務(wù)器主導(dǎo)的局部調(diào)度算法:引入了一種稱為“兩種選擇的力量”的簡單策略,實(shí)現(xiàn)了基于邊緣服務(wù)器的輕量化負(fù)載均衡,如圖5所示。
圖5 基于“兩種選擇的力量”策略的卸載流程
首先終端和邊緣通過云服務(wù)器和廣播發(fā)現(xiàn)彼此,之后每個(gè)終端選擇一個(gè)延遲最小的邊緣服務(wù)器作為其“守護(hù)節(jié)點(diǎn)”。需要執(zhí)行卸載時(shí),首先將任務(wù)信息傳輸?shù)绞刈o(hù)節(jié)點(diǎn),若守護(hù)節(jié)點(diǎn)有空閑資源,則將數(shù)據(jù)傳輸?shù)绞刈o(hù)節(jié)點(diǎn)進(jìn)行計(jì)算。若沒有空閑資源,則守護(hù)節(jié)點(diǎn)任意選擇兩個(gè)其他邊緣節(jié)點(diǎn),選擇其中負(fù)載小的作為執(zhí)行節(jié)點(diǎn),重定向數(shù)值發(fā)送至執(zhí)行節(jié)點(diǎn),所謂負(fù)載小,是指預(yù)期的運(yùn)行時(shí)間小。同時(shí),該調(diào)度系統(tǒng)考慮了時(shí)間敏感性任務(wù)的有限性,這個(gè)簡單的策略被證明是有效的。
該方法的優(yōu)勢(shì)在于由邊緣服務(wù)器進(jìn)行信息不全的快速卸載策略制定,由此平衡了卸載策略生成速度和卸載策略實(shí)施效果,但云服務(wù)器作為系統(tǒng)中運(yùn)算效率最高的計(jì)算平臺(tái)并沒有有效參與計(jì)算。
移動(dòng)終端設(shè)備的電池容量通常是有限的,將計(jì)算卸載到邊緣和云可以有效提高移動(dòng)終端設(shè)備的續(xù)航能力。邊緣計(jì)算服務(wù)通常對(duì)時(shí)間較為敏感,單純考慮能耗可能會(huì)帶來不能接受的任務(wù)時(shí)延。因此研究的熱點(diǎn)為結(jié)合時(shí)延指標(biāo)對(duì)卸載進(jìn)行約束,在滿足時(shí)延要求的條件下實(shí)現(xiàn)系統(tǒng)耗能最小,能耗主要考慮計(jì)算能耗和信息傳輸能耗。
一般而言,能耗的計(jì)算公式為[76]
由于云邊端各層次設(shè)備功率、運(yùn)算效率、傳輸效率不一致,因此綜合時(shí)延和能耗的卸載方案也可以被視為一個(gè)為有權(quán)重的時(shí)延優(yōu)化方案。
徐佳等人[77]考慮了多任務(wù)場(chǎng)景下的計(jì)算卸載,討論了一個(gè)存在依賴關(guān)系的多任務(wù)卸載體系,同時(shí)考慮等待時(shí)間的能量消耗,提出了一個(gè)基于粒子群優(yōu)化算法的多任務(wù)云邊端卸載策略。該策略的核心是一個(gè)分段函數(shù),在滿足時(shí)間要求時(shí),分段函數(shù)僅與能耗有關(guān);不滿足時(shí)間要求時(shí),分段函數(shù)與時(shí)間和功耗同時(shí)有關(guān)。通過迭代求得該分段函數(shù)的最小值進(jìn)行計(jì)算卸載。仿真結(jié)果顯示,該方法在能耗和計(jì)算時(shí)延上都有不錯(cuò)的表現(xiàn)。但由于時(shí)延與能耗是相互存在相互關(guān)聯(lián)的,因此該方法的計(jì)算復(fù)雜度較高。
在引入任務(wù)依賴的基礎(chǔ)上,李強(qiáng)等人[78]進(jìn)一步考慮了時(shí)變信道下邊緣計(jì)算任務(wù)的卸載。采用A3C深度強(qiáng)化學(xué)習(xí)方法,將計(jì)算卸載問題轉(zhuǎn)化為一個(gè)馬爾可夫決策過程。使用多線程智能體,首先在離線環(huán)境中使用模擬數(shù)據(jù)進(jìn)行訓(xùn)練;在實(shí)際應(yīng)用環(huán)境中,根據(jù)真實(shí)數(shù)據(jù)進(jìn)行多線程的推理和異步訓(xùn)練,適應(yīng)真實(shí)條件。與基類方法相比,時(shí)延和系統(tǒng)能耗得到了很好的控制。但是該算法只考慮了單一設(shè)備至單一邊緣服務(wù)器,沒有考慮多信道波動(dòng)下邊緣服務(wù)器的選擇和用戶競(jìng)爭。
彭昇等人[79]考慮了一個(gè)多終端多邊緣服務(wù)器的云邊端計(jì)算場(chǎng)景:終端移動(dòng)設(shè)備通過無線網(wǎng)與基站進(jìn)行連接,基站之間通過中央基站相連。算法考慮設(shè)備用戶的移動(dòng)軌跡,依據(jù)路徑選擇最優(yōu)的兩個(gè)基站進(jìn)行計(jì)算卸載。在同一個(gè)時(shí)刻,一個(gè)基站負(fù)責(zé)此時(shí)刻的計(jì)算,另一個(gè)基站負(fù)責(zé)接收下一時(shí)刻計(jì)算的數(shù)據(jù)。該方法有效地解決了設(shè)備移動(dòng)帶來的網(wǎng)絡(luò)通信條件的變化,并實(shí)現(xiàn)了較好的系統(tǒng)功耗控制。但是對(duì)于時(shí)延僅做了定性的判斷,還有優(yōu)化的空間。
通過對(duì)云邊端架構(gòu)下邊緣智能計(jì)算優(yōu)化及計(jì)算卸載策略的梳理可以看出,盡管邊緣智能計(jì)算在學(xué)術(shù)界和工業(yè)界已經(jīng)有了廣泛的研究和應(yīng)用,該領(lǐng)域仍然有著巨大的研究潛力和挑戰(zhàn),下面總結(jié)云邊端架構(gòu)下邊緣智能計(jì)算的未來發(fā)展方向及挑戰(zhàn),希望以下這些討論能夠促進(jìn)云邊端架構(gòu)與邊緣智能計(jì)算的融合、發(fā)展和創(chuàng)新。
由于不同計(jì)算業(yè)務(wù)的可分割粒度、子任務(wù)間的依賴關(guān)系、計(jì)算量數(shù)據(jù)量之比、任務(wù)數(shù)據(jù)的隱私程度都有所不同,因此與單純面向架構(gòu)的計(jì)算卸載、運(yùn)算相比,結(jié)合具體業(yè)務(wù)后能夠進(jìn)一步優(yōu)化云邊端架構(gòu)的消耗,激發(fā)云邊端架構(gòu)的潛能。
邊緣智能計(jì)算的訓(xùn)練過程是典型的資源密集型業(yè)務(wù),即運(yùn)算量大且時(shí)效性要求不高的計(jì)算;而推理過程則是時(shí)間敏感型業(yè)務(wù),運(yùn)算量較小但要求較高的時(shí)效性。針對(duì)它們的特點(diǎn)就可以更合理地進(jìn)行計(jì)算業(yè)務(wù)劃分。同時(shí),由于端側(cè)的計(jì)算資源受限,針對(duì)終端的計(jì)算優(yōu)化也是未來云邊端架構(gòu)的解決方案之一,而架構(gòu)與具體業(yè)務(wù)的結(jié)合是這一優(yōu)化的前提。
以作者參與的重點(diǎn)研發(fā)計(jì)劃子任務(wù)為例,目的是構(gòu)建一個(gè)由終端監(jiān)測(cè)設(shè)備(傳感器為紅外和可見光相機(jī))、地面處理站、指揮中心構(gòu)成的森林火災(zāi)監(jiān)測(cè)系統(tǒng)。由于帶寬受限,監(jiān)測(cè)設(shè)備無法將獲取的全部數(shù)據(jù)上傳至地面處理站,因此需要在監(jiān)測(cè)設(shè)備上進(jìn)行初步運(yùn)算,對(duì)數(shù)據(jù)進(jìn)行篩選。此時(shí)監(jiān)測(cè)設(shè)備需要處理的數(shù)據(jù)量為3層中最大,但運(yùn)算能力是3層中的最低,數(shù)據(jù)量與運(yùn)算能力之間產(chǎn)生了極大的矛盾??紤]到帶寬有限,將部分火點(diǎn)識(shí)別的算法卸載到檢測(cè)設(shè)備上進(jìn)行??梢姽鈧鞲衅鞣直媛矢撸瘘c(diǎn)識(shí)別運(yùn)算量大,準(zhǔn)確率高;紅外數(shù)據(jù)分辨率低,火點(diǎn)識(shí)別運(yùn)算量小,虛警率高;考慮到傳感器特點(diǎn)和業(yè)務(wù)流程,由檢測(cè)設(shè)備進(jìn)行基于紅外圖像的火點(diǎn)初步識(shí)別,并將疑似火點(diǎn)的圖像傳輸至地面處理站,由處理站進(jìn)行基于可見光圖像的火點(diǎn)精細(xì)識(shí)別,剔除虛警后,生成觀測(cè)需求下傳至監(jiān)測(cè)設(shè)備,并將火點(diǎn)圖像及信息上傳至指揮中心,以此平衡傳輸與處理之間的矛盾。
終端設(shè)備數(shù)量巨大帶來的問題之一是運(yùn)算能力、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)分布、通信狀況都有所不同。首先,運(yùn)算能力的差異可能使得算法難以部署,如某些單片機(jī)可能無法運(yùn)行某些神經(jīng)網(wǎng)絡(luò)模型或時(shí)延不可接受。不同終端設(shè)備的兼容性也可能導(dǎo)致算法無法運(yùn)行,目前各個(gè)邊緣智能計(jì)算框架標(biāo)準(zhǔn)和接口尚不統(tǒng)一。
其次是數(shù)據(jù)的差異,數(shù)據(jù)的差異首先是數(shù)據(jù)結(jié)構(gòu)的差異,這使得不同終端的數(shù)據(jù)難以被同樣的程序處理;除了數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)的分布也可能有差異,數(shù)據(jù)的獨(dú)立同分布是神經(jīng)網(wǎng)絡(luò)準(zhǔn)確的前提之一,如果數(shù)據(jù)分布差異過大,則需要對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的細(xì)分。
最后是通信狀況的差異,這種差異帶主要影響計(jì)算的卸載策略,目前的研究目標(biāo)多數(shù)是系統(tǒng)層面的最優(yōu),然而這種優(yōu)化邊界條件可能導(dǎo)致通信狀況較差的設(shè)備被忽視,從而承受極差的服務(wù)質(zhì)量,由此可能帶來用戶體驗(yàn)與公平性的問題。
在邊緣智能計(jì)算特別是聯(lián)邦學(xué)習(xí)中,計(jì)算優(yōu)化與計(jì)算卸載過程可能涉及不同利益組織的實(shí)體,這些實(shí)體互相配合需要有效的激勵(lì)機(jī)制進(jìn)行支撐??紤]到邊緣環(huán)境松散及去中心化的特點(diǎn),目前學(xué)術(shù)界通過引入?yún)^(qū)塊鏈等技術(shù),進(jìn)行了一些激勵(lì)方法研究,但這種引入勢(shì)必會(huì)擠占邊緣計(jì)算場(chǎng)景中寶貴的傳輸、運(yùn)算和儲(chǔ)存資源。邊緣計(jì)算場(chǎng)景呼喚更簡單、更公平且有效的激勵(lì)方案。
進(jìn)一步的,多實(shí)體參與的邊緣智能計(jì)算可能出現(xiàn)惡意參與者,竊取數(shù)據(jù)或者影響計(jì)算可靠性。如何識(shí)別、記錄、排除惡意參與的實(shí)體,不影響系統(tǒng)開放性的同時(shí)盡可能提高系統(tǒng)的安全性,實(shí)現(xiàn)可信的邊緣智能計(jì)算,也是目前邊緣智能計(jì)算的挑戰(zhàn)之一。
計(jì)算卸載策略是云邊端架構(gòu)的核心算法,卸載模式與通信環(huán)境有著密切的關(guān)系,當(dāng)與云服務(wù)器的通信時(shí)延較長時(shí),基于邊緣服務(wù)器的決策因?yàn)榉磻?yīng)迅速所以效果較好;反之,與云服務(wù)器通信時(shí)延短時(shí),則由云服務(wù)器進(jìn)行總體統(tǒng)籌效果最佳。
目前的研究雖然大都考慮了通信對(duì)計(jì)算卸載的影響,但策略相對(duì)固定,很少有根據(jù)通信環(huán)境而對(duì)卸載策略進(jìn)行改進(jìn)的方法。應(yīng)進(jìn)一步發(fā)揮節(jié)點(diǎn)的自組織性,實(shí)現(xiàn)通信受限場(chǎng)景下策略的智能選擇,提高系統(tǒng)的魯棒性。
本文結(jié)合云邊端架構(gòu)與邊緣智能計(jì)算,從架構(gòu)的視角出發(fā),回顧了云邊端架構(gòu)下邊緣智能計(jì)算的兩大關(guān)鍵問題:計(jì)算優(yōu)化與計(jì)算卸載。分析了云邊端架構(gòu)下邊緣智能計(jì)算及計(jì)算卸載的研究方向與研究進(jìn)展。最后總結(jié)了云邊端架構(gòu)下邊緣智能計(jì)算的幾個(gè)挑戰(zhàn)和未來的研究趨勢(shì)。本文希望這些對(duì)云邊端架構(gòu)邊緣智能計(jì)算的總結(jié)和思考,能夠促進(jìn)邊緣計(jì)算與人工智能的進(jìn)一步結(jié)合,為這一領(lǐng)域帶來進(jìn)步和發(fā)展。