吳 琪,盧健圳,伍沛然,王 帥,陳 立,夏明華?
(1.中山大學 電子與通信工程學院,廣東 廣州 510006;2.中山大學 電子與信息工程學院,廣東 廣州 510006;3.南方科技大學 電子與電氣工程系,廣東 深圳 518055)
隨著移動通信技術和互聯(lián)網(wǎng)應用的快速發(fā)展,智能終端及其產(chǎn)生的數(shù)據(jù)都經(jīng)歷著前所未有的爆發(fā)式增長。 美國思科公司的預測數(shù)據(jù)顯示,到 2020 年全球范圍內(nèi)的智能終端數(shù)量將達到 750 億臺[1];國際數(shù)據(jù)公司(Internation Data Corporation,IDC)的預測數(shù)據(jù)顯示, 到 2025 年全球數(shù)據(jù)量將達到 175 澤字節(jié)[2](ZB,1 ZB = 1021Byte)。 與此同時,人工智能(Artificial Intelligence,AI) 技術在經(jīng)歷60 余年的跨越之后正處于新一輪的發(fā)展浪潮。 越來越多的 AI 應用不斷改變著人們的工作和生活方式,智能家居、自動駕駛、智慧城市等新興應用也開始進行商業(yè)部署。 一方面,現(xiàn)象級的數(shù)據(jù)量為 AI 技術的發(fā)展帶來新的機遇;另一方面,為了實現(xiàn) AI,也需要龐大的通信資源和計算資源來支持海量數(shù)據(jù)的傳輸與處理。 常見的解決方案是將數(shù)據(jù)回傳到云端的高性能服務器進行處理,即云計算。 然而,基于云計算的集中處理方式在數(shù)據(jù)傳輸過程中不可避免地消耗大量的通信資源并引起較大的時間延遲;而且,物理上受限的通信資源 (例如帶寬) 將限制系統(tǒng)的可擴展性;最后,用戶數(shù)據(jù)在公用網(wǎng)絡中的傳輸也會帶來較高的數(shù)據(jù)安全及隱私泄露風險。
為了解決云計算存在的上述問題,近年來研究人員提出了基于邊緣計算的新型數(shù)據(jù)處理方式。 從原理上講,邊緣計算是指利用網(wǎng)絡邊緣的計算資源就近處理終端設備產(chǎn)生的數(shù)據(jù),從而降低從終端到云端的通信開銷和時間延遲。 為了進一步適應分布式大規(guī)模數(shù)據(jù)處理,將邊緣計算與機器學習相結(jié)合,產(chǎn)生了“邊緣學習”(edge learning)的思想[3-4]。 簡言之,邊緣學習是指一種將機器學習 (尤其是指深度學習) 部署在網(wǎng)絡邊緣形成的AI 實施架構(gòu)。 換句話說,在邊緣學習里,以前部署在云端的機器學習等算法下沉到網(wǎng)絡邊緣側(cè),更靠近用戶終端設備,從而將網(wǎng)絡架構(gòu)分為了“云端-邊緣端-用戶終端”三級架構(gòu)。 在實際系統(tǒng)中,邊緣端可以由部署在蜂窩基站等網(wǎng)絡接入點的邊緣服務器組成。 通過整合用戶終端、邊緣端和云端上的計算資源,邊緣學習能將深度神經(jīng)網(wǎng)絡(Deep Neural Network,DNN)等高級的機器學習算法靈活高效地部署在網(wǎng)絡的不同物理實體上,完成模型的訓練和應用。 相對地,將基于 DNN 等機器學習算法的云計算稱為“云學習”(cloud learning)。
云學習和邊緣學習之間的主要區(qū)別在于學習環(huán)境:在云學習中,海量數(shù)據(jù)被匯聚到單一的數(shù)據(jù)中心進行計算和分析;而邊緣學習執(zhí)行的是分布式數(shù)據(jù)處理,尤其強調(diào)將計算和處理能力從數(shù)據(jù)中心下沉到網(wǎng)絡邊緣,并利用智能實體(例如網(wǎng)關,執(zhí)行數(shù)據(jù)的計算和分析任務)。 通過在邊緣端提供內(nèi)容緩存、服務交付、存儲和終端管理等功能,可以顯著減輕網(wǎng)絡通信負荷并縮短網(wǎng)絡響應時間。 相對于云學習,邊緣學習的優(yōu)勢主要體現(xiàn)在傳輸時延、安全與隱私性、系統(tǒng)的可擴展性和通信開銷等4 個方面。
(1) 傳輸時延
一般來說,處理數(shù)據(jù)花費的時間越長,數(shù)據(jù)與待執(zhí)行任務之間的相關性就越差。 例如,對于自動駕駛來說,時延至關重要,可能短短幾秒之后汽車收集到的有關道路和鄰近車輛的大多數(shù)數(shù)據(jù)就已經(jīng)變得毫無用處。 因此,許多時延敏感場景并不允許在終端設備和云之間來回傳輸數(shù)據(jù)。 而邊緣學習則能夠在靠近數(shù)據(jù)產(chǎn)生的位置進行數(shù)據(jù)處理,從而縮短響應時間,使數(shù)據(jù)更加有用和可操作,數(shù)據(jù)處理結(jié)果與待執(zhí)行任務更加相關。
(2) 安全與隱私
當用戶終端設備與云之間的數(shù)據(jù)傳輸不可避免時,依賴可操作數(shù)據(jù)的關鍵業(yè)務和運營流程將變得非常脆弱。 傳統(tǒng)的云學習架構(gòu)本質(zhì)上是集中式的,這導致用戶終端特別容易受到分布式拒絕服務(Distributed Denial of Service,DDoS)的攻擊以及斷電的影響。 相反,邊緣學習將處理、存儲和應用程序分布在廣泛的邊緣設備上,使得任何數(shù)據(jù)傳輸中斷都不至于讓整個網(wǎng)絡陷入癱瘓。 而且,由于更多數(shù)據(jù)在本地設備上進行處理避免了在公用網(wǎng)絡中傳輸,邊緣學習還可以減少處于安全與隱私暴露風險中的數(shù)據(jù)量。
(3) 可擴展性
在云學習的架構(gòu)中,一個龐大的數(shù)據(jù)中心不可或缺,但中心的建立和運營成本十分高昂。 而且,除了大量的前期建設成本和日常維護之外,數(shù)據(jù)中心還需要根據(jù)需求的變化不斷進行升級和擴展。 而邊緣學習提供了更靈活、更低成本的解決方案,可以將計算、存儲和分析功能盡可能部署到更低廉且更便于部署的邊緣設備中,同時這些設備位于更靠近用戶的位置。 從而,企業(yè)可以利用這些邊緣設備來靈活擴展企業(yè)內(nèi)部網(wǎng)絡系統(tǒng)的計算能力、覆蓋范圍和業(yè)務功能。
(4) 通信開銷
因為不同數(shù)據(jù)的內(nèi)容各不相同,它們蘊含的價值也不同,所以,將所有數(shù)據(jù)同等重要地傳輸?shù)皆贫诉M行處理顯然是低效的。 而邊緣學習則可以對數(shù)據(jù)進行分類處理,并且在邊緣位置保留盡可能多的數(shù)據(jù),從而降低通信開銷并節(jié)省傳輸數(shù)據(jù)所需的昂貴帶寬。 值得注意的是,邊緣學習并不是要消除對云的需求,而是要優(yōu)化傳輸?shù)臄?shù)據(jù)流以最小化通信開銷。
盡管邊緣學習能夠緩解云學習的數(shù)據(jù)傳輸和處理壓力,但在一個復雜網(wǎng)絡中實施邊緣學習也面臨諸多挑戰(zhàn)。 首先,如何靈活地整合、調(diào)配和使用分布式的計算資源是邊緣學習要解決的問題;其次,邊緣學習系統(tǒng)中也包含了大量數(shù)據(jù)傳輸?shù)倪^程,如何通過降低傳輸時延和提高通信質(zhì)量等方法優(yōu)化數(shù)據(jù)傳輸是高效實施邊緣計算的關鍵。 最后,系統(tǒng)的物理實現(xiàn)、隱私和安全也都面臨新的挑戰(zhàn),同時也帶來新的研究與發(fā)展機遇。
圖 1 是一個基于邊緣學習的網(wǎng)絡架構(gòu),它包含一個云數(shù)據(jù)中心、多個邊緣服務器和大量用戶終端。用于實現(xiàn)AI 的機器學習算法(例如深度學習)可以分布式地部署在云端、邊緣端以及用戶終端。 為了開發(fā)高效、安全的邊緣學習系統(tǒng),本節(jié)首先闡述分布式訓練策略和面向邊緣學習的數(shù)據(jù)傳輸方法,這2 項技術分別聚焦于提高計算和通信的有效性;然后,為了優(yōu)化系統(tǒng)的整體計算性能,還將討論計算和模型卸載技術。
圖1 基于邊緣學習的網(wǎng)絡架構(gòu)Fig.1 Edge learning based network architecture
為了訓練機器學習模型,傳統(tǒng)上采用集中式訓練方法并要求將訓練數(shù)據(jù)匯聚到云端的數(shù)據(jù)中心。在機器學習技術發(fā)展之初,基于強大的數(shù)據(jù)收集和處理能力,集中式模型訓練在眾多大型 AI 公司(例如 Google,Facebook,Amazon)得到廣泛應用。 但這種集中式訓練方法會涉及用戶數(shù)據(jù)的隱私問題。 例如,移動電話用戶的手機終端通常保存著用戶的隱私敏感數(shù)據(jù),為了在這種集中式訓練方法下獲得更好的機器學習模型,移動電話用戶不得不通過將存儲在手機中的個人數(shù)據(jù)發(fā)送到 AI 公司的云上來交易自己的隱私。 與集中式訓練不同,分布式訓練是在靠近用戶終端的多個邊緣設備之間進行的,這樣可以減少 AI 公司窺探用戶隱私和數(shù)據(jù)傳輸過程中的數(shù)據(jù)安全風險。
實現(xiàn)分布式訓練主要有 2 種模式:模型并行和數(shù)據(jù)并行。 在模型并行模式下,分布式系統(tǒng)中的不同設備負責某個復雜模型中不同部分的計算。 例如,可以將神經(jīng)網(wǎng)絡中的每一層運算分配給不同的設備,而在數(shù)據(jù)并行模式下,不同的設備擁有完整的學習模型,但每臺設備僅持有部分數(shù)據(jù)。 相對于模型并行化,數(shù)據(jù)并行化在實現(xiàn)難度和集群利用率方面都存在優(yōu)勢,因此數(shù)據(jù)并行化是多數(shù)分布式訓練的首選,也是本節(jié)討論的對象。
從網(wǎng)絡拓撲結(jié)構(gòu)上看,分布式訓練可以分為主從式結(jié)構(gòu)和非主從式結(jié)構(gòu)。 如圖 2 所示,主從式結(jié)構(gòu)可以實現(xiàn)終端設備與邊緣服務器之間的模型交互。 近年來,Google 公司提出的聯(lián)邦學習就是基于主從式結(jié)構(gòu)。 以移動電話用戶為例,手機每天都會產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)包含有關用戶及其個人偏好的高價值信息。 例如,他們訪問過哪些網(wǎng)站,使用過哪些社交媒體應用程序,以及經(jīng)常觀看哪些視頻類型等。 利用這些數(shù)據(jù),電信運營商可以構(gòu)建個性化的機器學習模型以提供個性化服務,從而改善用戶體驗。 與傳統(tǒng)的集中式訓練方法不同,聯(lián)邦學習允許用戶終端獨立構(gòu)建自己的機器學習模型并將模型更新參數(shù)(不包含用戶隱私信息的原始數(shù)據(jù))上傳給邊緣服務器;邊緣服務器利用收集到的多個用戶的不同模型更新參數(shù)來更新一個全局模型,這個過程被稱為“模型更新聚合”;最后,邊緣服務器將全局模型的更新參數(shù)分發(fā)給用戶終端。 顯然,聯(lián)邦學習既為 AI 開辟了全新的計算范式,又提供了一種用戶隱私保護機制。 由于用戶終端的計算資源變得越來越強大,尤其是隨著專用 AI 芯片組的出現(xiàn),AI 模型訓練正在從云和數(shù)據(jù)中心轉(zhuǎn)移到終端設備,運營商可以有效地利用終端設備內(nèi)部的分散計算資源來訓練機器學習模型。 考慮到全球有數(shù)十億的高性能移動終端設備,這些設備累積的計算資源遠遠超過了世界上最大的數(shù)據(jù)中心。 因此,基于主從式結(jié)構(gòu)的聯(lián)邦學習將會極大地推動AI 的發(fā)展與應用。
圖2 主從式結(jié)構(gòu)Fig.2 Master-slave structure
如圖 3 所示,非主從式結(jié)構(gòu)主要通過點對點交互本地模型更新參數(shù)來進行設備之間的模型更新,并最終收斂到一組統(tǒng)一的模型參數(shù)。 從網(wǎng)絡架構(gòu)上看,不同用戶終端利用自己的訓練數(shù)據(jù)進行本地模型參數(shù)更新,再將更新參數(shù)信息傳遞給鄰居節(jié)點,最終使得不同終端的機器學習模型收斂到一組共同的參數(shù)。 該結(jié)構(gòu)的優(yōu)點在于具有較低的通信開銷、可擴展性(甚至無需專門的邊緣服務器參與)和潛在的隱私保護解決方案,但是模型收斂速度較慢甚至可能收斂到次優(yōu)解。
圖3 非主從式結(jié)構(gòu)Fig.3 Distributed structure
為了提高分布式模型訓練的計算性能、降低通信負荷及提供更安全的數(shù)據(jù)保護,表 1 總結(jié)了主從式和非主從式模式的基本思路和對應的關鍵技術,包括聚合頻率、梯度壓縮、點對點通信和區(qū)塊鏈技術。
表1 分布式模型訓練Tab.1 Distributed model training
1.1.1 聚合頻率
在主從式網(wǎng)絡拓撲結(jié)構(gòu)下,一般采用分布式隨機梯度下降(Stochastic Gradient Descent,SGD)算法來更新本地或全局模型參數(shù),其不僅是訓練人工神經(jīng)網(wǎng)絡的標準算法,也是在現(xiàn)代數(shù)據(jù)分析平臺上廣泛實施的最流行的模型訓練優(yōu)化方法。 更具體地說,可將 SGD 分為同步和異步2 種方式。 同步 SGD 在優(yōu)化的每輪迭代中,會等待所有的終端設備完成梯度計算,然后邊緣服務器再對每個終端設備上計算的梯度信息進行匯總,待終端設備接收到全局模型的更新參數(shù)后,各個終端設備將同步更新其參數(shù)并進入下一輪迭代。 由于同步 SGD 要等待所有的終端設備完成梯度計算,因此同步 SGD 的計算速度會被運算效率最低的終端設備所拖累。 雖然同步 SGD 通常收斂較慢,但會收斂到更好的全局模型參數(shù)。 異步 SGD 在每輪迭代中,每個終端設備在計算出隨機梯度信息后直接將參數(shù)更新到邊緣服務器,不再等待所有的終端設備完成梯度計算。 因此,異步 SGD 的迭代速度較快。 然而,異步 SGD 雖然相較于同步 SGD 收斂更快,但是用以更新模型的梯度信息是有延遲,因此會對算法的精度帶來影響,即通常會收斂到次優(yōu)的全局模型參數(shù)。 設計分布式訓練算法的關鍵通常在于如何使同步 SGD 收斂更快,或者如何使異步 SGD 收斂到更好的全局模型參數(shù)[4]。
在主從式結(jié)構(gòu)中,模型聚合頻率(終端設備與邊緣服務器的通信頻率)至關重要。 文獻 [5] 提出一種用于分布式機器學習的延遲聚合梯度算法,其設計原則是對變化緩慢的梯度進行自適應重復利用,從而減少實現(xiàn)目標精度所需的通信回合。 文獻 [6] 提出一種基于通信約束下并行計算環(huán)境中深度學習隨機優(yōu)化的彈性平均算法。 該算法的基本思想是對于每個設備執(zhí)行更多的本地訓練計算并在同步更新之前允許偏離全局共享參數(shù),即設備與邊緣服務器以彈性方式實現(xiàn)通信,從而降低同步和異步 SGD 訓練方法的通信開銷。 文獻 [7] 提出一個稱為協(xié)作 SGD 的統(tǒng)一框架,該框架包含了現(xiàn)有具有有效通信的SGD 算法,例如彈性平均算法和基本分布式 SGD 算法。 通過分析協(xié)作 SGD,為現(xiàn)有算法提供了新穎的收斂保證。 此外,該框架能夠為設計新的實現(xiàn)有效通信的 SGD 算法提供思路,從而在減少通信開銷和實現(xiàn)快速收斂之間達到最佳平衡。
訓練數(shù)據(jù)的獨立同分布(Independent and Identically Distributed,IID)采樣對于確保隨機梯度是整體梯度的無偏估計是很重要的。 但實際上,假設每個邊緣設備上的本地數(shù)據(jù)始終為 IID 是不現(xiàn)實的。 針對這一問題,文獻 [8] 證實,可以通過創(chuàng)建一個在所有邊緣設備之間全局共享的數(shù)據(jù)子集來改善對非 IID 數(shù)據(jù)的訓練精度。 文獻 [9] 提出一種基于迭代模型平均的深度網(wǎng)絡聯(lián)合學習的 FedAvg 算法,核心思想是增加對設備端本地更新的次數(shù)。 通過對不同模型架構(gòu)和數(shù)據(jù)集的廣泛評估,實驗結(jié)果表明該方法對于非 IID 數(shù)據(jù)分布是穩(wěn)健的,且與同步 SGD 相比,通信開銷大大降低。 文獻 [10] 提出一個稱為 FedProx 的新框架,證明在非IID 環(huán)境中,相對于 FedAvg,FedProx 表現(xiàn)出更加穩(wěn)定和準確的收斂行為。
當客戶端受到嚴格的計算資源約束時,增加設備端本地更新次數(shù)是不切實際的。 針對上述問題,文獻 [11] 從理論角度分析分布式梯度下降的收斂邊界,并在此基礎上提出一種控制算法,該算法可以實現(xiàn)本地模型參數(shù)更新和全局參數(shù)聚合之間的最佳權衡,從而在給定資源預算下將損失函數(shù)最小化。文獻 [12] 提出一種名為 FedCS 的更新聚合協(xié)議,可以根據(jù)設備的資源狀況積極管理設備端,同時高效地執(zhí)行聯(lián)邦學習。 協(xié)議的具體操作步驟為:首先,邊緣服務器要求隨機終端設備參與系統(tǒng)當前的訓練任務,收到請求的終端設備將資源信息反饋給邊緣服務器;然后,待邊緣服務器收到所選設備反饋的資源信息后,確定可以進行后續(xù)步驟的終端設備以在一定時間內(nèi)完成任務訓練。 該項協(xié)議允許邊緣服務器聚合盡可能多的終端設備的參數(shù),并加快機器學習模型的收斂。
1.1.2 梯度壓縮
除了降低模型聚合頻率之外,另一種減少通信開銷的方法是梯度壓縮。 在具體實施時,梯度壓縮包括梯度量化與稀疏化2 個步驟,其中,梯度量化是通過將梯度向量中的每個元素量化為有限位低精度來執(zhí)行梯度向量的有損壓縮,而梯度稀疏化則意味著只傳輸部分梯度矢量[3]。
關于梯度量化,文獻 [13] 提出一種基于 SGD 的梯度壓縮方案:量化 SGD(Quantized SGD,QSGD)。 QSGD 平滑地權衡通信帶寬和收斂時間,設備可以調(diào)整每次迭代發(fā)送的位數(shù),從而實現(xiàn)最優(yōu)的通信開銷。 文獻 [14] 提出TerGrad 的量化方法,將梯度量化為三元級 {-1,0,1} 以達到用低精度梯度代替參數(shù)信息進行同步的目的,從而減少通信開銷。為了消除量化誤差,文獻 [15] 提出另一種新穎的自適應量化方法,其基本思想是僅對梯度信息的有限位進行量化。
關于梯度稀疏化,文獻 [16] 提出了一種稱為邊緣隨機梯度下降(edge SGD,eSGD)的新方法,可以將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)訓練模型所需的梯度信息壓縮為原來的 90%,而不會降低收斂速度。 eSGD 包括2 種機制:首先,eSGD 確定哪些梯度坐標重要,并且僅將重要的梯度坐標傳輸?shù)竭吘壏掌鬟M行同步;此重要更新可以大大降低通信開銷。 其次,動量殘差累積用于跟蹤過時的殘差梯度坐標,以避免稀疏更新導致的低收斂速度。 通過上述操作,eSGD 可以改善邊緣學習過程中基于隨機目標函數(shù)的一階梯度優(yōu)化,仿真結(jié)果證明 eSGD 是一種具有收斂性和實際性能保證的稀疏方案。 隨著邊緣計算設備數(shù)量的增加,通信開銷會進一步提高,針對這一問題,文獻 [17] 提出了一種稀疏二進制壓縮(Sparse Binary Compression,SBC)框架。 SBC 將通信延遲和梯度稀疏化的現(xiàn)有技術與新穎的二值化方法和最佳權重更新編碼相結(jié)合,將壓縮增益推向新的極限,以允許平滑地權衡梯度稀疏度和時間稀疏度來適應學習任務的要求,從而大幅降低分布式訓練的通信開銷。 文獻[18]提出一種隨機刪除的思想,通過隨機刪除隨機梯度向量的坐標,并適當放大其余坐標,以確保稀疏的梯度無偏。 該思想可以最小化隨機梯度的編碼長度,從而降低通信開銷。 為了有效解決最優(yōu)稀疏性問題,他們還提出幾種簡單快速的近似解算法,并為稀疏性提供了理論上的保證。 文獻 [19] 提出一種適用于異步分布式訓練的雙向梯度稀疏化方法,通過壓縮交換信息的方式來克服通信瓶頸。 該方法允許終端設備從邊緣服務器下載全局模型和本地模型的差異(而不是全局模型),并且將模型差異信息稀疏化,從而減少交換信息的通信開銷。
1.1.3 點對點通信
到目前為止,本文考慮的是基于多個終端設備與邊緣服務器進行通信的主從式結(jié)構(gòu)場景,邊緣服務器的存在有助于確保所有設備都收斂于相同的模型參數(shù),但同時通信瓶頸的問題也更為嚴重,特別是邊緣服務器的帶寬直接影響數(shù)據(jù)傳輸?shù)哪芰Α?為了克服這個問題,通過將邊緣服務器移除,構(gòu)成了在終端設備間交互信息的非主從式結(jié)構(gòu),即通過點對點交互信息來使得不同終端設備收斂到相同的模型參數(shù)。
文獻 [20] 提出讓終端設備異步訓練并以對等方式通過網(wǎng)絡進行通信,而無需任何邊緣服務器來維護系統(tǒng)的全局狀態(tài)。 文獻 [21] 提出一種分布式學習算法,在該算法中,終端設備通過匯總來自單跳鄰居的信息來更新其參數(shù)信息,從而學習一種最適合整個網(wǎng)絡的模型。 文獻 [22] 提出如圖 4 所示的 Gossip 算法,其中,每個終端設備基于其訓練數(shù)據(jù)計算自身的梯度更新,然后將其更新結(jié)果隨機傳遞給相鄰設備。 文獻 [23] 進一步發(fā)現(xiàn) Gossip 算法的平均時間取決于表征該算法的雙隨機矩陣的第二大特征值,于是利用問題結(jié)構(gòu)設計出 Gossip 聚合算法,使得收斂更快。 文獻 [24] 將 Gossip 聚合算法與 SGD 相結(jié)合,提出 Gossip SGD(GoSGD)算法并應用于深度學習中。 該算法中每個獨立的終端設備處有一個相同的 DNN 模型,并交替進行梯度更新和混合更新2 個步驟。 考慮到分布式 SGD 的同步方法雖然在大規(guī)模場景方面能表現(xiàn)出最大性能,但梯度更新需要同步所有終端設備,這在邊緣服務器出現(xiàn)故障或滯后時無法適應。 文獻 [25] 提出一種 Gossiping SGD 異步算法,該算法用 Gossip 聚合算法代替同步訓練中的 all-reduce 操作,以保留同步 SGD 和異步 SGD 方法的有利特性。 進一步,文獻 [26] 將彈性平均算法和 Gossip 算法相結(jié)合,提出彈性 Gossip 算法。 通過使用跨多層感知器和CNN 結(jié)構(gòu)對 MNIST 和 CIFAR-10 數(shù)據(jù)集執(zhí)行分類任務,結(jié)果表明彈性 Gossip 算法與 Gossiping SGD 算法性能相當,但是通信開銷大大降低。 文獻 [27] 介紹另外一種基于 SGD 的 GossipGraD 算法,用于在大規(guī)模系統(tǒng)上擴展深度學習算法。 該算法可以在 SGD 的前饋階段進行異步分布樣本的混洗以防止過度擬合且能進一步降低通信開銷。 文獻 [28] 開發(fā)一種在網(wǎng)絡計算中交換和處理神經(jīng)網(wǎng)絡參數(shù)信息的分布式系統(tǒng),該系統(tǒng)把設備分為不同的組,并對每個組內(nèi)的設備通過傳統(tǒng) Gossip 算法來更新模型參數(shù)。 然后,在組間通過增加聚合節(jié)點以使用聯(lián)邦學習來共享參數(shù),從而實現(xiàn)全局更新。
圖4 Gossip 算法示意圖Fig.4 Principle of Gossip algorithm
1.1.4 區(qū)塊鏈技術
傳統(tǒng)的主從式結(jié)構(gòu)假設使用受信任的邊緣服務器,學習系統(tǒng)的成功在很大程度上取決于邊緣服務器的安全性,但其安全性容易受到攻擊,甚至可能其本身就是惡意的。 區(qū)塊鏈技術是通過去中心化和去信任的方式,利用塊鏈式數(shù)據(jù)結(jié)構(gòu)來驗證與存儲數(shù)據(jù),利用密碼學的方式保證數(shù)據(jù)傳輸和訪問安全的一個集體維護可靠數(shù)據(jù)庫的技術方案。 因此將機器學習與區(qū)塊鏈技術相結(jié)合,可以更好地保護數(shù)據(jù)的隱私與安全。
文獻 [29] 描述了一種分布式個人數(shù)據(jù)管理系統(tǒng),該系統(tǒng)可確保用戶擁有并控制數(shù)據(jù)。 具體來說,是通過實現(xiàn)一個協(xié)議,將區(qū)塊鏈轉(zhuǎn)變?yōu)椴恍枰谌叫湃蔚淖詣釉L問控制管理器。 文獻 [30] 描述了一個新框架 ModelChain,以將區(qū)塊鏈技術應用于隱私保護機器學習中。 每個參與設備都在不泄露任何私人信息的情況下為模型參數(shù)估計做出貢獻。 文獻 [31] 提出一種去中心化的隱私保護和安全機器學習系統(tǒng),稱為 LearningChain,不僅可以保護數(shù)據(jù)持有者的隱私,還能保證系統(tǒng)對惡意用戶攻擊(即拜占庭式攻擊)的彈性。 具體來說,該系統(tǒng)包括區(qū)塊鏈初始化、局部梯度計算和全局梯度聚集。網(wǎng)絡初始化后,數(shù)據(jù)持有者根據(jù)公共損失函數(shù)和當前預測模型計算局部梯度。 然后,它們向網(wǎng)絡中的所有計算節(jié)點廣播局部梯度,該梯度受為一般學習模型設計的差分隱私方案所保護。 一旦計算節(jié)點達成共識,區(qū)塊的權限持有者將使用一個高效容忍拜占庭式攻擊的聚合方案來聚合局部梯度。 經(jīng)過若干次迭代后,網(wǎng)絡中的參與者可以在不暴露自己數(shù)據(jù)的情況下協(xié)作地訓練一個學習模型。 為了更充分地解決數(shù)據(jù)的隱私和安全問題,文獻 [32] 提出一種差分隱私 SGD 算法和一種基于誤差的聚合規(guī)則,可以更有效地防止敵對終端設備試圖降低模型準確性的攻擊。
在傳統(tǒng)“云學習”場景中,移動設備與網(wǎng)絡接入點 (Access Point,AP) 的通信信道被看做一條簡單的數(shù)據(jù) “管道”。 這是因為以云為中心的架構(gòu)下,系統(tǒng)時延主要在核心網(wǎng)和大規(guī)模的云中心產(chǎn)生,系統(tǒng)設計也主要關注在后端的有線網(wǎng)絡部分。 與此不同的是,邊緣學習以邊緣端作為系統(tǒng)架構(gòu)的中心,大量終端與邊緣端之間的數(shù)據(jù)和信令交互依托的是無線通信網(wǎng)絡 (例如 WiFi、藍牙、LTE 等)。 此時,無線網(wǎng)絡的復雜性就成為限制系統(tǒng)性能的主要瓶頸。 與有線網(wǎng)絡相比,無線通信網(wǎng)絡需要面對更復雜的問題,主要包括:
① 信號在傳輸過程中會經(jīng)歷復雜的衰減、反射和折射等物理過程,由此造成信道的時變性、多徑衰落和碼間串擾等問題,因此需要信道估計和均衡等技術來實現(xiàn)更可靠的傳輸。
② 多個無線終端在同一空中接口下利用相同或相近的時間、頻率和空間等系統(tǒng)資源進行相互通信,容易引起信號間的相互干擾,甚至造成在接收端不能正確恢復發(fā)送信號。 因此,多址訪問和干擾管理等技術是抑制無線信號間相互干擾的必要手段。
③ 為充分利用寶貴的頻譜資源,必須對無線終端進行嚴格的頻率資源復用、分配和調(diào)度,以最大化系統(tǒng)的頻譜效率,同時權衡系統(tǒng)的吞吐量和終端之間的公平性。
在移動通信、物聯(lián)網(wǎng)等無線應用的邊緣學習場景中,必須針對上述無線通信系統(tǒng)的復雜性,相應地設計面向邊緣學習的多址訪問、資源分配和編碼等無線通信技術和策略。 事實上,通過對邊緣學習系統(tǒng)中的無線通信子系統(tǒng)進行優(yōu)化,能夠顯著降低終端與不同 AP 之間的通信時延,提高傳輸?shù)目煽啃浴?/p>
另一方面,無線通信系統(tǒng)設計的首要目標是提高系統(tǒng)的可靠性和傳輸速率,但在邊緣學習的場景中,實現(xiàn)快速的模型收斂才是最終目標。 因此,以提高訓練速度為目的,結(jié)合機器學習的特點來設計無線通信系統(tǒng)可以更直接地提升系統(tǒng)整體性能[33-34]。同時,隨著無線通信技術的快速發(fā)展,新興的通信技術如多輸入多輸出 (Multiple-Input Multiple-Output,MIMO)、非正交多址和毫米波通信等技術也有望在未來應用于邊緣學習系統(tǒng)中。 因此,通信與計算的有機結(jié)合將是邊緣學習領域最重要的研究內(nèi)容之一。 表 2 總結(jié)了面向邊緣學習的通信子系統(tǒng)設計的3 個重要研究方向,以及其對應的基本思路和關鍵技術。
表2 面向邊緣學習的通信子系統(tǒng)設計Tab.2 Communication subsystem design for edge learning
1.2.1 空中計算
空中計算 (Over-the-Air Computation,Air-Comp) 是一種利用無線信道的疊加特性實現(xiàn)在空中接口直接計算目標函數(shù)的通信-計算一體化架構(gòu)[50]。 在傳統(tǒng)的多址通信系統(tǒng)中,為了避免傳輸節(jié)點間的相互干擾,每個節(jié)點都需要通過某種多址方式來實現(xiàn)在不同信道的同時傳輸,如時分多址和正交頻分多址 (Orthogonal Frequency Division Multiple Access,OFDMA) 等。 當通信系統(tǒng)容量受限時,系統(tǒng)的傳輸時延將隨著傳輸節(jié)點數(shù)的增加而顯著增加。事實上,當通信的目的僅僅是為了完成目標函數(shù)的計算時,將各點數(shù)據(jù)獨立傳輸、解析后再計算目標函數(shù)的傳統(tǒng)方法并不是最高效的。 與此相反,AirComp將空中信道作為一個天然的“聚合器”,通過它來自然疊加各節(jié)點的數(shù)據(jù);然后通過在發(fā)送節(jié)點的預處理 (pre-processing) 和在聚合節(jié)點的后處理(postprocessing)實現(xiàn)目標函數(shù)的計算。 因此,AirComp 能夠?qū)⒂嬎愫屯ㄐ庞袡C結(jié)合,也契合了上述聯(lián)邦學習的主從式拓撲結(jié)構(gòu)應用場景。 圖 5(a) 表示傳統(tǒng)的 OFDMA 傳輸,其中不同的線型表示相互正交的頻率信道。 圖5(b)表示AirComp 架構(gòu)示意圖,與OFDMA 相比,在 AirComp 架構(gòu)中的邊緣節(jié)點無需遵循正交傳輸準則,而是占用系統(tǒng)全部帶寬資源,從而極大提高了傳輸速率和系統(tǒng)的可擴展性(邊緣節(jié)點的數(shù)量不再受限于帶寬)。
圖5 OFDMA 和 AirComp 傳輸示意圖Fig.5 Principles of OFDMA and AirComp transmissions
為了利用多址信道的疊加特性,AirComp 采用模擬調(diào)制的傳輸方式,同時要求各節(jié)點的同步傳輸和接收功率一致。 因此,AirComp 系統(tǒng)的實現(xiàn)除了需要對傳輸方式本身的設計,還需要研究發(fā)射功率控制和同步傳輸?shù)汝P鍵技術。 通過對這些關鍵技術的研究和突破,AirComp 也開始被廣泛應用于聯(lián)邦學習的相關研究中:在模型訓練的聚合階段,所有終端節(jié)點同時使用全部的帶寬資源傳輸各自的本地模型參數(shù),從而顯著降低聚合階段的傳輸時延[35-37]。
文獻 [35] 分別設計了基于數(shù)字調(diào)制的分布式隨機梯度下降算法 (Digital Distributed SGD,D-DSGD) 和基于模擬調(diào)制的分布式隨機梯度下降算法 (Analog Distributed SGD,A-DSGD)。 與 D-DSGD 相比,A-DSGD 能夠采用更為靈活的功率控制策略,從而在終端平均發(fā)射功率受限的情況下實現(xiàn)較優(yōu)的訓練性能。 同時,A-DSGD 也為系統(tǒng)提供更好的擴展性,能夠支持更多終端同時進行聯(lián)邦學習,實現(xiàn)更準確的模型訓練。 A-DSGD 與 D-DSGD 的比較說明了基于空中計算的聯(lián)邦學習更適用于低功耗和帶寬受限的邊緣學習場景。 類似的,文獻 [36] 設計了基于寬帶模擬聚合技術 (Broadband Analog Aggregation,BAA) 的聯(lián)邦學習系統(tǒng)。 利用模擬 OFDM 調(diào)制方式,BAA 實現(xiàn)了終端同時占用全部帶寬的傳輸。 與此同時,BAA 考慮了衰落信道模型,通過信道翻轉(zhuǎn)對終端發(fā)射功率進行控制,同時限制了信道質(zhì)量差的終端的傳輸,一定程度上減少了傳輸?shù)臄?shù)據(jù)量。 雖然對終端傳輸?shù)南拗茣斐捎柧殔?shù)的損失,但參數(shù)的損失也有助于降低模型過擬合的程度。 除此之外,文獻 [36] 還研究了該場景下通信測度 (接收信噪比) 和訓練測度 (訓練參數(shù)的數(shù)量和多樣性) 之間的折衷關系,為網(wǎng)絡規(guī)劃與優(yōu)化提供參考。
作為對 A-DSGD 和 BBA 的改進,文獻 [37] 在 A-DSGD 的基礎上提出了 CWSA-DSGD 算法 (Compressed Worker-wise Scheduled Analog-DSGD)。除了采用模擬調(diào)制傳輸,CWSA-DSGD 還通過梯度稀疏化和差錯累積的方法,減少聚合過程中的數(shù)據(jù)傳輸量,從而進一步加快訓練速度。 與 BAA 只考慮信道狀況的終端選擇方式不同,CWSA-DSGD 在梯度稀疏化過程中衡量梯度信息的重要性,能夠避免重要的梯度信息由于信道的衰落而丟失。 實驗證明,在相同條件下,CWSA-DSGD 的模型訓練準確度比 BAA 更高。
另一方面,各終端間的同步傳輸對于空中計算的實現(xiàn)也是至關重要的。 為了解決分布式相干傳輸 (Distributed Coherent Transmission) 中的同步問題,文獻 [38] 在發(fā)送信號中攜帶與發(fā)射功率成比例的冗余信息,接收端通過解析冗余信息獲得同步信息,系統(tǒng)只需保證簡單的幀同步。 文獻 [39] 提出一種 AirShare 策略,通過廣播時鐘消息作為節(jié)點的參考時鐘,實現(xiàn)了各節(jié)點傳輸?shù)膰栏裢健?/p>
1.2.2 通信資源分配
在傳統(tǒng)的無線通信系統(tǒng)中,傳輸?shù)乃袛?shù)據(jù)都被認為是同等重要的。 因此,在保證傳輸可靠性的基礎上,無線通信系統(tǒng)中資源分配的目的是通過對頻譜等物理資源的分配實現(xiàn)最大化系統(tǒng)吞吐量等性能指標。 然而在面向應用和服務的 AI 場景中,單純地通過資源分配策略的設計來提升上述指標不一定能直接換來服務質(zhì)量 (Quality of Services,QoS) 的提升[51]。 在這種情況下,數(shù)據(jù)的“重要性”能夠為資源分配策略的設計提供一個新的測度,通過保證“更重要”的數(shù)據(jù)優(yōu)先和可靠地傳輸來保障服務質(zhì)量。 基于這個思路,文獻 [51] 設計了基于數(shù)據(jù)流重要性的傳輸控制協(xié)議。 協(xié)議首先將用戶與服務器間交互的數(shù)據(jù)按照數(shù)據(jù)的重要性和服務時延要求劃分為多個子集,然后優(yōu)先傳輸更重要和時延敏感的數(shù)據(jù)。 實驗證明,該協(xié)議能夠在通信資源受限情況下保證用戶及時獲得所需的數(shù)據(jù),從而保證服務質(zhì)量。
對于邊緣學習系統(tǒng)而言,設計基于數(shù)據(jù)重要性的通信資源分配策略也顯得尤為重要。 這是因為在機器學習過程中,某些樣本數(shù)據(jù)對模型的校正程度要優(yōu)于其他數(shù)據(jù)。 因此,為了提高模型參數(shù)學習性能,更“重要”的數(shù)據(jù)應該受到特別重視。 換句話說,在使能邊緣學習的通信過程中,除了通信的“可靠性”,數(shù)據(jù)的“重要性”也需要考慮。 對于這個問題,一個研究方向是基于數(shù)據(jù)重要性設計通信系統(tǒng)中的資源分配策略。 圖 6 顯示了一個基于數(shù)據(jù)重要性進行通信資源分配的機器學習模型訓練過程,它根據(jù)實時模型對數(shù)據(jù)進行重要性評估,再根據(jù)評估結(jié)果,結(jié)合當前信道狀態(tài)信息來執(zhí)行通信資源分配。
圖6 基于數(shù)據(jù)重要性的通信資源分配Fig.6 Importance-aware communication resource allocation
在模型訓練的過程中,不確定性越大的數(shù)據(jù)通常更有利于模型收斂[52]。 因此,數(shù)據(jù)的不確定性可以用于衡量數(shù)據(jù)的重要性。 基于此思路,文獻 [40] 設計了一種基于數(shù)據(jù)重要性的自動重傳請求策略 (Importance-Aware Automatic Repeat Request,Importance-ARQ)。 Importance-ARQ 考慮了集中式的邊緣學習模型,終端設備將采集到的數(shù)據(jù)上傳到邊緣服務器用于模型訓練。 在傳輸過程中,噪聲等因素會造成數(shù)據(jù)與標簽的錯誤匹配,因此需要通過重傳保證樣本的正確性。 在通信資源受限的情況下,Importance-ARQ 優(yōu)先重傳更重要的數(shù)據(jù),直到達到期望的接收信噪比。 通過保證重要數(shù)據(jù)的傳輸,Importance-ARQ 能夠盡可能提高模型訓練的準確性。類似的,文獻 [41] 提出了考慮數(shù)據(jù)重要性的終端調(diào)度策略,它能夠優(yōu)先調(diào)度需要傳輸更“重要”數(shù)據(jù)的終端設備,從而加速模型的收斂。 值得注意的是,文獻 [41] 還引入了熵的概念來衡量CNN 訓練過程中數(shù)據(jù)的重要性。 針對上述聯(lián)邦學習場景,文獻[42]提出以優(yōu)化終端功耗為目標的通信資源分配策略,將更多的頻帶分配給計算能力較弱、信道條件較差的終端設備,并優(yōu)先調(diào)度這些設備。 這樣進行資源分配的目的是保持每個終端都可以盡可能地同步上傳本地的訓練參數(shù),從而保證模型訓練的準確性。 實驗結(jié)果證明,隨著訓練時間的延長,采用上述策略的聯(lián)邦學習系統(tǒng)在保證模型準確性的基礎上,還能顯著降低終端設備的整體功耗。 事實上,這樣的資源分配策略與傳統(tǒng)無線通信系統(tǒng)中追求最大化數(shù)據(jù)傳輸率和系統(tǒng)吞吐量的資源分配原則恰恰相反。 這也再次說明,為了提高邊緣學習性能,必須對傳統(tǒng)的無線通信系統(tǒng)和通信資源分配策略進行重新設計。
1.2.3 信號編碼
在通信和計算中,編碼被認為是一種有效抵抗“噪聲”或?qū)崿F(xiàn)數(shù)據(jù)壓縮的方法。 在無線通信系統(tǒng)中,信源編碼和信道編碼通常用于對傳輸數(shù)據(jù)的預處理。 前者主要是通過壓縮待傳輸數(shù)據(jù)量來提高傳輸?shù)挠行?后者則是通過增加冗余數(shù)據(jù)來提高傳輸?shù)目煽啃浴?而分布式計算作為通信和計算的交叉領域,也常常利用編碼技術改善系統(tǒng)的性能。 例如,文獻 [44] 提出基于編碼的分布式計算 (Coded Distributed Computing),通過編碼技術和充分利用終端上的存儲資源減小分布式系統(tǒng)中的通信開銷,實現(xiàn)計算和通信之間的折中;在此基礎上,文獻 [45] 考慮終端存儲和計算資源受限的情況,研究了存儲、計算和通信之間三者的折中,最小化系統(tǒng)的通信開銷。 借鑒這種通過增加系統(tǒng)冗余 (計算量和存儲量) 降低通信開銷的思路,編碼技術也能夠被更廣泛地運用到邊緣學習的研究中。
在上述分布式訓練中,分布式梯度下降(Distributed Gradient Descent,DGD)和分布式隨機梯度下降(Distributed Stochastic Gradient Descent,DSGD)都是常用的模型訓練算法。 這種將梯度計算任務分配到多個終端設備上的做法能夠充分利用終端的計算資源,通過并行計算加快計算速度。 這種計算模式要求服務器在每次迭代中接收和聚合各個終端的梯度信息。 然而,由于終端性能不同,系統(tǒng)整體訓練速度會受限于個別性能較差的終端。 為解決這個問題,一種方法是對梯度信息進行編碼,即梯度編碼。文獻 [46] 給出梯度編碼的一種基本方式。 其中,每個終端會計算多個樣本數(shù)據(jù)子集的梯度信息,相應得到多個梯度向量;然后,再將這些梯度向量的線性組合上傳到服務器,這就是梯度的“編碼”過程。服務器通過解析每個終端上傳的梯度向量來恢復出用于更新模型參數(shù)的梯度信息,即梯度的“解碼”過程。 顯然,由于每個終端上傳的數(shù)據(jù)都能攜帶多個梯度向量,因此服務器只需接收部分終端的數(shù)據(jù)就能完整恢復所需的所有梯度信息。 從而避免個別終端“拖后腿”的情況,加快模型的收斂速度。 對于終端而言,這種編碼方式增加了冗余的計算量。 因此,梯度編碼也是一種通過增加冗余來換取系統(tǒng)整體性能提升的方法。
雖然文獻 [46] 給出的梯度編碼方式能夠有效避免服務器等待終端上傳梯度信息的情況,但這種方式對部分終端的“舍棄”也會造成計算資源的浪費。 考慮到這種情況,文獻 [47] 提出部分梯度編碼,在終端計算梯度的同時,將已經(jīng)計算好的部分梯度信息上傳給服務器,即梯度信息的計算和上傳是同時進行的。 因此,即便是計算速度較慢的終端也能夠盡量向服務器提供梯度信息,從而充分利用終端上的計算資源。 顯然,部分梯度編碼方式會增加系統(tǒng)的通信開銷。 為克服這個問題,考慮到終端性能不同是造成計算速度差別的直接原因。 文獻[48]提出基于終端異構(gòu)性的梯度編碼策略。 與文獻 [46-47] 不同,該策略在劃分數(shù)據(jù)子集時會對終端的計算能力進行評估,并根據(jù)終端數(shù)據(jù)處理能力不同來分配數(shù)據(jù)子集,對應不同計算量的計算任務。 從而減小了終端之間完成梯度計算的時間差別,同樣能夠避免訓練速度受限于個別終端。
雖然梯度編碼引入了編碼的概念,但并未將編碼與信號的傳輸過程結(jié)合。 事實上,為了避免模型的過擬合以及減少訓練的數(shù)據(jù)量,深度學習中通常采用主成分分析和線性判別分析等方法對樣本數(shù)據(jù)進行預處理,從而對樣本數(shù)據(jù)進行降維。 既然在深度學習和無線通信2 個領域中都有數(shù)據(jù)預處理的必要性,一種提高邊緣學習系統(tǒng)的學習效率和通信效率的方法就是將二者有機結(jié)合。 換句話說,可以將訓練模型中的數(shù)據(jù)預處理過程與數(shù)據(jù)傳輸中的信號編碼過程相結(jié)合,實現(xiàn)聯(lián)合優(yōu)化。
例如,文獻 [49] 提出的快速模擬傳輸策略(Fast Analog Transmission,FAT)將信號編碼和數(shù)據(jù)預處理更緊密地結(jié)合在一起:FAT 首先將終端設備上的樣本數(shù)據(jù)通過格拉斯曼模擬編碼 (Grassmann Analog Encoding,GAE) 映射到格拉斯曼流形空間上。 使用 GAE 的目的既是為了在邊緣服務器使用格拉斯曼分類算法訓練分類的 DNN 模型[53],也是為了下一步使用非相關的 MIMO 傳輸,從而減少信道估計造成的時延和信令開銷;其次,FAT 通過線性模擬調(diào)制實現(xiàn)編碼信號的模擬傳輸,相應地,在接收端做模擬檢測和接收;最后,在接收端上將接收數(shù)據(jù)用于格拉斯曼分類訓練。 應用了模擬 MIMO 傳輸?shù)?FAT 能夠在保證較優(yōu)學習效率的同時,減小傳輸過程中的通信開銷和時延。 雖然 GAE 會造成樣本數(shù)據(jù)的類間距離減小而不利于分類,在文中稱為自由度 (Degrees of Freedom,DoF) 的損失,但是 DoF 的損失能夠換取信號對抗快衰落信道的魯棒性。 這也說明,數(shù)據(jù)預處理和信號編碼的聯(lián)合設計能夠提升邊緣學習系統(tǒng)的整體性能。
如上所述,深度學習相關的計算任務對計算、存儲等資源的要求造成部署深度學習計算的困境:一方面,基于云計算的計算模型由于傳輸距離、網(wǎng)絡帶寬等限制,會不可避免地引入時延;另一方面,由于終端設備的電量和計算能力等資源的限制,終端無法承載更復雜的深度學習網(wǎng)絡和密集計算。 隨著邊緣計算的發(fā)展,一種解決方法是在終端和云端之間引入邊緣端,利用邊緣服務器的計算資源卸載終端或云端的計算任務。 將計算任務卸載到邊緣服務器上能夠突破終端設備的資源限制和對云計算的依賴,以更快的速度處理更復雜的計算,從而顯著降低服務時延。
近年來,邊緣計算系統(tǒng)中的計算卸載策略也是學術界關注的熱點,相關研究主要集中在卸載決策、資源分配和卸載面臨的安全問題等方面。 本節(jié)將主要分析通過卸載 DNN 計算任務來實現(xiàn)邊緣學習的方法。 與此同時,除了對計算任務的卸載,另一種卸載模式是將 DNN 模型劃分成不同的層次并將部分層次卸載到邊緣服務器上,實現(xiàn)“終端-邊緣-云端”三層協(xié)作的邊緣學習系統(tǒng),將這種模式稱為模型卸載。 表3 總結(jié)了與計算卸載和模型卸載相關的關鍵技術。
表3 邊緣學習中的卸載策略Tab.3 Offloading strategy in edge learning
1.3.1 計算卸載
如圖 7 所示,實現(xiàn)計算卸載主要有2 種模式。圖 7(a) 表示完全基于邊緣服務器的計算卸載。 在這種模式下,終端對數(shù)據(jù)的預處理和邊緣服務器在多用戶場景下對資源的高效分配是提高系統(tǒng)性能的關鍵;而在圖 7(b) 中的“終端-邊緣”卸載模式下,由于邊緣服務器和終端相互協(xié)同運作,如何制定卸載策略是主要研究的問題。
圖7 計算卸載模式Fig.7 Computation offloading modes
(1) 基于邊緣服務器的卸載模式
基于圖 7(a) 的模式,文獻 [54] 提出一種能夠部署在移動終端上的實時、連續(xù)物體檢測與識別系統(tǒng):Glimpse。 Glimpse 將圖像檢測、特征提取和識別等深度學習計算的過程都卸載到臨近的邊緣服務器上執(zhí)行;而系統(tǒng)中的移動終端僅負責圖像采集和上傳以及對識別對象進行跟蹤。 同時,該文還引入了“驅(qū)動幀”篩選的過程,能夠過濾掉不需要上傳到邊緣服務器的視頻幀,降低系統(tǒng)的通信開銷和時延。另外,Glimpse 的“動態(tài)緩存”功能實現(xiàn)了在終端設備上保持對識別對象的跟蹤。 實驗結(jié)果表明,系統(tǒng)在實現(xiàn)高識別準確率的同時還能節(jié)省傳輸帶寬和終端功耗。 文獻 [55] 設計了一個基于深度學習和邊緣計算的物體識別系統(tǒng)。 與 Glimpse 相似,該系統(tǒng)也是通過移動終端采集實物的圖像,并在終端上進行預處理,然后將預處理后的圖像上傳到邊緣服務器上進行識別,最后向終端返回識別結(jié)果。 實現(xiàn)系統(tǒng)性能的關鍵除了需要高效的識別算法,還在于系統(tǒng)中的預處理過程,即對采集圖像的裁剪、模糊化和分塊。 預處理過程強調(diào)低計算復雜度,以便在移動終端上進行,同時降低數(shù)據(jù)傳輸?shù)臅r延,提高識別的響應速度。
(2) “終端-邊緣”卸載模式
上述基于邊緣服務器的計算卸載模式主要應用在終端設備缺乏計算能力的場景下。 當終端具備一定的計算能力時,也可以自行完成一定的計算任務,而只在超出其自身計算能力時將相關計算任務卸載到邊緣服務器進行。 這種模式下,做出卸載決策(是否將計算任務卸載到邊緣服務器上)是待研究的關鍵問題。 針對這個問題,文獻 [59] 設計的 Precog 系統(tǒng)利用終端具備位置感知的特點和存儲資源,通過馬爾科夫鏈預測系統(tǒng)可能需要識別的類別,并將相應的輸入和結(jié)果從邊緣服務器緩存到終端設備上。 發(fā)生識別請求時,終端首先在緩存中尋找相似的輸入和結(jié)果,如果無法做出識別,再將請求上傳到邊緣服務器進行處理,通過充分利用終端上的計算和存儲資源,降低系統(tǒng)響應時延。
事實上,在“終端-邊緣”卸載模式下,做出卸載決策的過程往往也是一個聯(lián)合優(yōu)化系統(tǒng)時延、帶寬和終端功耗的過程。 例如,在文獻 [60] 提出的 DeepDecision 架構(gòu)中,系統(tǒng)運行的時間被劃分成連續(xù)的時隙,在每個時隙開始時求解一個時延、帶寬、功耗受限條件下最大化視頻幀率的優(yōu)化問題,最終得出該時隙內(nèi)的卸載策略,同時決定視頻幀的采樣率和分辨率。 事實上,相對于終端設備,邊緣服務器具有更強大的計算資源,可以在它上面部署更復雜的 DNN 模型,從而提高識別的準確性。 因此,卸載決策的過程就是在資源受限條件下確定使用何種模型執(zhí)行 DNN 計算的過程。
1.3.2 模型卸載
模型卸載是指將原來僅僅部署在云端的深度學習模型劃分為層次大小不同的部分,并分別卸載到邊緣服務器上或者終端設備上進行部署,最終形成“終端-邊緣-云端”三層協(xié)作模式。 通常,DNN 模型由多層的神經(jīng)網(wǎng)絡組成,輸入網(wǎng)絡的數(shù)據(jù)經(jīng)過每一層計算后都會減少數(shù)據(jù)量,直到經(jīng)過整個模型運算后輸出最終的結(jié)果。 因此,將一個深度學習模型的不同層次部署到不同位置后,終端、邊緣服務器和云端之間只需傳輸有限的中間數(shù)據(jù),從而在降低傳輸時延的同時也節(jié)省了傳輸帶寬。 根據(jù)系統(tǒng)拓撲的不同,模型卸載可以分為“終端-邊緣-云端”卸載模式和終端分布式卸載模式。 前者主要包括終端與邊緣服務器之間的卸載,以及邊緣服務器與云端之間的卸載;后者則將模型卸載到相互連接的終端設備之間。
(1) “終端-邊緣-云端”卸載模式
如圖8 所示,模型卸載一般在終端和邊緣服務器之間進行,或者在邊緣服務器與云端之間進行。例如,文獻[61] 將 DNN 模型分為2 個部分:終端設備的數(shù)據(jù)首先上傳到邊緣服務器,經(jīng)過較淺層的處理之后得到中間數(shù)據(jù);中間數(shù)據(jù)再上傳到云端由后續(xù)的網(wǎng)絡層處理,得到最終的模型輸出并返回給終端。 邊緣服務器和云端的協(xié)同工作能夠減少網(wǎng)絡中傳輸?shù)臄?shù)據(jù)量。 在這種模式下,需要解決的關鍵問題是如何對模型進行劃分,從而在帶寬和計算資源受限的情況下最大化系統(tǒng)的性能。 因此,文獻 [61] 也提出了根據(jù)資源狀況和計算任務的復雜程度對神經(jīng)網(wǎng)絡模型進行動態(tài)劃分和部署的方法。
另一方面,終端和邊緣服務器之間的卸載也是模型卸載的常見方式。 例如,文獻[62] 設計的Edgent 系統(tǒng)通過在線優(yōu)化找出預訓練模型的最佳劃分點,然后將模型進行劃分并分別部署到終端設備和邊緣服務器上。 與此同時,為進一步降低時延,Edgent 系統(tǒng)還采用了“提前跳出機制”,即通過提前退出模型的計算來滿足時延要求,實現(xiàn)時延和準確性之間的性能折中。
圖8 “終端-邊緣-云端”卸載模式Fig.8 “Terminal-Edge-Cloud” offloading mode
(2) 終端分布式卸載模式
圖9 顯示的是基于分布式計算的卸載模式,即將 DNN 模型進行層次劃分,并將模型中不同的神經(jīng)網(wǎng)絡層別卸載到臨近的終端設備上。 這樣做的優(yōu)點是能夠充分利用終端設備的計算資源,提升系統(tǒng)的可擴展性。 基于這種模式,文獻 [63] 設計的 DeepX 系統(tǒng)能夠?qū)?DNN 網(wǎng)絡劃分成多個子模型,并卸載到不同的終端設備上聯(lián)合執(zhí)行。 同時,以延長終端的使用壽命為目標,DeepX 系統(tǒng)還能充分利用異構(gòu)設備的資源協(xié)作來完成 DNN 的計算。 除了用于優(yōu)化資源利用率的模型分割算法,文獻 [63] 還提出層壓縮算法,通過壓縮 DNN 模型進一步縮短終端時延并優(yōu)化內(nèi)存空間。 類似的,文獻 [64] 設計的 MoDNN 系統(tǒng)利用 WiFi 將分割后的模型卸載到無線局域網(wǎng)內(nèi)的終端設備上。 與 DeepX 系統(tǒng)不同的是,MoDNN 系統(tǒng)對 DNN 的劃分顆粒度更細,它對每個層次內(nèi)的神經(jīng)元進行劃分。 通過將神經(jīng)元卸載到不同終端設備上,MoDNN 系統(tǒng)能夠?qū)崿F(xiàn)終端設備之間并行的 DNN 計算,從而減少響應時延。 實驗結(jié)果證明,通過分布式計算,MoDNN 系統(tǒng)能夠顯著加速 DNN 計算。
圖9 分布式模型卸載模式Fig.9 Distributed model offloading mode
基于上述關鍵技術的發(fā)展和演進,邊緣學習特有的低時延、擴展靈活和隱私安全等特點將助力不同人工智能應用的實現(xiàn)。 本節(jié)將分析2 個邊緣學習的具體應用案例:超可靠低時延車輛通信和以學習為中心的邊緣圖像分類系統(tǒng),來展現(xiàn)邊緣學習在不同場景中的實用價值。
提供高效的車對車(Vehicle-to-Vehicle,V2V)通信是實現(xiàn)自主和智能交通系統(tǒng)的必要步驟。 V2V 通信可以擴展駕駛員的感知能力與可視范圍,從而增強交通安全和駕駛體驗,同時實現(xiàn)新的交通功能,如自動化列隊行駛、實時導航、防碰撞和自動駕駛。一方面,新興交通應用的性能嚴重依賴于超可靠低時延通信(UltraReliable Low-Latency Communication,URLLC);另一方面,為提高能量效率,必須實現(xiàn)高效的無線資源管理(Radio Resource Management,RRM)。
文獻 [65] 提出一種基于聯(lián)邦學習的分布式聯(lián)合發(fā)射功率和資源分配框架,以實現(xiàn)超可靠和低時延的 V2V 通信。 為了對可靠性進行建模,可以使用廣義帕累托分布的極值理論來獲得超過高閾值隊列長度的統(tǒng)計信息。 通常,廣義帕累托分布的2 個特征參數(shù)(比例和形狀)通過使用最大似然估計獲得。經(jīng)典的最大似然估計要求中央控制器(例如路邊單元)從網(wǎng)絡中的所有車輛收集超過閾值的隊列長度樣本,這將引入極大的數(shù)據(jù)傳輸量和較高的時延。為解決這個問題,文獻 [65] 對每輛車都使用聯(lián)邦學習構(gòu)建本地模型并與路邊單元共享該模型。 路邊單元在匯聚不同車輛的本地模型之后,對這些模型進行平均得到全局模型,最后將全局模型反饋給車輛。 通過將廣義帕累托分布的極值理論對應的參數(shù)模型與聯(lián)邦學習結(jié)合使用,各個車輛無需交換本地隊列長度樣本就可以學習隊列長度的拖尾分布。 相對于交換訓練樣本的集中式學習,聯(lián)邦學習的主要優(yōu)勢在于減少了模型訓練期間的通信負荷,從而減少訓練中的通信延遲對 V2V 通信的影響。
具體而言,系統(tǒng)設計目的是要最大程度地減少車輛集合 U 的功耗,同時確保具有高可靠性的低排隊等待時間。 但是,總會有低概率經(jīng)歷高延遲這種最壞情況的車輛出現(xiàn),因此,考慮與車輛隊列長度超過預定義閾值且概率不可忽略的極端事件來捕獲最壞情況下車輛的性能損失。 首先利用極值理論,將排隊長度超過預定義閾值的樣本拖尾分布用廣義帕累托分布 Gd(·) 來描述,其中,上標d= [δ,ξ] 表示廣義帕累托的參數(shù)集合(δ 和ξ 分別代表比例和成形參數(shù))。 然后利用隊列拖尾分布來優(yōu)化每個車輛的發(fā)送功率,以減少最壞情況下的排隊延遲。
如果使用最大似然估計方法來計算在車輛 u 上觀察到的隊列長度樣本{Qu}u?U的隊列拖尾分布,那么,總體代價函數(shù)定義為:
式中,|Qu| 表示車輛u 的校本數(shù),ku= |Qu| /∑u|表示車輛 u 中樣本數(shù)占總樣本數(shù)的比例,fd(Qu) 表示車輛 u 的代價函數(shù)。 圖 10 顯示了具體的聯(lián)邦學習過程,主要包括以下3 個步驟:
③ 每個車輛使用全局模型來建模隊列長度的拖尾分布,并利用該分布來控制車輛的發(fā)射功率。
圖10 基于聯(lián)邦學習的車聯(lián)網(wǎng)Fig.10 Federated learning for V2V networks
實驗結(jié)果表明,與集中式學習相比,文獻 [65] 提出的解決方案能夠非常精確地估計廣義帕累托分布參數(shù),并且在減少具有大隊列長度車輛數(shù)量的同時,能夠最大程度地降低功耗。 對于具有 100 個車輛對的密集型車聯(lián)網(wǎng)而言,與通過使用對平均隊列長度的概率約束來控制可靠性的基準模型相比,文獻[65] 提出的解決方案可以將功耗降低一半,并將大隊列長度的車輛減少約60.9%。 此外,與上述基準相比,在建議的解決方案中可以看到,極端隊列長度的平均值和波動分別減少了28.6%和33.2%。
圖像分類(如人臉識別、目標檢測以及場景感知)是人工智能領域最重要的應用之一[66]。 由于功耗和算力的限制,圖像捕獲設備(如攝像頭和相機)通常不具備分析圖像的能力。 為了利用這些圖像中的信息,邊緣圖像分類系統(tǒng)是一種行之有效的解決方案。 它將圖像通過無線通信傳輸?shù)竭吘壏掌鬟M行深度分析,再將分析結(jié)果反饋到終端設備。如果分類器在云端已經(jīng)完成了預訓練,邊緣服務器則對模型參數(shù)進行調(diào)整,以適應具體的應用環(huán)境。
邊緣圖像分類系統(tǒng)的目標是最大化分類準確度,而不是最大化吞吐率。 因此,邊緣圖像分類系統(tǒng)中的無線資源管理與傳統(tǒng)無線通信系統(tǒng)有本質(zhì)區(qū)別。 例如,當前主流的注水算法將更多的資源分配給信道質(zhì)量更好的用戶,比例公平算法將更多的資源分配給小區(qū)邊緣的用戶。 雖然這2 種算法在傳統(tǒng)通信系統(tǒng)中十分有效,但它們在邊緣圖像分類系統(tǒng)中可能效率很低。 這是因為它們僅根據(jù)信道質(zhì)量分配資源,并不理解AI 的特征(如學習類型和模型復雜度)。 如果在邊緣服務器同時訓練 CNN 與支持向量機(Supporting Vector Machine,SVM),服務器應該分配更多的資源給參與 CNN 訓練的終端。
針對上述問題,文獻 [67] 設計了一種以學習為中心的邊緣圖像分類系統(tǒng),如圖 11 所示。
圖11 邊緣圖像分類系統(tǒng)Fig.11 Image classification at the edge
為了建立分類準確率與無線資源管理之間的關系,文獻 [67] 引入了樣本大小作為中間變量,通過信息論建立樣本與無線資源的關系,通過學習論建立準確率與樣本的關系。 具體地,圖11 包括一個N 根天線的邊緣服務器和 K 個用戶。 用戶 k 向服務器發(fā)送功率為 pk的信號 sk。 邊緣服務器接收到的信號表達式為rk=+ nk,其中 ,Gk,l=|2表示用戶 l 對用戶 k 的干擾信道,wk=hk/‖hk‖2表示最大比合并接收機,hk表示用戶到服務器的信道,nk表示強度為 σ2的高斯噪聲。 基于上述系統(tǒng)模型,邊緣服務器的分類準確度與用戶功率 p = [p1,…,pK]T之間的關系分析如下:
① 樣本與功率的關系。 由信息論可知,用戶 k 的傳輸速率為
因此,訓練模型 k 的樣本數(shù)量為:
式中,B 表示系統(tǒng)的帶寬(Hz),T 表示傳輸時間(s),Dk表示用戶 k 單張圖像的大小(bit),Ak表示服務器初始時儲存的圖像張數(shù)。
② 準確率與樣本的關系。 由學習論可知,樣本復雜度與 Vapnik-Chervonenkis(VC)維度有一定的相關性。 但是,VC 維度是一個標量,無法反應學習性能與算法及模型之間的關系。 為了更具體地刻畫學習性能,統(tǒng)計力學理論證明了準確率與樣本關系服從逆冪定律。 這個定律衍生出的準確率樣本關系式如下:
式中,ak和 bk為超參數(shù),且 ak與模型復雜度相關, bk與數(shù)據(jù)集分布相關。 文獻 [67] 用機器學習實驗證明上述準確率模型可以很好地反映 SVM,CNN,ResNet-110,PointNet 的學習特性。
基于上述分析,可以得到最終準確率與功率之間的函數(shù)關系式為:
文獻 [67] 采用文獻 [68] 中的差分凸優(yōu)化算法最大化 (Φ1,…,ΦK),設計了“以學習為中心”的功率分配算法。 相比注水算法與比例公平算法,圖像的分類錯誤率能夠降低 30% 以上。 文獻 [67] 還揭示了在邊緣圖像分類系統(tǒng)中,最優(yōu)的傳輸功率不但與信道質(zhì)量成反比,而且與學習參數(shù)呈現(xiàn)指數(shù)關系。
盡管已經(jīng)引起學術界和產(chǎn)業(yè)界的廣泛重視,邊緣學習還處在蹣跚躑躅的初級階段,尚有大量問題值得深入研究。 首先,將通信和計算兩大功能進行有機結(jié)合將是探索邊緣學習技術進步和創(chuàng)新的重要途徑。 其次,從云學習到邊緣學習,保護個人隱私與數(shù)據(jù)安全也面臨新的挑戰(zhàn)。 最后,邊緣學習從理論研究到系統(tǒng)實現(xiàn)的轉(zhuǎn)化將依賴于系統(tǒng)架構(gòu)設計、軟件開發(fā)和硬件加速等研究的不斷推進。 下面扼要討論這3 個方面的研究機遇與面臨的挑戰(zhàn)。
如第1.2 節(jié)所述,為實現(xiàn)通信與計算兩大功能的有機結(jié)合,單純地將邊緣學習系統(tǒng)中的通信網(wǎng)絡看成一條“數(shù)據(jù)管道”往往不是一個明智的選擇。相反,通過對通信與計算過程的聯(lián)合優(yōu)化能夠顯著提高系統(tǒng)整體性能。 在此,聯(lián)合優(yōu)化一方面是指將通信技術用于優(yōu)化機器學習的過程;另一方面,機器學習的方法也能夠應用于系統(tǒng)中的通信設計。 除了面向邊緣學習的通信設計,當前還有許多致力于將通信與計算聯(lián)合優(yōu)化的研究,例如:
① 綠色邊緣計算:“綠色”是指節(jié)省能源。 研究綠色邊緣計算一方面能夠節(jié)約能源的消耗,有助于環(huán)保;另一方面,也有利于減少終端的功耗以延長終端的電池壽命。 因此,通信中能量收集[56]和無線能量傳輸技術[69]都有望應用于這個場景。 然而,在節(jié)省功耗的同時引入能量收集技術也會提高系統(tǒng)的復雜性,讓計算卸載中的資源分配問題變得更加復雜。因此,需要設計考慮能量收集的計算卸載策略[56]。
② 協(xié)作計算與協(xié)作通信有機融合:協(xié)作計算 (cooperative computing)是指終端設備通過相互協(xié)作完成各自的計算任務,如1.3.2 節(jié)中的分布式模型卸載。 協(xié)作計算能夠減少終端對于服務器的依賴性,并且提高空閑資源的利用率;協(xié)作通信 (cooperative communication)是指當某些設備無法直接與服務器通信時也能以相鄰設備為橋梁,通過中繼通信 (relay communication) 將計算任務轉(zhuǎn)發(fā)卸載到服務器上。 二者的有機結(jié)合和聯(lián)合優(yōu)化能夠提升移動邊緣計算(Mobile Edge Computing,MEC)系統(tǒng)整體性能。 例如,文獻 [70] 考慮了三節(jié)點的 MEC 系統(tǒng) (終端、協(xié)作節(jié)點和邊緣服務器)。 其中,終端既能將計算任務卸載到協(xié)作節(jié)點和邊緣服務器上實現(xiàn)協(xié)作計算,又能以協(xié)作節(jié)點為中繼將計算任務卸載到邊緣服務器上,實現(xiàn)協(xié)作通信。 針對部分卸載和二元卸載2 種模式,文中研究了計算與通信資源分配的聯(lián)合優(yōu)化問題,為不同模式的計算任務提供低時延和低功耗的卸載策略。 然而,網(wǎng)絡邊緣端由各種設備組成,設備和網(wǎng)絡的異構(gòu)性給協(xié)作計算的系統(tǒng)設計帶來極大的挑戰(zhàn)。 因此,研究設備直通 (Device to Device,D2D) 通信和中繼通信等協(xié)作通信技術與協(xié)作計算的有機融合將極具應用價值[71]。
③ 基于機器學習的計算卸載:除了前面討論的通過優(yōu)化通信子系統(tǒng)來提升邊緣學習的性能之外,機器學習的方法也可以用來解決邊緣計算系統(tǒng)設計的問題。 實際上,通過數(shù)學建模將計算卸載中的卸載決策、資源分配等問題映射成一個機器學習問題,就能夠利用機器學習的高效性來解決相關問題。 例如,文獻 [72] 將計算卸載映射成一個有監(jiān)督學習的問題,而文獻 [73] 則將計算卸載映射成一個強化學習的問題。
雖然對隱私數(shù)據(jù)的保護是邊緣計算的天然優(yōu)勢,但在邊緣學習中同樣存在新的數(shù)據(jù)安全與隱私泄漏問題。 首先,邊緣學習系統(tǒng)通常由異構(gòu)的網(wǎng)絡和設備組成,不同網(wǎng)絡或設備間的加密和保護機制難以兼容時,會導致用戶的數(shù)據(jù)失去保護。 因此,需要設計新的安全協(xié)議或機制來保障邊緣學習中的數(shù)據(jù)安全。 其次,邊緣學習系統(tǒng)中設備資源的開放性和數(shù)據(jù)共享,都增加了邊緣服務器和終端設備受到攻擊的風險,如拒絕訪問攻擊 (Denial of Services,DoS)、欺騙攻擊 (spoofing attacks) 和中間人攻擊 (man-in-the-middle attacks) 等。 針對數(shù)據(jù)安全和隱私暴露問題,下面提出善用噪聲和安全計算的2 個解決思路:
① 善用噪聲:在經(jīng)典香農(nóng)通信理論中,噪聲通常被認為會阻礙有用信息的檢測,所以噪聲是需要盡量被抑制的。 然而,在邊緣學習系統(tǒng)中,在樣本數(shù)據(jù)中添加適當噪聲能夠在一定程度上避免模型訓練的過擬合現(xiàn)象[74]。 同時,這也依靠了深度學習所具備的抗噪聲干擾的魯棒性。 因此,可以通過人為在數(shù)據(jù)傳輸過程中添加噪聲來對數(shù)據(jù)進行“加密”?;谶@個思路,文獻 [75] 設計了一個基于“邊緣-云端”計算卸載模式的邊緣學習系統(tǒng),在邊緣端利用 DNN 對輸入數(shù)據(jù)進行特征提取,并在提取到的特征中加入適當噪聲,帶有噪聲的特征再上傳到云端做進一步的分析。 在這里,云端的 DNN 模型是利用帶噪聲的樣本數(shù)據(jù)訓練的,因此,它能夠在計算時免受噪聲的干擾,從而在利用噪聲對原始數(shù)據(jù)加密的同時還能夠保證 DNN 的效果。 值得注意的是,盡管噪聲被證明在一定程度上有益于模型訓練,過量的噪聲仍然會影響通信子系統(tǒng)的有效性。 因此,如何折中考慮通信的有效性和模型訓練的高效性,也是值得深入研究的課題。
② 安全計算:實現(xiàn)隱私安全更直接的方法是在系統(tǒng)中引入加密、鑒權等傳統(tǒng)安全機制。 一種實現(xiàn)安全計算的思路是通過加密算法和驗證過程保證設備間的數(shù)據(jù)交互過程是得到許可并且安全的。 例如,文獻 [76]提出了一套基于強化學習(Reinforcement Learning,RL)的安全機制,該機制包括安全的計算卸載、認證和協(xié)作緩存。 利用強化學習中的Qlearning 和 DQN (Deep Q-learning Network)技術的靈活性和輕便性,該機制能夠在不明顯增加系統(tǒng)復雜度的情況下,保證系統(tǒng)安全性。
邊緣學習系統(tǒng)的開發(fā)和部署是理論研究的最終目的,同時也是實現(xiàn)邊緣學習技術價值的最后一環(huán)。下面從系統(tǒng)架構(gòu)、軟件平臺以及硬件加速3 個方面說明實現(xiàn)邊緣學習系統(tǒng)面臨的機遇和挑戰(zhàn)。
① 系統(tǒng)架構(gòu):邊緣學習的實現(xiàn)和大規(guī)模部署將依賴于網(wǎng)絡架構(gòu)的高效設計。 歐洲電信標準研究院(European Telecommunications Standards Institute,ETSI)為了促進緣計算在 5G 通信系統(tǒng)中的應用,提出以網(wǎng)絡功能虛擬化(Network Function Virtualization,NFV)為基礎的網(wǎng)絡架構(gòu)[77]。 NFV 能將邊緣的物理資源以網(wǎng)絡功能的方式提供給上層的應用,為AI 應用的部署提供了平臺。 通過網(wǎng)絡運營商與服務提供商的緊密合作,可以實現(xiàn)網(wǎng)絡能力的開放和針對特定垂直行業(yè)的應用服務。
② 軟件平臺:在軟件平臺方面,微軟公司推出的 Azure IoT Edge 和 Google 公司推出的 Cloud IoT Edge,都成為實現(xiàn)邊緣計算的應用平臺。 二者都為開發(fā)者提供了在線訓練AI 模型的平臺,訓練后的模型能夠靈活地部署在網(wǎng)絡邊緣的 IoT 設備上。 但它們都依賴云平臺,需要將模型訓練的過程進一步向邊緣化演進。 與此同時,當前也有許多用于開發(fā) AI 應用的深度學習框架,如 TensorFlow,Torch ,Caffe 等。 這些框架一方面需要向邊緣化發(fā)展,開發(fā)出更適合邊緣服務器的軟件框架如 TensorFlow Lite,Caffe2 ,CoreML 等;另一方面,也需要朝著彼此兼容的方向發(fā)展,從而適應由具有不同軟硬件架構(gòu)的設備形成的邊緣網(wǎng)絡環(huán)境。
③ 硬件加速:除了上述對軟件的需求,硬件的加速對于在終端和邊緣端部署以及實現(xiàn)機器學習算法也是至關重要。 為此,設備商也開始使用圖像處理單元 (Graphic Processing Unit,GPU) 和 AI 芯片,如蘋果公司的 A12 仿生芯片、中星微公司的嵌入式神經(jīng)網(wǎng)絡處理單元(Neural-network Processing Unit,NPU)——“星光智能一號”及華為公司的 NPU——“麒麟 970”等。 特別是,Google 公司還推出了專門用于嵌入終端設備的邊緣張量處理單元 (Edge-Tensor Processing Unit,Edge-TPU) 及相關的開發(fā)套件。 TPU 是專門用于計算 AI 模型的專用集成電路(Application Specific Integrated Circuit,ASIC),它具有高性能、小體積、低功耗以及低成本等特點。 因此,TPU 能夠靈活地部署在終端設備和邊緣服務器中。 未來,邊緣學習的實現(xiàn)和部署將有賴于算力更強、功耗和成本更低的 GPU,NPU,TPU 等AI 芯片的發(fā)展和應用。
隨著移動通信和AI 技術的迅猛發(fā)展,通過更加靠近終端設備進行數(shù)據(jù)計算與處理,可以顯著降低通信負荷并提高 AI 應用的響應速度。 因此,迫切需要將 AI 應用從云端下沉到網(wǎng)絡邊緣。 為了適應這個重要的技術發(fā)展趨勢,邊緣學習已被廣泛認為是在資源受限環(huán)境中支持計算密集型 AI 應用的典型解決方案,本文對邊緣學習的最新研究成果進行了全面綜述。 具體來說,首先回顧了邊緣學習的發(fā)展歷程;然后,考慮到數(shù)據(jù)隱私及通信開銷等問題,分析了如何在網(wǎng)絡邊緣進行模型訓練以及如何進行高效通信子系統(tǒng)設計的關鍵技術;而且,為了減輕終端設備執(zhí)行 AI 計算的壓力,討論了將計算密集型任務轉(zhuǎn)移到邊緣服務器或相鄰終端上的計算和模型卸載技術;最后,展望了邊緣學習面臨的發(fā)展機遇與挑戰(zhàn),包括通信與計算的聯(lián)合優(yōu)化、數(shù)據(jù)安全與隱私保護,以及邊緣學習的實現(xiàn)與部署等。 本文能夠為邊緣學習領域的初學者提供一個宏觀的研究視野和快速入門指南,并啟發(fā)后續(xù)理論研究和技術創(chuàng)新。