劉先鋒,梁 賽,李 強,張 錦
(湖南師范大學信息科學與工程學院,長沙 410081)
近年來,隨著計算機與通信技術的高速發(fā)展,網絡邊緣設備數量及其所產生的數據量呈現爆炸式增長趨勢。深度神經網絡(Deep Neural Network,DNN)[1]作為支持現代智能移動應用的關鍵技術,因其高精度和可靠的推理性能,在計算機視覺[2]、自然語言處理[3]、機器翻譯[4]等大規(guī)模數據處理場景中得到廣泛應用與研究。由于DNN 是計算密集型網絡,通常包含十個以上的網絡層及大量的神經元節(jié)點,對存儲和計算資源要求很高,難以部署在資源受限的邊緣設備?,F有基于云計算的解決方案存在帶寬資源消耗大、通信延遲無法預測和圖像數據隱私泄露等問題。為了解決此類問題,文獻[5-6]提出基于云邊協同的DNN 分布式推理,通過將DNN 推理部分計算從云端下推到移動邊緣,以緩解云服務器的負載壓力,實現DNN 推理的低延遲和高可靠性[7]。然而,現有工作僅考慮同構設備下的靜態(tài)劃分策略,未考慮網絡傳輸速率、邊緣設備資源和云服務器負載等變化對DNN 推理計算最佳劃分點的影響以及異構邊緣設備集群間DNN 推理任務的最佳卸載策略。
針對動態(tài)環(huán)境下邊緣設備與云服務器間DNN 推理計算劃分以及異構邊緣設備集群(Edge Device Cluster,EDC)間DNN 推理任務卸載問題,本文提出基于深度強化學習(Deep Reinforcement Learning,DRL)的自適應DNN 推理計算劃分和任務卸載(DNN Inference Computation Partition and Task Offloading Based on Deep Reinforcement Learning,DPTO)算法。DPTO 算法對DNN 模型各網絡層的計算資源需求和輸出數據大小進行分析。根據模型結構特征,在資源受限的邊緣設備和云服務器間建立分布式DNN 協作推理框架,以此優(yōu)化DNN 推理時延。在DNN 推理計算劃分的基礎上,考慮推理任務在異構邊緣集群間的卸載問題,對DNN 推理計算劃分和任務卸載的優(yōu)化目標和約束條件進行分析,建立DNN 推理計算劃分和任務卸載的數學模型。DPTO算法具有自適應學習能力,能根據當前環(huán)境為DNN推理計算劃分和推理任務卸載選擇近似最優(yōu)策略。最終選取3 種常用的DNN 模型、不同類型的邊緣設備和網絡傳輸速率驗證DPTO 算法的有效性。
目前,為在算力和存儲等資源受限的邊緣設備上部署和實現低時延DNN 推理,研究人員提出了一系列關于DNN 推理的優(yōu)化技術。現有優(yōu)化技術包括設計輕量級模型、模型壓縮方法和模型提前退出機制。文獻[8]提出SqueezeNet 小型DNN 模型,其將參數量縮減為原來的1/50,極大降低了模型復雜度。文獻[9-10]提出模型壓縮方法,通過參數共享、剪枝不敏感或冗余的權重參數,降低模型復雜度和資源需求,實現在資源受限邊緣設備上的低延遲和低能耗DNN 模型推理。文獻[11-12]提出模型分支退出機制,通過僅處理較為靠前的若干網絡層來加速DNN 推理。以上技術雖然能有效降低資源需求、加速DNN 推理速度,但同時也會帶來模型精度的損失,難以適應實際應用場景中DNN 推理愈加嚴格的精度要求。
研究人員嘗試在邊緣設備上部署和運行完整的DNN 模型,主要分為邊邊協同和云邊協同。邊邊協同通過將多個邊緣設備作為計算節(jié)點參與DNN 推理以滿足單個邊緣設備的計算需求,提升系統(tǒng)的整體計算能力。DNN 模型通常由卷積層、池化層和全連接層組成,通常卷積層消耗的算力最多。針對這一特性,文獻[13]提出DeepThings,利用FTP(Fused Tile Partition)劃分方案在空間上將卷積層劃分成多個分區(qū)任務,并分配給不同的移動邊緣設備。文獻[14]提出一種尋找最優(yōu)網絡層的劃分方式和設備分區(qū)配置機制。在良好的網絡環(huán)境下,文獻[13-14]研究有效提高了DNN 推理速度,然而DNN 卷積層劃分之后,相鄰分區(qū)之間存在重疊數據,將導致設備間高頻的重疊數據交互,當通信帶寬降低時,DNN推理時延顯著增加。
本文通過在Intel Mini PC CPU 1.9 GHz 上執(zhí)行VGG19 模型[15]來展示DNN 模型的計算和通信特征。圖1 給出了VGG19 各層的輸出數據內存大小和計算時延,其中,input 表示輸入層、conv 表示卷積層、fc 表示全連接層、pool 表示池化層。從圖1 中可知:1)VGG19 各層有顯著不同的輸出數據內存大小,卷積層增加數據,池化層減少數據,池化層的計算時延較小,卷積層和全連接層的計算時延較高;2)每一層的計算時延和輸出數據內存大小不成正比關系,計算時延大的層不一定有較大的輸出值?;谝陨辖Y論,將DNN 模型劃分成兩部分,計算量小、傳輸時延大的前幾層放在邊緣設備端處理,計算量大、傳輸時延小的后幾層放在云端處理。該方法充分利用邊緣設備和云服務器的資源,不同層級的計算設備承擔不同算力需求的任務,有效權衡了移動邊緣設備和云服務器的計算量和通信量。針對基于云邊協同的DNN 分布式推理,文獻[5]提出Neurosurgeon,從最小化時延和能耗的角度出發(fā),基于回歸模型估算DNN 模型每一層執(zhí)行時延,結合當前網絡帶寬返回邊緣設備和云服務器間DNN 推理計算的最優(yōu)劃分點,以此達到時延或能耗最優(yōu)。文獻[6]利用邊緣設備和云服務器的可用資源,為給定應用程序提供有效的模型部署方案。
圖1 VGG19 每層輸出數據內存大小及計算時延Fig.1 Memory size of output data and computation delay of each layer in VGG19
雖然目前已有基于云邊協同的DNN 分布式推理研究,但是這些研究存在以下不足:
1)對于邊緣設備與云服務器間DNN 推理計算的劃分,網絡傳輸速率、邊緣設備資源以及云服務器負載等變化都會直接影響到DNN 推理計算的最佳劃分。以VGG19 為例,圖2~圖4 分別給出了DPTO 算法在不同網絡傳輸速率、邊緣設備和云服務器負載下,以每層作為劃分點的端到端推理時延以及當前環(huán)境下最佳劃分點的選取,其中:第一列input 表示以輸入層作為劃分點,將DNN 推理計算全部卸載到云服務器執(zhí)行;最后一列fc3 表示以輸出層作為劃分點,將DNN 推理計算全部放在邊緣設備上執(zhí)行;其他列表示以該層作為劃分點,輸入層到該層的推理計算放在邊緣設備執(zhí)行,剩余網絡層的推理計算放在云服務器執(zhí)行;箭頭表示當前環(huán)境下的最佳劃分策略。
圖2 VGG19 在不同網絡傳輸速率下以每層作為劃分點的端到端推理時延Fig.2 End-to-end inference delay of VGG19 at different partition points under different network transmission rates
圖3 VGG19 在不同邊緣設備下以每層作為劃分點的端到端推理時延Fig.3 End-to-end inference delay of VGG19 at different partition points under different edge devices
圖4 VGG19 在不同云服務器負載下以每層作為劃分點的端到端推理時延Fig.4 End-to-end inference delay of VGG19 at different partition points under different cloud server loads
2)已有基于云邊協同的DNN 模型推理僅考慮了單個邊緣設備與云服務器的協作,在實際場景中通常有多個異構邊緣設備,當把所有任務全部卸載到單個邊緣設備時,會使該邊緣設備超出承載范圍,造成較大的響應延遲以及其他邊緣設備計算資源的浪費。因此,在多個異構邊緣設備上進行任務卸載,實現邊緣集群內部的協作以此提高計算性能是一個亟待解決的問題。
異構邊緣集群中共有m臺邊緣設備,DNN 模型含有n層,在異構邊緣集群上進行DNN 推理計算劃分和任務卸載的所有情況為m×(n+1)。求解空間隨著DNN 模型層數和邊緣設備數量的增加而增大。傳統(tǒng)解決方法包括遺傳學算法、啟發(fā)式算法、迭代搜索算法等,這些算法在解決此類問題時取得了一定成果。為了得到最優(yōu)解,這些算法的設計需要專家知識的輔助,這會導致算法缺乏靈活性、不穩(wěn)定、效果提升不明顯。隨著深度學習技術的發(fā)展,DRL[16-17]將深度學習與強化學習[18]相結合作為一種人工智能算法,被廣泛應用于組合優(yōu)化、多方博弈等各種復雜決策求解問題,具有重要研究價值。DRL的主要思想是在一個交互環(huán)境中利用創(chuàng)建的智能體(agent)不斷與環(huán)境互動,通過環(huán)境反饋的獎勵或懲罰信息,逐步逼近最優(yōu)結果。相比于傳統(tǒng)算法,DRL具有以下優(yōu)勢:1)與許多一次性優(yōu)化方法相比,深度強化學習可以隨環(huán)境變化調整策略,更好地適應復雜環(huán)境的變化;2)DRL 在學習過程中不需要了解網絡狀態(tài)隨時間變化規(guī)律的相關先驗知識。DRL 通過不斷與環(huán)境進行交互,能夠學習不同狀態(tài)下應該采取的最優(yōu)策略?;谝陨咸攸c,深度強化學習是解決復雜環(huán)境下決策問題的有效方法[19-20]。為此,本文提出基于DRL 的自適應DNN 推理計算劃分和任務卸載算法,對于不同的推理任務,該算法能有效降低推理任務執(zhí)行總時延。
基于深度強化學習的云邊協同DNN 推理框架如圖5 所示。該框架由3 個部分組成:1)時間預估模型,基于當前邊緣設備和云服務器資源,在不同邊緣設備和云服務器上建立不同類型DNN 層的時間預估模型;2)DNN 推理計算劃分和任務卸載,結合當前網絡傳輸速率、邊緣設備資源和云服務器負載,通過DPTO 算法選擇DNN 推理計算劃分和任務卸載的最佳策略;3)DNN 分布式推理,根據DNN 推理計算劃分和任務卸載策略,將劃分點之前的DNN 推理計算卸載到相應的邊緣設備上執(zhí)行,劃分點之后的DNN 推理計算卸載到云服務器執(zhí)行。
圖5 基于深度強化學習的云邊協同DNN 推理框架Fig.5 Framework of cloud-edge collaborative DNN inference based on deep reinforcement learning
在DNN 推理計算過程中,主要計算集中于卷積層和全連接層。卷積層與全連接層的計算時間與每秒浮點運算次數(Floating Point Operations,FLOPs)具有相關性,通過計算FLOPs 可以預估卷積層和全連接層的計算時間,為DNN 推理計算劃分和任務卸載提供決策依據。文獻[21]介紹了卷積層和全連接層的FLOPs 計算公式,如式(1)和式(2)所示:
其中:H和W表示輸入特征圖的高和寬;Cin和Cout表示卷積計算的輸入和輸出通道數;K表示卷積核的大?。籌、O表示全連接層的輸入和輸出維數。
假設FLOPs 與計算時間的預估模型計算公式如式(3)~式(5)所示:
其中:x表示FLOPs;k表示設備計算能力;y表示計算時間;b表示卷積層或全連接層計算的固有時間開銷。通過設置不同的輸入特征圖(H×W)、輸入輸出通道數(Cin,Cout)以及輸入和輸出維數(I,O)在邊緣設備上分別做卷積和全連接運算,求得FLOPs 和平均計算時間。記錄多組FLOPs 與計算時間的值,使用最小二乘法求得預估模型。
DNN 模型含有n層,將DNN 推理計算在邊緣設備和云服務器上進行劃分,所有可選劃分策略p={0,1,…,n},其中p=n和p=0 為特殊的分區(qū)點,p=n表示DNN 推理計算全部放在邊緣設備上處理,p=0 表示DNN 推理計算全部上傳到云服務器處理。0<p<n表示輸入層到第p層在邊緣設備上執(zhí)行,剩余的網絡層傳輸到云服務器執(zhí)行,網絡層第p層的輸出數據大小為Dp。當采用云邊協同方式執(zhí)行DNN 推理時,單個圖片的推理時延主要由以下3 個部分組成:1)邊緣設備上的執(zhí)行時延Td;2)中間輸出數據上傳到云服務器的傳輸時間Tt;3)云服務器上的執(zhí)行時延Tc。由于推理結果往往很小,其返回的傳輸延遲通常忽略不計。
基于式(6)得到的預估模型預測各層在邊緣設備和云服務器上執(zhí)行所需時間,每一張圖片的推理時延可以表示如下:
其中:表示第j層在移動設備上執(zhí)行所需的時間;Dp表示第p層的輸出數據大??;B表示網絡傳輸速率;表示第j層在云服務器上的執(zhí)行時間。任務T中含有k張圖片,則處理該任務所需的總時延如下:
其中:C1、C2、C3為優(yōu)化目標的約束條件。在約束條件C1和C2中,M和C分別表示邊緣設備的內存和CPU 資源,t表示正在執(zhí)行的任務數,只有當所有任務所需的內存和CPU 資源總和少于邊緣設備的總資源時,該邊緣設備才可處理新的任務。約束條件C3表示所選邊緣設備和DNN 推理計算劃分點的策略在所有可選策略中。
為利用DRL 方法來尋找最優(yōu)解,需要把問題轉化為強化學習的基本要素。首先將問題建模為馬爾可夫決策過程(Markov Decision Process,MDP),MDP 可以表示為一個四元組{S,A,P,R},其中,S表示環(huán)境中的狀態(tài)空間,A表示動作空間,P表示狀態(tài)轉移函數,P(s'|s,a)表示在狀態(tài)s上執(zhí)行動作a之后轉變?yōu)闋顟B(tài)s'的概率,R為獎勵值函數。
1)狀態(tài)空間:S={s|s=(B,EED,CCS,D)},其中,B表示當前網絡傳輸速率為具有m個元素的序列,表示當前m個邊緣設備中各設備的計算資源,CCS表示云服務器的計算資源,D=(Dinput,D1,D2,…,Dn)表示原始輸入數據以及DNN 模型各層的輸出數據大小。
2)動作空間:由所有可選的決策方案組成。對于DNN 推理計算劃分和任務卸載而言,動作就是在邊緣設備和云服務器間選擇DNN 推理計算劃分點以及執(zhí)行該部分任務的邊緣設備?;诋斍盃顟B(tài),DNN 模型有n+1 個推理計算劃分點,邊緣集群中有m個邊緣設備。動作空間,其中,{P0,P1,…,Pn}表示DNN 推 理計算劃分點的集合,表示當前所有可用的邊緣設備。
3)獎勵值:環(huán)境會根據智能體執(zhí)行的動作反饋相應的獎勵值。獎勵值越大,表示選擇的動作越好。以任務推理時延為優(yōu)化目標,設置任務執(zhí)行響應時延的負值作為獎勵值。
其中:r表示獎勵值大小。
Q-Learning(QL)是無監(jiān)督的自適應學習算法,從與環(huán)境的交互作用中學習知識,適用于求解馬爾可夫決策問題。在Q-Learning 算法中使用二維矩陣存儲每一個狀態(tài)下所有動作的Q 值,即狀態(tài)-動作值函數Q(s,a)。當狀態(tài)空間和動作空間較大時,受計算機內存限制,會導致Q 表爆炸[22]。本文提出基于深度Q 網絡(Deep Q-Network,DQN)[23]的任務卸載和DNN 推理計算劃分算法,DQN 算法是DRL 中的一種具體算法,使用神經網絡替換Q 表,將Q 表更新轉化為函數擬合問題。如圖6 所示,DQN 由兩個結構相同但參數不同的神經網絡構成,在DQN 算法的訓練過程中,Main 網絡用來計算當前狀態(tài)動作對的估計價值Q(s,a,w),w表示Main 網絡的參數,Target網絡用于計算下一狀態(tài)s'在所有動作下的Q(s',a',w'),并選取最大值所對應的動作。根據所選動作a'計算目標價值函數,如式(11)所示:
圖6 基于DQN 的自適應DNN 推理計算劃分和任務卸載框架Fig.6 Framework of adaptive DNN inference computation partition and task offloading based on DQN
其中:r表示獎勵值;γ表示折扣因子。在神經網絡的參數更新過程中,Main 網絡使用最新參數,在每次計算當前狀態(tài)的估計價值后都會更新其參數。在每隔δ步驟之后,復制Main 網絡的參數到Target 網絡以更新Target 網絡。
由于強化學習的動作選擇是一個連續(xù)的過程,因此前后數據關聯性很大,而神經網絡的訓練通常要求數據樣本是靜態(tài)獨立分布。在DQN 算法中,除了構建兩個神經網絡降低狀態(tài)間的相關性外,還使用經驗回放方法解決相關性及非靜態(tài)分布問題,具體做法為:對于狀態(tài)s,用ε-greedy[24]策略選取動作a,與環(huán)境交互后生成一個樣本(s,a,r,s'),將其儲存在經驗池中。當經驗池中的元組數目達到一定值(例如數量N)時,隨機選擇經驗樣本組成Mini-batch來訓練DQN。當經驗池容量大于N時,則會刪除最老的經驗樣本,僅保留最后的N個經驗樣本。
DQN 算法訓練的本質是使得當前Q 值無限接近于目標Q 值,最終達到收斂狀態(tài)。損失函數定義如式(12)所示:
在得到損失函數后,通過損失的反向傳播機制調整神經網絡參數w,同時Main 網絡會利用Adam優(yōu)化器來不斷地降低神經網絡的損失函數,提高神經網絡精度。
DPTO 算法用來解決異構邊緣集群下的任務卸載以及邊緣設備與云服務器之間的DNN 推理計算劃分問題。DPTO 首先實時獲取各狀態(tài)特征值,agent 根據當前狀態(tài)輸出任務卸載和DNN 推理計算劃分策略。DPTO 算法的偽代碼如算法1 所示。
算法1DPTO 算法
輸入當前網絡傳輸速率B,當前各邊緣設備和云服務器資源,原始輸入數據以及DNN模型各層輸出數據大小D={Dinput,D1,D2,…,Dn},推理任務T
輸出DNN 推理計算劃分和任務卸載策略
1.初始化DQN 模型;
2.初始化實驗參數;
3.for episode in T do:
4.for each task do:
5.獲取DNN 推理計算劃分點和可用邊緣設備集合Ω;
6.設置各特征值得到狀態(tài)s 并傳輸給agent;
7.使用DQN 方法在Ω 中選擇DNN 推理計算劃分點和執(zhí)行該任務的邊緣設備;
8.if DNN 推理計算劃分點為n、邊緣設備計算節(jié)點為設備m then
9.任務僅在邊緣設備m 上執(zhí)行;
10.計算任務執(zhí)行時延;
11.end
12.else if DNN 推理計算劃分點為0 then
13.任務卸載到云服務器上執(zhí)行;
14.計算任務執(zhí)行時延;
15.end
16.else
17.DNN 推理計算劃分到邊緣設備和云服務器上共同處理;
18.根據式(7)和式(8)計算任務執(zhí)行時延;
19.end else
20.根據式(9)計算獎勵值;
21.更新DPTO 算法的最優(yōu)策略;
22.end for
23.返回到步驟3;
24.end for
DPTO 算法的空間復雜度為:2d(S)+O(l)+H+E+L,其中:d(S)為神經網絡參數的維度,存儲兩個參數相同的神經網絡內存空間為2d(S);O(l)為其他參數所占的內存空間,例如學習速率、折扣因子等;H為存儲所有可選動作的內存空間;E為經驗池所占內存空間;L為從經驗池中采樣的數據樣本數目的內存空間。
DPTO 算法前向推理的計算復雜度計算如下:在DPTO 算法中輸入層的神經元個數為所有狀態(tài)的集合s,網絡的第1 個隱藏層和第2 個隱藏層的節(jié)點個數分別設為k1和k2,輸出層的神經元個數為所有可選動作的集合m×n,則輸入層到第1 個隱藏層的矩陣運算為[k1×s]×[s×1],計算復雜度為O(k1×s2)。以此類推,第1 個隱藏層到第2 個隱藏層的計算復雜度為O(k2×),第2 個隱藏層到輸出層的計算復雜度為O(m×n×)。對于T個任務,DPTO 算法的總計算復雜度為O(T(k1×s2+k2×+m×n×))。
為測試DPTO 算法的可行性和有效性,本節(jié)搭建仿真實驗環(huán)境,通過對比實驗衡量DPTO 算法中基于深度強化學習的DNN 推理計算劃分和任務卸載在時延方面的優(yōu)化效果。
實驗使用阿里云服務器提供云計算支持,以Intel Mini PC CPU 900 MHz、Intel Mini PC CPU 2.4 GHz、樹莓派3B+(1.2 GHz ARM Cortex-A53 處理器,1 GB 內存)模擬異構邊緣設備。邊緣設備和云服務器都加載已訓練好的DNN 模型,邊緣設備與云服務器的通信采用TCP/IP 協議,Wondershaper 設置邊緣節(jié)點網絡傳輸速率。DNN 模型推理采用PyTorch1.3 框架,Python3.7.4 編程語言。在DPTO 算法中設置學習速率為0.01,折扣因子為0.9,訓練批次大小為32,經驗池大小為500。DPTO 算法收斂結果如圖7 所示。
圖7 DPTO 算法收斂結果Fig.7 Convergence result of DPTO algorithm
通過在不同環(huán)境下執(zhí)行VGG19[15]、AlexNet[25]、YOLOv2[26]3 種DNN 模型,對比以下3 種經典DNN推理算法來衡量基于深度強化學習的DNN 推理計算劃分(DNN Computation Partition Based on Deep Reinforcement Learning,DP)算法對DNN 推理時延的優(yōu)化效果:
1)純云計算(EC):DNN 推理計算全部卸載到云服務器執(zhí)行,云服務器將推理結果返回給移動設備。
2)純邊緣計算(EM):DNN 推理計算全部放在邊緣設備上執(zhí)行。
3)離線劃分(OF):通過在離線階段多次測量所有DNN 推理計算劃分點的執(zhí)行時延,選擇具有最小平均時延的劃分點作為云邊協同的DNN 推理計算劃分點。
4.2.1 不同網絡傳輸速率下DNN 推理時延評估
圖8 給出了EC、EM、OF、DP 4 種DNN 推理算法在不同網絡傳輸速率下處理單一圖片推理所消耗的時間。對于VGG19、AlexNet、YOLOv2 3 種不同類型的DNN 模型,DP 明顯優(yōu)于EC、EM、OF。與EC 相比,DP 的DNN 推理時延減少了約23.45%~60.32%。在EC 中,所有數據需上傳到云服務器,當網絡傳輸速率過低時,其傳輸時延過大,導致整個DNN 推理時延增大。與EM 相比,DP 的DNN 推理時延減少了約31.86%~62.77%,這是由于邊緣設備資源有限,DNN 推理計算都在邊緣執(zhí)行,響應時延較大。與OF相比,DP 的模型推理時延減少了約0.29%~22.87%,因為在不同網絡傳輸速率下,DNN 推理計算的最佳劃分點不同。在OF 中,固定的DNN 推理計算劃分點不一定是當前環(huán)境下的最佳劃分點。當傳輸速率較高時,DP 的推理時延接近于EC,其選擇將整個DNN 推理計算全部上傳到云服務器執(zhí)行。在傳輸速率較低時,云邊協同DP 通過結合當前環(huán)境選擇最佳DNN 推理計算劃分點,以使DNN 推理時延最小化。
圖8 不同網絡傳輸速率下4 種算法的DNN 推理時延Fig.8 DNN inference delay for four algorithms under different network transmission rates
4.2.2 不同邊緣設備下DNN 推理時延評估
VGG19、AlexNet、YOLOv2 3 種DNN 模型在不同推理算法和邊緣設備(高性能邊緣設備Intel Mini PC CPU 900 MHz 和低性能邊緣設備Intel Mini PC CPU 2.4 GHz)下的推理時延如圖9 所示。DP 的DNN推理時間相比于EM 減少了約18.35%~39.36%,相比于EC 減少了約46.48%~61.35%。當邊緣設備計算能力較強時,DP 的推理時延接近于EM,其選擇將整個DNN 推理計算全部放在邊緣設備上執(zhí)行,避免數據傳輸帶來較大的響應延遲。當邊緣設備計算能力較弱時,DP 在邊緣設備和云服務器之間自適應分配DNN推理計算或將整個DNN 推理計算全部上傳到云服務器執(zhí)行。由于DP 能在動態(tài)環(huán)境下做出最優(yōu)決策,DNN 推理時間相比于OF減少了約6.22%~10.29%。
圖9 不同邊緣設備下4 種算法的DNN 推理時延Fig.9 DNN inference delay for four algorithms under different edge devices
4.2.3 不同云服務器負載下DNN 推理時延評估
圖10 給出了4 種算法在不同云服務器負載下的DNN 推理時延。DP 的DNN 推理時延相比于EM 減少了約0.24%~55.39%,相比于EC 減少了約28.12%~48.88%。當云服務器負載相對較高時,DP 的DNN推理時延接近于EM,其選擇將整個DNN 推理計算全部放在邊緣設備上執(zhí)行,避免云服務器負載過高帶來巨大的響應延遲。當云服務器負載相對較低且網絡狀況良好時,DP 將DNN 推理計算全部上傳到云服務器執(zhí)行。在其他情況下,DP 將DNN 推理計算劃分成兩部分,分別在邊緣設備和云服務器上共同執(zhí)行。DP 的推理時延相比于OF 減少了約14.41%~27.12%,因為DP 能在動態(tài)環(huán)境下自適應選擇最佳DNN 推理計算劃分點。
圖10 不同云服務器負載下4 種算法的DNN 推理時延Fig.10 DNN inference delay of four algorithms under different cloud server loads
在4.2 節(jié)中驗證了基于深度強化學習的DNN 推理計算劃分對DNN 推理時延的優(yōu)化效果,根據不同任務的推理情況,其中任務1、任務2、任務3、任務4分別包含1、30、50、100 張不同圖片,對比以下3 種算法來評估DPTO 算法在DNN 推理時延上的進一步優(yōu)化效果:
1)DP:僅考慮DNN 推理計算的劃分,未考慮DNN推理任務在異構邊緣集群上的卸載優(yōu)化,其將所有任務分配給當前計算資源最多的邊緣設備處理。
2)輪詢(RR):將任務隨機分配給邊緣設備進行處理。
3)QL:具有良好學習效果的經典強化學習算法,基于Q 表選擇卸載策略。
圖11 給出了4 種不同任務在不同算法下的執(zhí)行時間。對于4 種不同的任務,DPTO 的任務執(zhí)行時間相比于DP 減少了48.08%,在DP 中把所有任務全部卸載到單個邊緣設備時,會導致該邊緣設備出現資源競爭問題,任務等待時間變長。而其他邊緣設備上的計算資源處于空閑狀態(tài),造成響應時延的增加和計算資源的浪費。與RR 相比,DPTO 的任務執(zhí)行時間減少了29.18%,由于RR 沒有考慮邊緣設備計算能力的差異性,邊緣設備之間的負載不平衡導致任務執(zhí)行產生較大時延。與QL 相比,DPTO 的任務執(zhí)行時間減少了3.99%,QL 基于Q 表選擇卸載策略,Q 表采用二維數組存儲每一狀態(tài)下的動作值函數,隨著任務和邊緣設備數量的增加,QL 中的狀態(tài)和動作數量增多,通過遍歷整個Q 表尋找最優(yōu)卸載策略的開銷時延增大,從而導致任務執(zhí)行時延也增大。綜上,不同的卸載策略對任務的執(zhí)行時延有著較大的影響。當只有一個任務時,邊緣設備的計算壓力較小,選擇最好的邊緣設備就能應對該任務。但隨著任務的不斷增加,根據任務的大小選擇合適的邊緣設備計算節(jié)點對時延的優(yōu)化具有重要的作用。
圖11 不同任務數量下4 種算法的執(zhí)行總時延Fig.11 Total execution delay of four algorithms under different number of tasks
目前,深度神經網絡發(fā)展迅速,廣泛應用于計算機視覺、自然語言處理和機器翻譯等智能任務。為了優(yōu)化DNN 推理性能,本文提出基于深度強化學習的云邊協同DNN 推理算法。將動態(tài)環(huán)境下邊緣設備和云服務器間DNN 推理計算劃分以及異構邊緣集群間任務卸載轉換為馬爾可夫決策過程下的最優(yōu)策略確定問題,利用深度強化學習方法在經驗池中學習異構動態(tài)環(huán)境下DNN 推理計算劃分和任務卸載最佳策略。實驗結果表明,對于不同的DNN 推理任務和DNN 模型,DPTO 算法在不同環(huán)境下相比于已有算法推理時延平均降低了約28.83%。下一步將對邊緣設備宕機和惡意攻擊等異常情況進行研究,提出高效的容錯解決方案,以保證云邊協同DNN 推理的可靠性和安全性。