董裕民 張 靜 謝昌佐 李子揚*
①(中國科學院空天信息創(chuàng)新研究院 北京 100094)
②(中國科學院定量遙感信息技術重點實驗室 北京 100094)
③(中國科學院大學電子電氣與通信工程學院 北京 100049)
隨著物聯(lián)網技術的飛速發(fā)展,越來越多的終端設備被接入網絡。截至2022年底,我國3家基礎電信企業(yè)發(fā)展蜂窩物聯(lián)網用戶1.8×109戶,比上年增加4.5×108戶[1]。伴隨終端數(shù)量的急速增加,目前主流的云計算體系結構暴露出了越來越多的不足。
首先是隱私安全問題,終端設備產生了大量的隱私數(shù)據(jù),這些數(shù)據(jù)通過網絡傳輸?shù)皆品掌魃线M行處理,可能造成用戶隱私的泄露[2]。其次,由于接入網絡的設備數(shù)量持續(xù)高速增長,需要減輕云服務器的計算和傳輸壓力[3]。對于時間敏感型的業(yè)務,如自動駕駛[4]、虛擬現(xiàn)實[5]等,若將全部數(shù)據(jù)傳輸至云服務器進行計算可能會帶來不能接受的時延[6]。最后,數(shù)據(jù)中心及其計算服務已經成為全球能源消耗的主力之一,如果單純使用云服務器進行集中式計算,設備端的計算資源會被嚴重浪費,為云服務器帶來更多壓力從而增加成本與碳排放[7]。
為解決上述問題,學界提出了邊緣計算框架,讓計算盡量靠近終端設備[8],以提供低延遲、高可靠、高安全的服務。與云計算不同,邊緣計算的計算過程發(fā)生在云服務器和終端設備路徑之間[9],由終端設備、邊緣服務器、云服務器共同完成計算業(yè)務,邊緣設備同時作為數(shù)據(jù)的提供者和使用者,參與計算并接收計算結果。
邊緣服務器,是邊緣計算的重要概念。這一概念出現(xiàn)于內容分發(fā)網絡[10],起初是為了解決主干網的擁堵,負責進行常用的高訪問的靜態(tài)文件的緩存以便于實現(xiàn)附近用戶請求的快速分發(fā)。該方法有效減輕了網絡傳輸?shù)呢摀鶾11]。隨著網絡技術的發(fā)展,邊緣服務器的作用也從靜態(tài)文件分發(fā)擴展到了各類計算服務,邊緣服務器與用戶(終端)地理位置相近,作為云服務器的補充為用戶提供低時延的服務。
將云服務器、邊緣服務器、終端設備結合起來的體系結構稱為云邊端架構,是邊緣計算的一個子集實例。目前,云邊端架構已經廣泛應用于智慧城市[12]、自動駕駛[13]、工業(yè)控制[14]、智慧農業(yè)[15]、星上計算[16]、人工智能[17]等多個領域。
特別的,隨著人工智能計算需求的不斷增大,邊緣計算與智能計算相結合的需求越來越迫切[18],相關的研究也越來越豐富。在期刊數(shù)據(jù)庫Web of Science?核心合集上以邊緣計算(檢索式:TS=Edge Computing, TS為主題)、邊緣計算與人工智能(檢索式:TS=Edge Computing AND (TS=Intelligence OR TS=Learning OR TS=Smart))進行檢索[19],對文章數(shù)量進行逐年統(tǒng)計,其結果如圖1所示。

圖1 邊緣計算與智能計算結合的趨勢
可以看到,隨著主題為邊緣計算的文章數(shù)量的增加,其中邊緣智能計算工作的占比也在不斷提高,從2012年的2.23%提高到了2022年的43.56%,已經成為邊緣計算研究的焦點。
邊緣智能計算將智能計算業(yè)務與邊緣計算相結合,并將其計算業(yè)務分布在整個工作流經過的設備上,可以更好地減少算力浪費、增強隱私保護和加快計算速度。傳統(tǒng)的智能計算模型復雜、數(shù)據(jù)量大、計算量大,單個終端設備保存數(shù)據(jù)量小、隱私性強。隨著終端設備部署智能計算模型需求的增加,如何有效利用云邊端架構的優(yōu)勢,對智能計算進行優(yōu)化加速,成為目前邊緣智能計算的研究熱點[20]。
目前,對于邊緣智能計算的調查研究綜述已有很多[21-25],但從云邊端架構的視角出發(fā)探討邊緣智能計算業(yè)務的綜述并不多見。本文聚焦于云邊端架構,重點討論邊緣智能計算業(yè)務與云邊端結合所面臨的兩個關鍵問題:計算優(yōu)化與計算卸載。討論云邊端架構下邊緣智能計算優(yōu)化的應用與研究進展,梳理云邊端架構下計算業(yè)務卸載策略的研究現(xiàn)狀,討論邊緣智能計算業(yè)務如何合理地在云邊端各部分進行分配。
本文余下的部分結構如下:第2節(jié)對云邊端架構進行介紹。第3節(jié)梳理和討論云邊端架構下邊緣智能計算優(yōu)化的應用和研究。第4節(jié)對云邊端架構下計算業(yè)務計算卸載策略進行了討論,即計算應該在何時、何地決定在哪里進行。第5節(jié)總結了目前云邊端架構下的邊緣智能計算所面臨的挑戰(zhàn)與未來可能的研究方向。第6節(jié)是結束語。
傳統(tǒng)云計算模型越來越無法滿足計算業(yè)務的實時性和安全性,學界和工業(yè)界開始討論在云服務器和終端設備之間部署邊緣服務器以平衡算力與延遲之間的矛盾,這種架構稱為云邊端架構。
在云邊端架構中,計算可以發(fā)生在云、邊、端的每一層,但考慮到網絡帶寬受限,希望計算盡可能發(fā)生在數(shù)據(jù)源,即終端設備周圍[9],當數(shù)據(jù)在終端設備進行計算時,其計算的特點包括:
(1) 計算受限:與云服務器和邊緣服務器相比,終端設備的計算能力和效率都十分有限[26],資源密集型任務的端側計算可能會帶來不能接受的計算時間和能量消耗。
(2) 隱私保護:作為數(shù)據(jù)的生產者,由于數(shù)據(jù)不經過網絡傳輸,數(shù)據(jù)處理過程中隱私可以得到很好的保護[9]。
(3) 網絡無關:由于不需要經過網絡傳輸,在終端上進行的計算沒有網絡延遲,但由于計算能力有限,無網絡延遲并不意味著快速。
與終端設備相比,邊緣服務器與云服務器的計算時效、計算能效依次增加,然而網絡延遲與隱私風險也隨之變大。
云端適合資源密集型的業(yè)務,即計算量大、數(shù)據(jù)量小的工作;而終端設備適合處理包含隱私數(shù)據(jù)或時間敏感型的業(yè)務,即運算量小且時效性要求高的工作;邊緣節(jié)點則介于兩者之間。
面對運算量大、實時性強的智能計算業(yè)務,如何從算法、硬件、傳輸?shù)炔煌S度進行計算優(yōu)化,使得其可以運行在邊緣設備上;以及如何將一個計算業(yè)務合理地拆解在云邊端的每一個部分,實現(xiàn)計算卸載,實現(xiàn)云邊端3層配合,達到總體效果的最優(yōu),是邊緣智能計算與云邊端架構結合所研究的重點[27]。
當前業(yè)內所常用的智能計算業(yè)務大致可以分為訓練和推理兩部分:訓練是指通過訓練數(shù)據(jù)生成/調整模型使得模型能夠盡量正確地擬合實際數(shù)據(jù)的分布,目的是得到盡可能準確的模型;而推理是指使用訓練好的模型對未知數(shù)據(jù)進行判斷,得到模型的輸出。通常來講訓練的計算量遠遠大于推理。從訓練和推理計算發(fā)生的位置可以對其進行分類,目前比較流行的云邊配合包括:
(1) 在云端進行訓練,在邊緣進行推理。這是目前邊緣智能計算框架推薦的應用較多的方案。
(2) 云邊端配合訓練,在邊緣進行推理,共同參與訓練過程的每一次迭代,代表算法是聯(lián)邦學習,適用于有隱私數(shù)據(jù)參與的場景。
(3) 云邊分別進行訓練,在邊緣進行推理。通過遷移學習等方法,在云端進行第1階段訓練,在邊緣端進行第2階段訓練和推理,目的是盡量減少在邊緣端訓練的計算量。
云邊端架構特點如圖2所示。

圖2 云邊端架構特點
在云端訓練,邊緣進行推理,主要解決的問題是提高計算速度和減少計算成本。面對算力有限的邊緣設備,云端訓練出的模型可能無法在邊緣設備上直接運行,邊緣設備可能也無法運行為云端設計的機器學習平臺。因此,為了實現(xiàn)在邊緣設備上進行推理,一些為邊緣設計的機器學習框架、網絡模型輕量化技術被提出。
典型的為邊緣計算設計的智能計算編程框架[28]包括TensorFlow Lite, PyTorch Mobile, Mind-Spore Lite, Paddle Lite等,如表1所示。

表1 邊緣智能計算框架對比
考慮到邊緣設備有限的存儲空間和運算能力,TensorFlow Lite[29]通過剔除不適合在邊緣運行的算子來減小框架體積,同時限制模型運算量。然而這降低了其和TensorFlow框架的兼容性。PyTorch Mobile[30]完成了訓練模型到部署模型的無縫連接,通過動態(tài)量化等方法降低運算量,因此兼容所有PyTorch模型。MindSpore Lite[31]提供模型轉化工具,通過模型量化壓縮,降低模型的復雜度,使AI模型能在極限環(huán)境下部署執(zhí)行。Paddle Lite[32]是一個終端可部署的輕量化推理引擎,它通過訓練完成的模型和設備情況生成輕量化的端側推理模型,針對移動端設備的機器學習進行優(yōu)化,壓縮模型和二進制文件體積,高效推理,降低內存消耗。
與傳統(tǒng)的神經網絡模型相比,端側推理使用的網絡模型需要更加輕量化,目前主要使用量化、剪枝、提前退出、輕量化模型等技術減少推理的計算量[33-35]:
量化是指通過低精度變量代替高精度變量。在神經網絡的研究中,學者發(fā)現(xiàn)降低一些參數(shù)變量的精度并不會帶來整體模型精度的明顯損失,但可以顯著壓縮模型的大小。文獻[36]提出了一種基于激活層的量化方法,使用低比特的整數(shù)代替浮點數(shù)運算,大幅降低了模型的運算量并且大幅提高了模型在CPU上的運行效率。文獻[37]提出了一種訓練后量化模型,以避免訓練中量化耗時的參數(shù)微調,實現(xiàn)了性能接近的低比特量化。
剪枝是指對神經網絡的結構進行修改,刪除對模型整體不重要的神經元,以此在保證模型精度的條件下減小模型體積。由于不同網絡層的權重對網絡的貢獻不一致,傳統(tǒng)的剪枝方法一般分層確定剪枝參數(shù)。文獻[38]為了在邊緣設備上壓縮和加速深度神經網絡,提出了一種分層的、參數(shù)的可變的剪枝方法,遵循貪婪策略對各層參數(shù)進行確定,這種方法可以降低神經網絡精度剪枝后的下降。在分層剪枝的基礎上,文獻[39]提出了一種全局的模型剪枝方法,通過量化判斷權重改變對網絡輸出的影響,實現(xiàn)了更細粒度的重要性判斷,進一步減小了精度下降。
提前退出與量化和剪枝不同,它會增加模型的參數(shù)數(shù)量,它通過構建不同的出口,設置閾值,讓分類器在結果比較明確時提前做出判斷,輸出結果,以此來減小推理過程的運算量。針對云邊端架構,帶有提前退出機制的網絡模型一般在終端設備進行一部分計算,通過閾值判斷篩選出置信度較低的樣本傳輸至云側進行進一步計算,置信度較高的樣本則直接輸出結果,即提前退出。這種模式在通信開銷不大的情況下提高模型的準確性且不占用終端設備較多的運算資源。文獻[40]通過引入視覺自主自注意力機制(vision transformer),提出了一種適用于視聽數(shù)據(jù)的提前退出網絡,顯著降低了運算開銷。也有工作[41]關注惡意樣本對退出機制的影響,通過對樣本的預處理,避免惡意樣本使網絡不能提前退出造成通信資源的占用。
輕量化模型是指通過改變網絡結構以降低推理的運算量,如MobileNet, ShuffleNet等。MobileNet[42]針對卷積神經網絡中占用計算資源最多的卷積層進行優(yōu)化,提出了深度可分離卷積算法,與常規(guī)卷積相比,在準確率退化不大的情況下,大大減少了參數(shù)量及運算量。ShuffleNet[43]采用逐點分組卷積和通道混洗方法,通過分組卷積降低算力的需求,通過通道混洗可以使各組之間的信息進行交互,保證模型的準確性。
由此可見,云端訓練,邊緣推理主要關注終端設備算力受限下的計算優(yōu)化問題,包括架構和算法兩個層面,能夠實現(xiàn)邊緣實時的推理且避免網絡延遲,但是訓練時需要向云端服務器上傳數(shù)據(jù),有隱私泄漏的風險。
為了避免隱私的泄露,一些云邊端配合進行訓練的方法被提出,最有代表性的是聯(lián)邦學習算法。
聯(lián)邦學習算法假設訓練數(shù)據(jù)分散在若干個終端設備上,且出于安全性考慮,終端設備不希望其上的數(shù)據(jù)傳輸?shù)狡渌K端或云上而進行訓練。它的算法步驟如下[44]:
(1)云端向每一個終端設備下發(fā)初始模型。
(2)終端設備使用自己的數(shù)據(jù)對模型進行訓練。
(3)終端設備向云端上傳訓練好的本地模型及測試精度。
(4)云端對所有終端設備的模型進行聚合(一般是根據(jù)終端設備的數(shù)據(jù)量進行加權平均),并計算全局模型的精度。如果滿足要求,則輸出模型,如果不滿足則下發(fā)聚合后全局模型,回到步驟(2)。
在聯(lián)邦學習中,云端只接收模型參數(shù)和模型精度,因此可以很好地避免終端設備隱私泄露。但是,其算法需要多次迭代,云端與邊緣通信次數(shù)多,數(shù)據(jù)量大,受帶寬影響很大。為了解決這一問題,基于云邊端的3層聯(lián)邦學習被提出[45]??紤]到降低通信開銷會影響模型精度,3層的聯(lián)邦學習框架提供兩次聚合平衡通信與模型精度的矛盾:邊緣服務器聚合終端設備的模型,而云端聚合邊緣服務器的模型。
由于3層聯(lián)邦學習可以看作兩個雙層的聯(lián)邦學習,故雙層聯(lián)邦學習的結論大部分都可以推廣到3層聯(lián)邦學習,因此3層聯(lián)邦學習的研究主要集中在兩次聚合的配合過程。文獻[46]通過分析帶參數(shù)量化的3層聯(lián)邦學習的收斂性,進而提出了一種自適應的聚合方案以優(yōu)化通信策略。文獻[47]從安全角度出發(fā),探討邊緣服務器被惡意利用時對云端和終端設備的影響,并據(jù)此提出一個安全的3層聯(lián)邦學習框架,引入數(shù)據(jù)歸一化機制來避免惡意的邊緣服務器對學習過程的攻擊。
雙層聯(lián)邦學習主要關注資源受限的優(yōu)化問題,受限的資源包括通信資源、運算資源與數(shù)據(jù)資源,通過邊緣智能計算過程及計算策略的綜合優(yōu)化,可以提高上述資源的利用率以提高模型的準確率并降低運算時間。
通信資源的受限來自聯(lián)邦學習巨大的通信開銷,由于參與的邊緣設備數(shù)量通常很多,且模型訓練需要全體設備多次參與模型迭代,因此通常聯(lián)邦學習的通信資源都是受限的。將信道與計算過程相結合可以提高數(shù)據(jù)傳輸?shù)男?,減小系統(tǒng)的計算時間,文獻[48]提出了一種基于概率的調度策略,通過計算邊緣計算中聯(lián)邦學習梯度參數(shù)的質量結合每個傳輸信道情況對數(shù)據(jù)傳輸進行優(yōu)化,最終達到模型的快速收斂以加快計算。
計算受限的優(yōu)化包括壓縮模型、減少訓練迭代次數(shù),在減小計算量的同時亦可以減小傳輸數(shù)據(jù)量。通過量化、剪枝等方法減小傳輸模型的尺寸,這與前文所提到的端側推理中對模型的簡化方法類似。引入量化聯(lián)邦學習的終端設備并不會上傳整個模型,而是上傳本輪訓練所帶來的變化量,通過篩選掉變化較小的神經元參數(shù),使其在本輪訓練中保持數(shù)值不變,可以進一步減少訓練的通信開銷,如文獻[49]提出了一種動態(tài)量化的聯(lián)邦學習方法,可以根據(jù)變化量的大小動態(tài)地調整量化程度,以降低量化對訓練造成的影響。對模型超參進行調整也可以加速模型收斂,如文獻[50]證明了在一定條件下調整聯(lián)邦學習的批處理數(shù)量可以加速模型收斂。
數(shù)據(jù)資源的受限體現(xiàn)在樣本數(shù)量上,邊緣側的數(shù)據(jù)通常樣本量較小,數(shù)據(jù)分布有可能不符合獨立同分布[51]。聯(lián)邦學習算法依賴于隨機梯度下降,訓練數(shù)據(jù)的獨立同分布對于確保隨機梯度是全梯度的無偏估計非常重要,因此非獨立同分布的訓練數(shù)據(jù)會嚴重影響訓練效果[52]。為解決非獨立同分布數(shù)據(jù)對聯(lián)邦學習的影響,有學者通過構建統(tǒng)計指標[53]、預訓練[54]等方式對邊緣數(shù)據(jù)集進行分組,也有學者通過自注意力機制[55]、客戶端加權[56]等方法優(yōu)化聚合過程。
為了解決小樣本問題及數(shù)據(jù)分布不均勻的問題,可以在邊緣側進行模型訓練和推理。
遷移學習是一種典型的小樣本學習方法,它通過在基類上進行學習,再在小樣本上進行訓練,對參數(shù)進行微調,取得了不錯的效果。文獻[57,58]關注智能攝像頭上搭載的深度神經網絡的訓練過程,提出基于代表性圖像的遷移學習及基于單對多、多對單、多對多的智能攝像頭遷移學習方法,實現(xiàn)了標注數(shù)據(jù)量、訓練時間的降低和模型準確率的增加。為了解決神經網絡在大量物聯(lián)網終端設備上部署的問題,文獻[59]提出了一種模型快速部署和更新方法,通過比較新舊模型的區(qū)別來減少傳輸,并加快訓練。
與遷移學習類似的,元學習是一種小樣本學習方法,通過對任務空間的學習,來生成與任務無關的模型初始參數(shù),有的方法還會增加記憶模塊,能夠根據(jù)相似的任務進行模型的選擇和改進,加快模型收斂的速度、改善服務質量。文獻[60]面向智能駕駛,設計了一種基于兩階段元學習的方法,根據(jù)數(shù)據(jù)庫中提取的元特征自適應地為車輛在不同場景下的不同計算業(yè)務選擇合適的機器學習算法。注意到邊緣智能計算中樣本量小且分布不平均的問題,文獻[61]通過在聯(lián)邦學習中引入元學習思想,提出了一個自適應的部分私有的聯(lián)邦元學習機制以保證隱私性和收斂性。
遷移學習也可以與聯(lián)邦學習結合。文獻[62]構建了一個遷移聯(lián)邦學習過程:與傳統(tǒng)的聯(lián)邦學習相比,這一方法不需要一臺集中式的云服務器匯總模型,而是通過終端設備互相傳遞,進一步加強了對隱私的保護。文獻[63]結合聯(lián)邦學習、遷移學習和強化學習,利用聯(lián)邦學習的本地訓練模型來保護隱私,并利用遷移學習通過知識遷移來提高訓練效率,最后使用強化學習過濾惡意的終端設備,以實現(xiàn)安全、快速的模型推理。
綜上,邊緣智能計算的優(yōu)化主要關注算法在終端、邊緣上的加速、分割和卸載。卸載策略主要根據(jù)邊緣智能計算業(yè)務的特點確定。作為邊緣計算的核心問題,卸載策略除了根據(jù)具體業(yè)務的計算卸載研究外,通用的計算卸載策略也是目前研究的熱點。
將計算業(yè)務科學合理地分配到云邊端每一個層次,稱為云邊端計算卸載研究,即回答何時進行卸載、由誰決定卸載、卸載到哪里三個問題。對于不同的業(yè)務的優(yōu)化約束條件和不同場景的網絡傳輸條件,計算任務的卸載策略不盡相同。常用的約束條件包括任務時延和系統(tǒng)能耗[64-67],也有研究同時考慮服務質量[68,69]、隱私保護程度[70]等。以下主要針對時延和能耗兩個研究熱點進行綜述。
值得一提的是,由于邊緣計算包含大量時間敏感型業(yè)務,因此單純考慮能耗的卸載方法可能會造成不能接受的時延,因此大部分以能耗為指標的卸載研究也會同時考慮時間指標。
任務時延是云邊端體系下服務質量的重要指標。任務時延通??梢苑譃?部分[71,72]:網絡傳輸時延、傳輸后在隊列中等待時延、計算時延。
云邊端系統(tǒng)的各部分的通信成本和計算能力各有不同,邊緣側通信速度快,但計算速度慢;而云側計算時間短,通信時間長。因此需要根據(jù)不同情景平衡通信和計算帶來的時間開銷。
馬勇等人[73]提出了一種云邊端架構下中心式的調度模式,如圖3所示。云服務器獲取終端設備的位置信息,并基于深度學習進行預測,得到終端設備預測軌跡。根據(jù)歷史軌跡和預測軌跡,計算設備的綜合距離,將設備分為熱點區(qū)域設備和離散設備。對熱點區(qū)域設備,云服務器計算熱點區(qū)域與邊緣服務器匹配度,根據(jù)匹配度得到熱點區(qū)域計算簇(邊緣服務器的集合),熱點區(qū)域設備向計算簇控制節(jié)點(由距離熱點區(qū)域最近的邊緣服務器擔任)發(fā)起卸載,由控制節(jié)點將計算任務分發(fā)至邊緣服務器執(zhí)行。對離散設備,云服務器計算設備與邊緣服務器的匹配度,設備根據(jù)匹配度直接向邊緣服務器發(fā)起卸載,如圖4所示。

圖3 中心式計算卸載流程

圖4 邊緣式計算卸載流程
該方法的優(yōu)點是終端可以選擇最優(yōu)的邊緣服務器進行運算,但終端與云服務器的通信通常是受限的。該方法需要終端與云端多次通信,在網絡延遲較大甚至中斷時無法有效進行計算卸載。
Ren等人[74]證明了在終端設備使用時分多址無線網絡傳輸,且信道服從獨立同分布的瑞利衰落時,計算資源的分配存在最優(yōu)解。該文章假設終端只產生數(shù)據(jù)和接收計算結果,所有計算任務全部卸載到邊緣服務器及云服務器。終端首先上傳所有數(shù)據(jù)到邊緣服務器,邊緣服務器做出判斷,劃分計算量,并上傳云服務器需要進行運算的數(shù)據(jù),然后邊緣服務器和云服務器對數(shù)據(jù)進行并行的計算。作者證明了這一過程的最優(yōu)化問題是一個嚴格凸函數(shù),由此確定了理論最優(yōu)卸載策略。
該方法的計算劃分發(fā)生在邊緣服務器上,因此在與云端網絡通信中斷時也可使用,并且是理論最優(yōu)策略。然而作者忽略了計算任務劃分的粒度問題及依賴關系,假設任務是完全可分的且沒有相互依賴。同時該結論只適用于終端設備使用時分多址技術進行無線網絡傳輸這一過程,終端與邊緣服務器的關系固定,無法根據(jù)網絡狀態(tài)、資源占用情況等進行調整。假設計算全部發(fā)生在邊緣服務器及云服務,降低了優(yōu)化問題的維度,但浪費了終端設備的低時延計算能力。
為了克服云服務器統(tǒng)一調度造成的巨大延遲和固定邊緣服務器造成的算力損耗,Lin等人[75]提出了由邊緣服務器主導的局部調度算法:引入了一種稱為“兩種選擇的力量”的簡單策略,實現(xiàn)了基于邊緣服務器的輕量化負載均衡,如圖5所示。

圖5 基于“兩種選擇的力量”策略的卸載流程
首先終端和邊緣通過云服務器和廣播發(fā)現(xiàn)彼此,之后每個終端選擇一個延遲最小的邊緣服務器作為其“守護節(jié)點”。需要執(zhí)行卸載時,首先將任務信息傳輸?shù)绞刈o節(jié)點,若守護節(jié)點有空閑資源,則將數(shù)據(jù)傳輸?shù)绞刈o節(jié)點進行計算。若沒有空閑資源,則守護節(jié)點任意選擇兩個其他邊緣節(jié)點,選擇其中負載小的作為執(zhí)行節(jié)點,重定向數(shù)值發(fā)送至執(zhí)行節(jié)點,所謂負載小,是指預期的運行時間小。同時,該調度系統(tǒng)考慮了時間敏感性任務的有限性,這個簡單的策略被證明是有效的。
該方法的優(yōu)勢在于由邊緣服務器進行信息不全的快速卸載策略制定,由此平衡了卸載策略生成速度和卸載策略實施效果,但云服務器作為系統(tǒng)中運算效率最高的計算平臺并沒有有效參與計算。
移動終端設備的電池容量通常是有限的,將計算卸載到邊緣和云可以有效提高移動終端設備的續(xù)航能力。邊緣計算服務通常對時間較為敏感,單純考慮能耗可能會帶來不能接受的任務時延。因此研究的熱點為結合時延指標對卸載進行約束,在滿足時延要求的條件下實現(xiàn)系統(tǒng)耗能最小,能耗主要考慮計算能耗和信息傳輸能耗。
一般而言,能耗的計算公式為[76]
由于云邊端各層次設備功率、運算效率、傳輸效率不一致,因此綜合時延和能耗的卸載方案也可以被視為一個為有權重的時延優(yōu)化方案。
徐佳等人[77]考慮了多任務場景下的計算卸載,討論了一個存在依賴關系的多任務卸載體系,同時考慮等待時間的能量消耗,提出了一個基于粒子群優(yōu)化算法的多任務云邊端卸載策略。該策略的核心是一個分段函數(shù),在滿足時間要求時,分段函數(shù)僅與能耗有關;不滿足時間要求時,分段函數(shù)與時間和功耗同時有關。通過迭代求得該分段函數(shù)的最小值進行計算卸載。仿真結果顯示,該方法在能耗和計算時延上都有不錯的表現(xiàn)。但由于時延與能耗是相互存在相互關聯(lián)的,因此該方法的計算復雜度較高。
在引入任務依賴的基礎上,李強等人[78]進一步考慮了時變信道下邊緣計算任務的卸載。采用A3C深度強化學習方法,將計算卸載問題轉化為一個馬爾可夫決策過程。使用多線程智能體,首先在離線環(huán)境中使用模擬數(shù)據(jù)進行訓練;在實際應用環(huán)境中,根據(jù)真實數(shù)據(jù)進行多線程的推理和異步訓練,適應真實條件。與基類方法相比,時延和系統(tǒng)能耗得到了很好的控制。但是該算法只考慮了單一設備至單一邊緣服務器,沒有考慮多信道波動下邊緣服務器的選擇和用戶競爭。
彭昇等人[79]考慮了一個多終端多邊緣服務器的云邊端計算場景:終端移動設備通過無線網與基站進行連接,基站之間通過中央基站相連。算法考慮設備用戶的移動軌跡,依據(jù)路徑選擇最優(yōu)的兩個基站進行計算卸載。在同一個時刻,一個基站負責此時刻的計算,另一個基站負責接收下一時刻計算的數(shù)據(jù)。該方法有效地解決了設備移動帶來的網絡通信條件的變化,并實現(xiàn)了較好的系統(tǒng)功耗控制。但是對于時延僅做了定性的判斷,還有優(yōu)化的空間。
通過對云邊端架構下邊緣智能計算優(yōu)化及計算卸載策略的梳理可以看出,盡管邊緣智能計算在學術界和工業(yè)界已經有了廣泛的研究和應用,該領域仍然有著巨大的研究潛力和挑戰(zhàn),下面總結云邊端架構下邊緣智能計算的未來發(fā)展方向及挑戰(zhàn),希望以下這些討論能夠促進云邊端架構與邊緣智能計算的融合、發(fā)展和創(chuàng)新。
由于不同計算業(yè)務的可分割粒度、子任務間的依賴關系、計算量數(shù)據(jù)量之比、任務數(shù)據(jù)的隱私程度都有所不同,因此與單純面向架構的計算卸載、運算相比,結合具體業(yè)務后能夠進一步優(yōu)化云邊端架構的消耗,激發(fā)云邊端架構的潛能。
邊緣智能計算的訓練過程是典型的資源密集型業(yè)務,即運算量大且時效性要求不高的計算;而推理過程則是時間敏感型業(yè)務,運算量較小但要求較高的時效性。針對它們的特點就可以更合理地進行計算業(yè)務劃分。同時,由于端側的計算資源受限,針對終端的計算優(yōu)化也是未來云邊端架構的解決方案之一,而架構與具體業(yè)務的結合是這一優(yōu)化的前提。
以作者參與的重點研發(fā)計劃子任務為例,目的是構建一個由終端監(jiān)測設備(傳感器為紅外和可見光相機)、地面處理站、指揮中心構成的森林火災監(jiān)測系統(tǒng)。由于帶寬受限,監(jiān)測設備無法將獲取的全部數(shù)據(jù)上傳至地面處理站,因此需要在監(jiān)測設備上進行初步運算,對數(shù)據(jù)進行篩選。此時監(jiān)測設備需要處理的數(shù)據(jù)量為3層中最大,但運算能力是3層中的最低,數(shù)據(jù)量與運算能力之間產生了極大的矛盾。考慮到帶寬有限,將部分火點識別的算法卸載到檢測設備上進行??梢姽鈧鞲衅鞣直媛矢?,火點識別運算量大,準確率高;紅外數(shù)據(jù)分辨率低,火點識別運算量小,虛警率高;考慮到傳感器特點和業(yè)務流程,由檢測設備進行基于紅外圖像的火點初步識別,并將疑似火點的圖像傳輸至地面處理站,由處理站進行基于可見光圖像的火點精細識別,剔除虛警后,生成觀測需求下傳至監(jiān)測設備,并將火點圖像及信息上傳至指揮中心,以此平衡傳輸與處理之間的矛盾。
終端設備數(shù)量巨大帶來的問題之一是運算能力、數(shù)據(jù)結構、數(shù)據(jù)分布、通信狀況都有所不同。首先,運算能力的差異可能使得算法難以部署,如某些單片機可能無法運行某些神經網絡模型或時延不可接受。不同終端設備的兼容性也可能導致算法無法運行,目前各個邊緣智能計算框架標準和接口尚不統(tǒng)一。
其次是數(shù)據(jù)的差異,數(shù)據(jù)的差異首先是數(shù)據(jù)結構的差異,這使得不同終端的數(shù)據(jù)難以被同樣的程序處理;除了數(shù)據(jù)結構,數(shù)據(jù)的分布也可能有差異,數(shù)據(jù)的獨立同分布是神經網絡準確的前提之一,如果數(shù)據(jù)分布差異過大,則需要對數(shù)據(jù)進行進一步的細分。
最后是通信狀況的差異,這種差異帶主要影響計算的卸載策略,目前的研究目標多數(shù)是系統(tǒng)層面的最優(yōu),然而這種優(yōu)化邊界條件可能導致通信狀況較差的設備被忽視,從而承受極差的服務質量,由此可能帶來用戶體驗與公平性的問題。
在邊緣智能計算特別是聯(lián)邦學習中,計算優(yōu)化與計算卸載過程可能涉及不同利益組織的實體,這些實體互相配合需要有效的激勵機制進行支撐??紤]到邊緣環(huán)境松散及去中心化的特點,目前學術界通過引入區(qū)塊鏈等技術,進行了一些激勵方法研究,但這種引入勢必會擠占邊緣計算場景中寶貴的傳輸、運算和儲存資源。邊緣計算場景呼喚更簡單、更公平且有效的激勵方案。
進一步的,多實體參與的邊緣智能計算可能出現(xiàn)惡意參與者,竊取數(shù)據(jù)或者影響計算可靠性。如何識別、記錄、排除惡意參與的實體,不影響系統(tǒng)開放性的同時盡可能提高系統(tǒng)的安全性,實現(xiàn)可信的邊緣智能計算,也是目前邊緣智能計算的挑戰(zhàn)之一。
計算卸載策略是云邊端架構的核心算法,卸載模式與通信環(huán)境有著密切的關系,當與云服務器的通信時延較長時,基于邊緣服務器的決策因為反應迅速所以效果較好;反之,與云服務器通信時延短時,則由云服務器進行總體統(tǒng)籌效果最佳。
目前的研究雖然大都考慮了通信對計算卸載的影響,但策略相對固定,很少有根據(jù)通信環(huán)境而對卸載策略進行改進的方法。應進一步發(fā)揮節(jié)點的自組織性,實現(xiàn)通信受限場景下策略的智能選擇,提高系統(tǒng)的魯棒性。
本文結合云邊端架構與邊緣智能計算,從架構的視角出發(fā),回顧了云邊端架構下邊緣智能計算的兩大關鍵問題:計算優(yōu)化與計算卸載。分析了云邊端架構下邊緣智能計算及計算卸載的研究方向與研究進展。最后總結了云邊端架構下邊緣智能計算的幾個挑戰(zhàn)和未來的研究趨勢。本文希望這些對云邊端架構邊緣智能計算的總結和思考,能夠促進邊緣計算與人工智能的進一步結合,為這一領域帶來進步和發(fā)展。