邊緣計算的優勢在于利用網絡邊緣的遠程計算資源運行相對弱小的終端設備工作負載,而云計算則依托地理位置更遠但性能更強大的遠程設備提供計算能力。這兩大范式的融合可實現優勢互補——即某一范式的短板恰為另一范式的強項。以深度學習為例,其工作負載需要大量算力支持,而物聯網(IoT)設備等低功耗終端往往無法滿足此類需求。通過將任務卸載至云邊連續體,算力薄弱的終端可訪問強大遠程節點的計算資源,其中遠程加速器虛擬化技術正是關鍵實現手段。本論文重點研究基于深度學習推理的GPU加速器虛擬化在云邊連續體(涵蓋終端設備、邊緣節點與云端)中的應用潛力。盡管存在專用機器學習加速器(如張量處理單元TPU),但GPU憑借其普及度、可用性與技術支持成為首選方案。云邊計算的異構性(硬件與軟件多樣性)、延遲約束及節點動態可用性等問題構成了加速器虛擬化的主要挑戰,本研究通過三大核心領域貢獻實現突破。
首先,論文提出名為AVEC的透明化遠程加速器虛擬化框架。通過應用編程接口(API)攔截技術,終端設備運行的應用程序可將原定本地GPU處理的工作負載片段,經網絡重定向至配備GPU的遠程節點執行。該技術僅卸載GPU內核計算,使得本地CPU持續運行,從而降低終端計算資源壓力。本文深入探討了該框架的架構設計、功能特性與性能表現。
其次,研究探索卸載工作負載在網絡節點中的部署方式。相較于虛擬機,容器技術憑借輕量化虛擬化優勢更適用于異構云邊環境。針對節點動態失效問題,本文提出無狀態容器遷移方案,特別適用于深度學習推理任務的連續性保障。
第三,論文建立工作負載調度與部署策略體系。通過制定最優節點選擇機制,結合設備性能指標與網絡狀態參數,實現任務在云邊連續體中的智能調度。研究量化分析了設備配置、網絡帶寬等指標對系統性能的影響,并據此設計啟發式調度算法。
AVEC框架的優勢體現于輕量化透明虛擬化、特定負載執行時間縮減及多CPU架構兼容性。通過基于Caffe深度學習庫的多場景測試,驗證其在實驗室環境中最高可達7.48倍加速比(相比終端本地執行),同時保持低部署延遲與無縫遷移能力。盡管存在遠程虛擬化開銷,但性能提升效果顯著。
論文結構如下: 第一章 概述研究主題,明確待解決的核心問題與研究目標。
第二章 系統梳理領域前沿文獻,揭示當前研究空白及本論文的創新定位。
第三章 闡述相關理論基礎,定量化界定研究目標。
第四章 詳述基于API攔截的加速器虛擬化框架設計,論證其應對異構性挑戰的技術優勢。
第五章 通過容器化方案,實現工作負載快速部署與透明實時遷移,闡明功能需求的必要性。
第六章 構建云邊環境下的工作負載調度模型,建立基于多維度指標的啟發式調度機制。
第七章 通過三組測試案例,驗證虛擬化效能、部署遷移性能與調度策略有效性。
第八章 總結研究成果,展望待解決問題與未來研究方向。
隨著自主機器人能力提升并日益融入社會生活,用戶交互方式、機器對人的感知機制及其對人類意圖的理解能力成為關鍵課題。當用戶需同時操控多臺機器人時,這一挑戰的復雜性將顯著增加。
自主作業中常需人工介入,尤需復雜決策或存在安全隱患的場景。因此,多智能體系統的人機交互方法成為重要研究方向——這類交互應兼具直觀性、高效性與安全性。本研究提出新型"集群人機交互界面(HSI)",通過手勢控制與觸覺反饋實現在密閉空間內操控四旋翼無人機群。該界面在保障操作者安全的同時,顯著降低集群控制的認知負荷。
人機交互界面(HRI)旨在優化人機通信機制,以直觀友好方式增強用戶對機器人的指揮協作能力。核心挑戰在于賦予移動機器人系統環境中的用戶定位與交互能力:定位需獲取用戶相對于機器人的位姿(位置與朝向),這對近距離交互或共享空間導航至關重要。我們提出創新方法,可實時獲取用戶位姿及其他人機交互所需人體參數。
另一挑戰在于將HRI與HSI范式擴展至戶外場景。不同于受控實驗室環境,戶外涉及諸多變量(如多變氣象條件、靜態與動態障礙物混合)。本論文設計便攜式集群人機交互界面,支持操作者在戶外操控多智能體系統。該便攜HSI采用智能雙目鏡形態,用戶通過其選定戶外區域并分配任務,使多智能體系統在目標區域執行作業。此系統開創了多智能體作業新模式:在利用自動駕駛設備執行視距操作時,既能融合用戶實地知識,又能保持其態勢感知能力。
人工智能分布式部署中智能體系統的廣泛應用,對高效選擇影響智能體學習行為的參數、在復雜環境中實施機制設計,以及整合多元智能體能力實現目標結果提出了新挑戰。算法機制設計作為計算機科學、數學和經濟學的交叉領域,致力于開發引導理性智能體達成預期行為的算法,其應用涵蓋資源分配、成本分攤、定價與組合拍賣等場景。然而,傳統方法受限于計算約束與靜態假設,在充滿不確定性與動態變化的環境中效果不佳。
本論文通過融合強化學習(RL)與貝葉斯優化(BO),針對動態多智能體場景開發自適應機制以突破上述局限。我們提出多智能體強化學習(MARL)中機制設計的新框架,依托創新的BO方法高效探索潛力方案。MARL可捕捉隨機環境中多智能體動態交互的復雜性,通過求解底層馬爾可夫博弈以學習聯合策略。評估多MARL場景的計算復雜度問題通過以下方式解決:(I)擴展后繼特征至納什均衡策略的遷移學習;(II)采用BO框架限定評估預算,使問題可解。
所提機制設計框架的有效性在出租車平臺司機服務費設定、共享自然資源開發管理(社會福利最大化)、探索任務機器人集群硬件采購決策優化,以及激勵機制與招募策略設計(委托方目標最優化)等實際應用的基準研究中得到驗證。該方法在現實問題上展現的優越性,凸顯了BO與MARL融合優化復雜多智能體系統的潛力,為機制設計領域的未來研究奠定了堅實基礎。
眾多系統需在分布式智能體間分配任務,并要求各參與者優化有限資源以高效完成任務。在智能體數量少、環境穩定的場景中,存在搜索最優任務與資源分配的算法。此類系統可通過集中式策略規劃與智能體協調實現優化。但在智能體數量龐大或環境高度動態、不確定的復雜場景中,傳統方案效能下降。現實系統(如無線傳感器網絡、智慧城市車輛協同、無人機集群編隊)往往兼具復雜性與環境擾動敏感性。本論文針對動態多智能體系統的任務與資源分配挑戰做出貢獻,開發可擴展的去中心化算法——基于智能體局部知識優化任務與資源分配,提升系統在真實場景中的效用。我們通過三項遞進式創新解決該問題:首先開發基于強化學習的任務分配算法(根據任務完成質量優化分配,并基于歷史績效動態調整探索策略);其次提出資源分配算法(通過強化學習評估任務價值,優化有限資源在受托任務中的配置);最終整合前兩項成果形成動態環境下的綜合解決方案,并增強其對通信中斷、惡劣天氣等擾動的魯棒性。通過代表性系統仿真驗證各模塊性能,并以海洋環境監測系統為案例評估整體方案。
為實現研究目標,我們分步研究并整合解決方案:
貢獻1:任務分配算法
提出四類協同算法,使智能體通過強化學習優化任務分配策略,并根據經驗動態調整系統探索程度。算法支持智能體評估他者任務執行能力、分配任務,并基于當前認知與能力探索需求采取行動。
貢獻2:資源分配算法
引入結合時間維度資源需求函數近似與強化學習的資源優化算法,適用于共享資源競爭與任務優先級排序場景。
貢獻3:層次化多目標任務與資源分配綜合算法
開發整合前兩項貢獻的算法,適應動態系統中智能體構成與能力變化,解決多競爭目標優化難題,并支持智能體自組織角色分工。
三項貢獻共同應對1.3節所述挑戰,達成1.2節定義的研究目標。
論文結構
第一部分:概述多智能體系統相關概念、理論與既有成果。
第二部分:詳述核心研究內容、算法設計及海洋監測案例評估。
第三部分:總結成果、展望未來研究方向與應用潛力。
章節安排
? 第2章:解析多智能體系統核心概念、運作環境與分布式系統應用。
? 第3-5章:分別探討任務分配難題(第3章)、有限資源優先級分配(第4章)、多智能體強化學習應用及現實挑戰(第5章)。
? 第6章:剖析分布式智能體系統組織結構、特征與自組織行為。
? 第7章:以無線傳感器網絡(特別是海洋監測案例)貫穿概念闡釋。
? 第8章:形式化定義智能體系統,確立任務與資源分配問題框架。
? 第9章:聚焦任務分配算法開發。
? 第10章:設計任務優先級驅動的資源分配算法。
? 第11章:整合任務與資源分配方案,實現1.2節全局問題求解,并增強智能體間協同自組織能力。
? 第12章:基于海洋環境傳感器網絡的案例研究(惡劣動態環境中驗證算法可靠性)。
? 第13章:總結研究成果與目標達成度,探討應用場景及未來擴展方向。
圖1.3:智能體系統中的任務分配。智能體??持續接收類型??的任務集(需執行類型??與??的子任務)。首幅圖示中,其將??類任務分配給最優智能體??,但將??類任務分配給非最優智能體??。次幅圖示顯示??通過學習確認??為??類任務最優執行者,遂調整鄰居關系(剔除??并納入??)。
圖1.4:多智能體系統中的行動優化。兩圖展示智能體學習優化行動以響應任務請求的進程。首幅圖中,??將??類子任務分配給??、??類分配給??,但??與??均未優化資源配置以優先處理對應任務。次幅圖中,??與??通過資源重配置分別優化執行??與??類任務的價值(針對??的需求)。
圖1.5:多智能體系統中的鄰居關系。首幅圖中,??將??類任務分配給未優化的??,而專精??類任務的??雖存在卻不在??的鄰居范圍內。處于??鄰居范圍的??雖無法直接執行??類任務,但可連接至??。次幅圖示顯示??通過學習承擔任務中繼角色,使??間接擴展鄰居范圍至??,實現??類任務的最優執行。
近年來,將AI賦能應用部署至邊緣端的訴求與能力顯著增長。然而,邊緣設備在算力、面積與功耗方面的限制,與AI應用對底層神經網絡規模、深度與能力的持續提升需求形成矛盾。此類應用通常具有數億至數十億參數的大內存占用特征,并通過矩陣運算產生高計算需求,導致其成為諸多架構問題的極端案例。為解決諸如"內存墻"等架構挑戰,計算機架構師與工程師開發了多種解決方案、框架與技術。面向內存計算架構、SIMD協處理器、神經網絡引擎等專用系統的模擬裝置已不同程度地提出與實施,但多數存在共同局限——設計時僅考慮有限實驗場景,通常僅與傳統系統進行對比。鑒于AI應用架構選擇的多樣性,孤立評估單一方案或對比融合多方案的異構系統變得極為困難。現代計算架構挑戰的復雜性及異構系統普及趨勢,使得架構設計空間探索的不可遍歷性成為未來架構發展的阻礙。
為此,本博士論文提出ALPINE框架——基于gem5-X模擬器構建的全系統級計算機架構框架,并通過集成開發的工具與方法論,支持新型異構邊緣架構的實施、建模與關鍵指標提取。該框架通過在通用系統全系統級仿真內核中集成多種新型加速器與接口建模能力,為現代神經網絡架構探索奠定基礎,并支撐未來研究。
利用ALPINE框架,我們首先實現對CPU近端模擬內存計算單元的建模,該單元通過指令集擴展接口執行恒定時間的矩陣向量乘法運算(AI應用常見瓶頸)。通過對多層感知機、循環神經網絡與卷積神經網絡等AI應用的廣泛探索,聚焦關鍵子區域分析,我們驗證了該方案的應用優勢,揭示了跨核通信這一新興瓶頸,并證明相較傳統SIMD向量化系統可實現最高20.5倍加速與20.8倍能效提升。針對通信瓶頸,ALPINE框架內建模的無線暫存器可實現核間高速數據傳輸,使測試卷積神經網絡額外獲得20%性能提升。
基于ALPINE框架的高度可擴展性,我們重構加速器模型以支持CPU近端小規模脈動陣列建模。以Transformer模型為測試案例,驗證其在全應用層面最高可實現89.5倍加速。通過ALPINE集成的脈動陣列與模擬內存計算雙模型,我們能夠在同系統中對比兩種加速方案的性能、能效與功能取舍,并與配備SIMD協處理器與大容量緩存的系統進行橫向評估。
為拓展ALPINE設計空間異質性維度,我們進一步研究基于總線傳輸接口的遠端模擬內存計算單元,并與近端方案進行對比。該探索揭示了多進程神經網絡中負載均衡與數據傳輸開銷的影響機制,通過優化先進負載均衡算法,我們在多種卷積網絡中實現額外加速與能效提升(最高超5倍)。
本論文研究表明,通過實施應用至加速器的映射、瓶頸隔離、架構工具與指標分析等方法,不僅能實現異構架構探索,更能揭示其實際效能。ALPINE框架具備充分通用性,可高效支持未來新型加速器模型、配置方案及神經網絡瓶頸的探索。
關鍵詞:全系統級仿真,計算機架構,人工智能,機器學習,深度學習,異構架構,神經網絡,推理,內存計算,加速器,多層感知機,循環神經網絡,卷積神經網絡,Transformer模型,接口。
深度學習通過自動化關鍵任務并實現超越人類的準確度,已在多行業引發革命性變革。然而,這些優勢主要依賴部署于云端的巨型神經網絡,其能耗驚人。本論文提出兩類新型框架與算法,將深度學習模型部署邊界拓展至微型邊緣設備——此類設備通常在計算資源有限且環境噪聲復雜的場景下運行:
(1)高效邊緣AI新框架。開發了通過濾波器剪枝與高效網絡設計降低推理成本的方法。CUP框架提出層級濾波器聚類剪枝技術實現模型壓縮與加速;CMP-NAS框架構建視覺搜索系統,優化小型邊緣模型與大型服務器模型協同工作,在保持高精度前提下實現80倍計算成本削減。
(2)魯棒邊緣AI新方法。開發了在降低推理成本同時增強現實噪聲魯棒性的技術。REST框架擴展剪枝應用范圍,使網絡效率提升9倍、運行速度加快6倍,且具備對抗高斯噪聲與對抗樣本的魯棒性;HAR方法將多分支神經網絡的早期退出機制擴展至訓練階段,在類別不平衡最優精度,同時節省20%推理算力;IMB-NAS框架通過超網絡適配策略優化不平衡數據集的神經架構,相較從頭搜索節省5倍計算資源。
研究成果對工業界與社會產生重大影響:CMP-NAS技術支撐時尚與面部檢索服務的邊緣部署案例,在亞馬遜公司內部向數千名研發人員展示;REST技術通過手機實現居家睡眠監測功能,獲多家新聞媒體重點報道。
隨著太空探索的加速發展,以及在極端環境中工作的機器人和人類數量的增加,我們必須實施多智能體自主協調,以確保在本質上通信不友好環境中可安全操作。據所知,目前尚無多智能體調度算法能夠獨立推理通信延遲。一個必須解決的關鍵缺口是開發一種單智能體調度器,能夠在不確定的觀察下決定何時行動,這可以成為分布式多智能體調度的基礎。現有研究已經提供了關于時間推理的見解,即建模觀察不確定性和在時間約束下調度事件。我們既需要在存在不確定觀察延遲時決定何時調度事件,也需要在智能體之間進行穩健的協調。面對不確定性調度事件是一個挑戰,原因在于不可控制的外部事件、未知的觀察延遲以及智能體之間不確定的通信所導致的復合不確定性。本論文提出了一系列貢獻,最終展示了一個穩健的單智能體任務執行器,該執行器使用我們的調度器在多智能體環境中進行協調,盡管存在觀察延遲。實現這一點需要深入理解如何檢查具有不確定延遲的時間約束的可控性,定義一個對不確定觀察延遲具有魯棒性的調度器,將該調度器集成到現有的高層任務執行器中,并制定多智能體的協調策略。我們展示了該調度器具有預期的性能特征,并通過一個受人類太空飛行啟發的場景,在實驗室中進行了多智能體在不確定通信下的執行演示。
本論文的結構如下。第 2 章將提供更詳細的問題陳述,包括用于測試不確定通信的分布式協作和協調的場景描述。第 3 章將概述我們解決該問題的方法。第 4 章將提供本論文的第一項技術貢獻,首先是解決觀察延遲建模問題,然后提供一個可用于檢查具有觀察延遲的時間約束是否可滿足的程序。第 5 章介紹了延遲調度器,這是一種新穎的策略,用于決定在觀測延遲的情況下何時采取行動。在第 6 章中,我們將延遲調度器定位為可部署到實際硬件中的高級任務執行器。第 7 章最后介紹了一種用于不確定通信環境的多智能體協調架構。第 8 章中的討論為本論文畫上了句號,為本研究中的決策提供了更多背景信息。
現在,模擬被更頻繁地用于對現實世界或擬議系統進行實驗,以了解系統行為或評估改進策略。隨著時間的推移,大型企業越來越需要開發精密復雜的系統來與同行業競爭。而且,這些企業之間的聯系越來越緊密,就像一個網絡化的企業。這就進一步提高了開發能與其他企業互聯的越來越復雜的模擬的要求。在這方面,分布式仿真已廣泛應用于軍事領域,但在其他領域并沒有得到普及。這背后的原因是,在分布式仿真之間建立通信協議需要專業技術知識。科研行業一直在努力縮小這一差距,其中最重要的工作是制定高級架構(HLA)標準,為分布式仿真模型之間提供通用通信協議。
建模與仿真(M&S)行業也為開發人員提供了大量有關獨立仿真建模的文獻。在這種情況下,概念建模的重點是模型的準確性和效率,而不是互操作性。本研究也對此進行了詳細討論。直到最近,從業人員也一直在努力尋找對底層技術的支持。但隨著標準運行時基礎設施(RTI)和仿真開發平臺支持的引入,這一差距已經縮小。
HLA 標準承諾解決分布式仿真模型之間的互操作性問題,但只能提供語法層面的標準指南。因此,仿真互操作性標準組織(SISO)繼續開展研究,確定了從業人員在語義層面面臨的互操作性問題,并起草了一份互操作性問題清單。然而,已發布的 SISO-STD-006-2010 標準只指出了問題,卻沒有提供語義解決方案。
本研究的主要貢獻是提出了分布式仿真互操作性(DSI)框架,為《商用現成仿真包互操作性參考模型》(SISO-STD-006-2010)中列出的互操作性問題確定了語義解決方案。本研究建議將這些互操作性語義解決方案納入 HLA 對象建模模板規范。這樣做將有助于行業從業人員實現 HLA 的互操作性承諾,并使分布式仿真模型更具可重用性和可組合性。
多智能體自主系統與實時規劃有關的研究日益增多,本論文就是對這一研究的貢獻。多年來,由移動智能體組成的自主系統已被證明是用于探索(如太空機器人)、軍事(如搜救行動)和工業應用(如谷歌自動駕駛汽車)的高效、穩健和多功能工具。隨著自主技術日趨成熟,部署多個自主智能體來完成復雜的任務在許多不同的應用中都受到了廣泛關注。如果單個智能體可以完成一項任務,那么多個智能體就有可能更快地完成任務。然而,引入多個智能體會使整個系統變得更加復雜,因為現在的智能體需要能夠有效地相互協作。在沒有有效協作機制的情況下隨機引入智能體,可能會對生產率產生負面影響。
本論文的研究目標是使多智能體自主系統在現實應用中無處不在。我們采用了自下而上的方法來開發算法機制,以應對我們在實現這一目標的道路上所面臨的挑戰。
對于在動態環境中運行的智能體來說,能否成功執行任務取決于它能否有效地導航到目標位置。如果我們在環境中引入更多的智能體,路徑規劃的要求就會更高,因為現在智能體之間必須把彼此當作動態障礙物來對待。路徑規劃算法不僅需要避開障礙物,還需要足夠快的速度,以便在移動智能體在導航過程中遇到意外障礙時重新規劃。此外,路徑規劃算法還需要保證智能體能夠在滿足機械約束條件的情況下穿越路徑。
我們開發了一種基于隨機優化的同步重規劃矢量粒子群優化算法(SRVPSO),通過避開靜態和動態障礙物來找出成本最優的路徑。所提出的算法通過應用同步重新規劃策略,減少了路徑規劃的計算時間。SRVPSO 算法還能在一些車輛約束條件下工作,如車輛尺寸和轉向角。此外,還開發了一種不同地形的可穿越性評估方法,以便在未知環境中進行無風險、穩健的導航,同時優化總成本。
由移動智能體群組成的自主系統需要一個有效的任務規劃器來成功完成一系列任務。任務規劃器所面臨的挑戰是如何為每個智能體確定最優化的任務數量和相關任務。為了解決多智能體自主系統任務規劃過程中的任務分解和任務分配問題,我們開發了一個折中視圖(CV)模型和一個基于最近鄰搜索(NNS)的模型。結果表明,這些模型因其反應式管理結構而非常有效,能成功完成任務。NNS 模型能有效地解決智能體的分解問題。它還具有任務切換能力。
任務規劃器的多目標優化框架可確定任務所需的智能體數量。任務規劃器利用所開發的任務分解方法,最大限度地減少完成任務的時間以及智能體的數量。多目標框架的輸出是帕累托最優值,然后將其作為決策框架的輸入,根據用戶定義的一些約束條件和優先事項確定優化的智能體數量。在測量完成任務的時間時,任務規劃器利用先前開發的路徑規劃器模擬智能體在環境中的導航軌跡,以提供最準確的估計。
然而,正在進行的任務可能會受到突發事件的影響(如一些天氣事件、智能體的意外維護要求等)。未來任務的規劃取決于正在進行的任務,因為它提供了對資源可用性的估計。需要一個現實的預測模型,利用過去任務的信息,對當前任務的完成情況進行統計估計。
我們開發了一個基于人工神經網絡的預測模型,根據以往任務的信息預測任務的完成時間。該預測模型旨在為潛在的任務規劃者提供指導。利用這一數值模型,未來的規劃者可以預測所需的資源,而無需經過優化過程。上述所有算法工具都通過大量的模擬結果和實時實驗進行了演示。
以機器學習為代表的人工智能技術需要對海量數據進行處理,對底層算力要求極高。分布式機器學習通過將計算 任務分布式地部署到多個計算節點來加快模型的訓練速度,從而將訓練任務完成時間降低到可接受范圍。由于通信開銷對分 布式機器學習系統的擴展性具有重要影響,因此,分布式機器學習系統網絡性能優化受到各界研究者的廣泛關注。本文首先 分析了分布式機器學習系統擴展性不足的主要原因,并提出了改善其擴展性的關鍵思路,然后系統地綜述了分布式機器學習 系統網絡性能優化相關的研究工作,并對這些研究工作從多個角度進行了對比分析。最后,對分布式機器學習系統網絡性能 優化研究的未來發展趨勢進行了展望。
引言
近年來,以機器學習,尤其是深度學習,為 代表的人工智能技術在圖像識別[1]、語音識別[2]、 機器翻譯[3]和自動駕駛[4]等應用領域都取得了突 破性進展。其原因可以分為三個方面:首先,互 聯網、大數據技術的發展,積累了海量的訓練數 據,在這些數據中蘊含著豐富的信息;其次,機 器學習理論的發展使得機器學習算法和模型不斷 完善,為從訓練數據中挖掘有價值的信息創造可 能;最后,GPU 等加速器以及云計算等技術大幅 提升計算性能,大大加快了從數據中獲取信息的 速度,使得機器學習技術的應用成為現實。總之, 作為第三次人工智能浪潮的“催化劑”,算力的大 幅提升直接將人工智能再次推向新的繁榮期。高性能的機器學習算法往往具有更高的計算 需求。據 OpenAI 統計,人工智能訓練所需要的算 力呈指數級增長,每 3.5 個月翻一倍①。相比之下, 近年來計算引擎的發展速度則遠遠落后于模型計 算需求的增長。以 Nvidia GPU 發展為例,表 1 展 示了 2012 年以來 Nvidia 的多代 GPU 在訓練 ResNet 模型時的性能表現。可以看到近 8 年來, GPU 的計算性能只提高了 16 倍左右,遠低于同 期模型計算需求的增長。在“后摩爾定律”時代, 單個計算引擎的性能提升逐漸進入了瓶頸期。面 對日益復雜的計算任務,分布式機器學習被認為 是必然的發展趨勢,逐漸成為業界的研究熱點[5]。
在分布式機器學習訓練任務的迭代計算過程 中,不同計算節點間需要頻繁同步機器學習模型 參數,以使得該模型能夠遍歷完整的數據集,從 而保證最終得到的模型與使用單機訓練的模型一 致。然而,隨著計算節點數量的增多,一方面, 不同節點間進行參數同步的流量逐漸增加;另一 方面,為了避免單輪訓練過多數據(即批尺寸過 大)帶來的模型泛化能力下降問題[6],每個節點 所分配的計算任務會逐漸減少。因此,對于分布 式機器學習系統,通信開銷和計算開銷的比值會 隨著系統規模的增大而呈現冪增長趨勢。這導致 通信成為限制大規模分布式機器學習系統擴展效 率的主要瓶頸,甚至出現隨著節點數量增加,模 型訓練速度反而下降的情況[7-11]。并且,過多的通 信時間會導致 GPU 等昂貴的計算設備大部分時 間處于等待參數同步的狀態,造成計算資源的浪 費。因此,研究如何對分布式機器學習系統的網 絡性能進行優化,降低通信操作對分布式機器學 習系統擴展效率的影響,從而提高機器學習模型 的訓練速度,具有重要的研究意義和實用價值。 本文將首先介紹分布式機器學習系統的通信 特點,并分析網絡通信成為分布式機器學習系統 擴展性瓶頸的原因,然后提出三種優化網絡性能 的關鍵思路,并以這些思路為指導,從通信模式、 通信數據量、通信效率以及網絡拓撲等方面具體 地介紹分布式機器學習系統網絡性能優化研究的 最新進展,并從加速效果、優化機制、擴展性、 對模型收斂性的影響以及是否需要升級硬件設備 或更新互聯方式等多個角度對這些研究工作進行 對比分析,最后討論分布式機器學習系統中網絡 性能優化研究的未來發展趨勢。 2. 分布式機器學習
隨著信息技術快速發展,全球數據呈現爆發 式增長,推動人類社會邁入大數據時代。在大數 據時代,機器學習訓練任務往往需要對海量的訓 練數據進行大量的計算,以提高模型的準確度。在單機上執行這樣的訓練任務,無論是在計算速 度還是在數據存儲方面都顯得十分吃力。例如, 使用單塊 Nvidia Tesla V100 GPU 訓練自然語言處 理模型 BERT-large 需要耗時 78 天,這顯然是不可 接受的。分布式機器學習的目標則是將訓練任務 分布式地部署到多個計算節點,從而提高模型訓 練的速度,減少任務耗時。因此,分布式機器學 習已經成為機器學習最熱門的研究領域之一。 分布式機器學習的并行方式主要包括數據并 行(Data Parallelism)和模型并行(Model Parallelism)。如圖 3 所示,數據并行是指每個計算節 點上均具有同一機器學習模型的副本,但不同計 算節點分配到的訓練數據是不同的,不同計算節 點間需要將各自的模型更新進行同步,以保證機 器學習模型的全局一致性。模型并行則是將機器 學習模型劃分為多個子模型,并分別部署在不同 計算節點上,訓練數據統一輸入,前一節點完成 子模型計算后將計算結果傳遞給后一節點繼續對 該訓練樣本進行處理。數據并行由于操作簡單, 且不同節點的計算負載比較均衡,應用最為廣泛。目前,TensorFlow[13]、Pytorch[14]和 MXNet[15]等主 流機器學習框架均對數據并行提供了支持,并且 具有極好的易用性,但模型并行仍需要用戶手動 對模型進行劃分和分布式部署。
假設某分布式機器學習系統共有 m 個計算節 點,批尺寸為 n。當采用數據并行時,每個計算 節點每輪處理的樣本數量為 n/m。各計算節點基 于所分配到的訓練數據對模型進行更新,然后將 不同計算節點更新后的模型進行匯總。匯總后的 模型參數如下:
對比公式(2)和公式(3)可知,如果在每一輪訓 練結束時,將模型參數在所有計算節點間進行同 步,則分布式訓練時的模型參數變化和單機訓練 完全相同,即分布式訓練可以在不改變模型的收 斂性的前提下提高模型的收斂速度。需要說明的 是,在實際應用中,一般是對不同計算節點的梯 度進行匯總,然后使用匯總后的梯度來更新模型 參數,并將新的參數賦給各計算節點的模型副本。相比于單機訓練,分布式訓練額外引入了節 點之間的數據通信,從而導致分布式訓練的速度 無法隨著計算節點數量的增加而線性提高。衡量分布式機器學習訓練加速效果的指標主要包括加 速比(speedup)和擴展效率(scaling efficiency)。加速比是指同一機器學習訓練任務在單機訓練和 分布式訓練時所需時間的比值。加速比越大,分 布式訓練的加速效果越顯著,也就是說,可以更 快地完成訓練任務。需要注意的是,加速比有可 能出現小于 1 的情況,此時分布式訓練速度反而 不及單機訓練。擴展效率是指加速比和計算節點 數量的比值。擴展效率越高,各計算節點的計算 資源利用率也就越高。圖 4 展示了利用 Nvidia Tesla V100 GPU 訓練 BERT 模型時加速比和擴展 效率隨 GPU 數量的變化,可以看出加速比和擴展 效率的變化趨勢并不相同。一般來說,隨著節點 數量的增多,擴展效率呈下降趨勢,而加速比則 呈先升后降趨勢。加速比在節點數量增多時反而 下降,是由于參數同步引入的通信開銷抵消了新 增節點帶來的性能收益。
具體來說,網絡性能之所以會成為分布式機 器學習系統擴展性瓶頸的主要原因有以下三點:1) 機器學習模型越來越復雜,模型參數量 不斷增加。機器學習算法理論的快速發展催生出 各種各樣的機器學習模型。例如,OpenAI 最近提 出的自然語言處理模型 GPT-3 [16]具有 1750 億參 數,而 Krizhevsky 等 人 在 2012 年提出的 AlexNet[17]模型參數量僅為 0.45 億。這導致在相 同節點規模下,任意兩個計算節點間需要同步的 參數量隨之大幅增加,加劇了分布式機器學習系 統中網絡通信的壓力;2) 復雜的機器學習模型同時也意味著需要 更多的算力,導致分布式系統規模的增大。如前 所述,在機器學習模型不變的情況下,分布式系 統規模越大,每個節點所承擔的計算任務越少, 計算耗時越短;與之相反,分布式系統規模越大, 每個節點需要通信的對端節點數量越多,通信耗 時越長。因此,隨著分布式機器學習系統規模的 增大,通信開銷在整體模型訓練開銷中的占比越 來越高;3) GPU 等計算設備的性能提升速度快于網絡設備的升級。雖然計算設備的性能提升速度遠 不及模型算力需求的增長,但仍比網絡設備的升 級速度更快。計算性能和通信性能的差距越來越 大,即,計算資源在單位時間內處理的數據需要 更長的時間才能被網絡資源處理完。這意味著分 布式機器學習系統中的網絡瓶頸問題將會日益嚴重。
如圖 5 所示,為消除(或緩解)網絡性能對 分布式機器學習系統擴展性的限制,從本質上來 說,有以下三種根本性思路:
1) 降低通信需求。通信需求,即需要通信 的數據量和通信次數,對通信耗時具有根本性的 影響。顯然,數據量越大,或者通信越頻繁,通 信耗時越長。因此,為了減少通信耗時,可以從 機器學習算法層面構建低網絡通信需求的訓練模 型,或采用知識蒸餾和模型剪枝等方式對原模型 進行修改以減小模型尺寸。這些方法會造成訓練 模型的變化,超出了本文的討論范圍,故后文不 再作詳細描述。參數量化以及參數稀疏化保持訓 練模型不變,通過降低被傳輸的參數量來降低通 信需求。并行方式的優化通過權衡參數數據量和 激活值數據量的大小來切換不同的并行方式:當 參數數據量較少時,采用數據并行;反之,采用 模型并行。模型一致性協議通過控制參數同步的 頻率來調節通信需求。參數同步架構對通信次數 和每次通信的數據量均會產生影響,通過選取合 適的參數同步架構可以有效降低通信需求;
2) 提升通信能力。在通信需求一定時,分 布式系統的通信能力越高,通信耗時越短。通信 能力的提升主要有兩種方式。一種是利用 RDMA、NVLink 等高性能傳輸協議實現高帶寬、低時延的 網絡傳輸,或利用 MLT 等新型機器學習專用傳輸 協議降低丟包對傳輸性能的影響;另一種是采用 高帶寬的網絡互聯拓撲。例如,BCube 和 BiGraph 均采用多網卡服務器架構,不但大幅提高每個計 算節點對外通信的能力,甚至可將節點內的通信 流量導出到服務器外部,從而繞過 PCIe 瓶頸;
3) 提高通信效率。在通信需求和通信能力 均確定的情況下,還可以通過提高通信效率來加 速分布式機器學習訓練。例如,在 GPU 節點間進 行集合通信時,NCCL 通信庫由于針對 GPU 設備 采取了定制優化,因此具有比傳統集合通信庫 MPI 更高的性能。網內聚合通過逐跳匯聚參數, 增加了單位數據所蘊含的參數信息,從而提高了 通信效率。通信調度是在通信需求和通信能力固 定的情況下,高效利用網絡資源的一種方式,既 包括采用小尺寸梯度聚合來降低啟動開銷的方 案,也包括優先傳輸緊急參數來增加計算和通信 重疊程度的方式。
**3 參數同步模式優化 **
在大規模分布式機器學習訓練場景中,計算 節點間需要頻繁地進行參數同步,因此,參數同 步模式對整體訓練性能具有重要的影響。本節將 從模型一致性協議和參數同步架構這兩個方面詳 細介紹對參數同步模式進行優化的相關工作。
**3.1 模型一致性協議 **
在數據并行模式下,每個計算節點都需要保 存一份相同的模型副本,然后使用本地的訓練數 據對模型副本進行更新。因此,在訓練過程中, 不同計算節點所維護的模型副本會出現差異。為 了使得分布式訓練能夠取得與單機訓練相同的效 果,需要保證這些模型副本的一致性。
**3.2 參數同步架構 **
除模型一致性協議外,參數同步架構對大規 模分布式機器學習系統的性能也有至關重要的影 響。參數同步架構是指不同計算節點上的模型更 新進行匯總,并對模型副本進行更新的方式。按 每次模型更新是否推送給所有其他計算節點,參 數同步架構可以分為中心化架構和去中心化架 構;按模型更新是否在單一邏輯節點匯總,可以 分為集中式架構和分布式架構。一般來說,中心化架構既可以是集中式架構,也可以是分布式架 構;而去中心化架構一定是分布式架構。目前常 用的參數同步架構大多為中心化架構,因此,除 特別說明外,下文所提到的參數同步架構均為中 心化架構。
4. 優化方案
通信效率優化
在實際部署中,通信的性能和效率也會對參 數同步過程產生重要的影響。即使采用相同的參 數同步模式,不同的通信方式也會對整體的訓練 性能造成很大的差異。因此,為了提高分布式機 器學習訓練時的通信效率,研究人員在以下方面 進行了深入研究。
并行方式優化
如上文所述,數據并行和模型并行是兩種經 典的分布式機器學習訓練方式。對于數據并行來 說,通信開銷主要來自不同計算節點間的參數同 步;對于模型并行來說,當某個計算節點的輸入 來自另一個計算節點的輸出時,便會產生通信開 銷。當模型參數量小于中間計算結果的數據量時, 數據并行帶來的通信開銷較小;反之,模型并行 的通信開銷更小。然而,對模型整體使用某一種 并行方式,可能無法達到最優的訓練性能。因此, 一些工作[68-74]提出使用混合并行、流水并行等方 式,通過細粒度的并行優化來提升分布式訓練性 能。
**網絡拓撲優化 **
除以上優化方案外,分布式機器學習系統領 域的研究者也對分布式訓練集群所使用的底層物 理網絡拓撲提出了優化方案。
表 4 綜合對比了近年來研究人員所提出的分 布式機器學習系統網絡性能優化研究相關工作。 對比的主要指標包括優化機制、訓練加速效果、 節點擴展性、對模型收斂性的影響以及是否需要 更換硬件設備或者互聯方式等。這些工作從多個 層面對分布式機器學習系統的網絡性能進行優 化,不同機制之間各有優劣。 從訓練加速效果來看,ASP 這一模型一致性 協議將通信開銷從模型訓練的核心路徑上移除, 使得網絡通信不會阻塞訓練過程,加速效果非常 好;模型壓縮或并行方式優化等方案,有效地減 少了各計算節點通信的數據量,而網內聚合方案 則逐跳減少了網絡中的流量,因此,這些方案具 有非常好的加速效果;傳輸協議和通信庫優化類 方案提高了點到點通信性能,網絡拓撲優化類方 案提高了通信節點之間的互聯帶寬,這些方案的 加速效果也很好;雖然不同參數同步架構的理論 參數同步時間之間的差距主要來自于時延開銷, 但在實際中,負載均衡、多流競爭等都會影響不 同參數同步架構的實際參數同步時間,總體來說, 參數同步架構類方案的加速效果不如前面幾種方案;通信調度類方案的加速效果與訓練模型的通信/計算比高度相關,相比其他方案來說,加速效果 比較有限。 從節點擴展性來看,網內聚合類方案受限于交 換機硬件計算能力和存儲空間限制,通常應用于單 機架規模的訓練集群,擴展性較差;隨著計算節點 數量的增多,通信/計算比越來越高,導致通信調度 類方案在節點數量較多時的擴展性較差;由于交換 機端口數量、布線難度等因素的限制,底層物理網 絡拓撲的規模往往不能無限增大,如 BCube 適用于 集裝箱規模的數據中心,故網絡拓撲類方案的擴展 性一般;雖然傳輸協議和通信庫類方案可將通信性
能提高數倍,暫緩網絡瓶頸出現的時間,但隨著節 點數量的增多,通信操作又將成為系統瓶頸,故該 類方案的擴展性也一般;并行方式優化類方案的模 型并行粒度不能無限切分,因此在節點規模很大 時,仍會出現大量節點使用數據并行的情況,并且 對大量節點求解最優并行方式的算法復雜度也非 常高,如 PipeDream 的求解時間與計算節點數的二 次方和模型層數的三次方成正比,以上因素導致并 行方式優化類方案的擴展性也一般;節點規模很大 時,環規約架構的通信時間被時延開銷所主導,參 數服務器架構的連接數量也會大大增加,從而導致 傳輸性能的降低,故參數同步架構類方案的擴展性 一般;模型一致性協議從核心路徑上移除了通信, 模型壓縮類方案可將通信量降低數十乃至上百倍, 因此這兩類方案的擴展性較高。 從對模型收斂性的影響來看,模型壓縮會導致 參數同步時信息量的丟失,從而影響模型收斂性; SSP和ASP以及去中心化參數同步架構引入了陳舊 參數對全局模型的更新,也會對模型收斂性產生一 定影響;其他類方案不涉及通信內容的改變,故不 影響模型收斂性; 從對硬件的依賴性來看,RDMA 和 NVLink 需 要專用的硬件設備,故依賴于硬件設備的更新升 級;網內聚合類方案依賴于可編程交換機或專用交 換機來實現在網絡內部對參數進行聚合的目的,故 該類方案也需要底層硬件設備的支持;網絡拓撲類 方案涉及對整個集群互聯方式的修改,比較適用于 新訓練集群的搭建,在現有集群上的部署難度較 大;其他類方案均為軟件層方案,對底層硬件環境 無特殊要求,因此部署難度較低,具有非常好的通 用性。 2016 年,Google 提出了一種分布式機器學習 新形式—聯邦學習[85]。 本質上,聯邦學習是一種 加密的分布式機器學習框架,允許各參與方在不共 享本地數據的條件下與其他各方共建模型。不同于 傳統分布式機器學習,聯邦學習面臨四個新的問 題:客戶端中數據非獨立同分布問題、差分隱私問 題、通信開銷問題和客戶端無狀態問題。本文僅關 注聯邦學習中的通信開銷問題。在聯邦學習中,通 信開銷遠大于計算開銷,這主要是由于客戶端與中 央服務器之間的網絡帶寬有限,且連接質量較差, 同時不同客戶端的連接質量參差不齊造成的。 雖然聯邦學習是一種分布式機器學習框架,但 有些針對傳統分布式機器學習的網絡性能優化方 案卻不適用于聯邦學習。例如,客戶端可能通過無 線方式接入網絡,故無法對這些客戶端之間的互聯 方式進行改善;一般來說,聯邦學習的網絡瓶頸點 基本在客戶端側,因此,網內聚合的方式不能解決 聯邦學習場景下的網絡傳輸痛點;聯邦學習中各客 戶端均要使用本地數據進行訓練,并且不會將本地 數據傳輸給其他客戶端,因此聯邦學習只能使用數 據并行方式,無法通過并行方式優化的方式來提高 訓練速度。 聯邦學習場景下的網絡性能優化主要依賴對 通信內容的壓縮來實現。一般來說,客戶端上行鏈 路的帶寬比下行鏈路帶寬更小,因此,一些工作 [85-87]最早嘗試通過多種梯度壓縮方式,如量化、稀 疏化、下采樣、矩陣分解、計數草圖(count sketch) 和周期平均等,來減小客戶端的上行通信壓力。
隨 后,一些工作[88]通過壓縮參數的方式降低下行通信 成本。文獻[88]采用 Federated Dropout 的方式對神 經元進行隨機丟棄,這樣客戶端可以只訓練一個更 小的子模型,從而既減小了中央服務器到客戶端的 通信數據量,又能更加高效地完成本地計算。 雖然模型壓縮會減緩模型的收斂速度,但受限 于網絡連接質量,聯邦學習不得不通過壓縮通信內 容的方式來降低通信成本,提高訓練速度。相比之 下,傳統分布式機器學習訓練集群的互聯帶寬非常 高,并且連接可靠性極高,因此,模型壓縮在傳統 分布式機器學習訓練中往往作為可選方案,需要充 分權衡收斂性和訓練速度來決定是否需要對模型 進行壓縮,以及使用何種壓縮方式和壓縮比例。
5 研究趨勢展望
分布式機器學習系統性能優化作為分布式機 器學習領域最為熱門的研究方向之一,正在吸引越 來越多學術界和工業界研究人員的關注。由于分布 式機器學習系統網絡性能優化研究與工業界結合 緊密,具有重要的實踐價值,可以預計在未來數年 內相關研究還將持續成為焦點。 當前,國內學術界和工業界關于分布式機器學 習系統網絡性能優化的研究基本與國際水平處于 并跑狀態。因此,在國家大力發展新基建的背景下, 加強分布式機器學習系統網絡性能優化研究,不但 能夠為人工智能的發展提供內生動力,并且可以為 依托人工智能實現外部賦能創造條件,對于推動傳統行業信息化、數字化、智能化轉型升級具有非常 重要的意義。從網絡通信的角度看,我們認為未來的分布式 機器學習系統性能優化研究主要包括以下四個方 向:
(1)模型的高質量壓縮。分布式機器學習訓 練的通信數據量對通信耗時具有決定性影響。從機 器學習算法的發展趨勢來看,越來越大的機器學習 模型已經成為必然[16][89]。因此,如何對訓練超大模 型時的通信數據進行高質量的壓縮,既能大幅降低 通信數據量,又不會造成訓練信息的大量丟失,是 未來緩解甚至徹底消除網絡瓶頸的重要方向。當 前,模型壓縮程度仍然受到相關理論發展的限制, 通信數據的壓縮是以更多的通信次數為代價的。除 相關壓縮理論的突破外,未來可能的發展方向還包 括細粒度的模型壓縮方式,如不同層乃至不同算子 采用不同的壓縮方式、壓縮比例,不同訓練輪數采 用不同的壓縮方式、壓縮比例,從而避免最差壓縮 比例限制整體的壓縮效果。另一個可能的方向是綜 合考慮時空相關性的模型壓縮方式,當前的壓縮算 法大多將每個參數值作為單獨個體來處理,部分算 法引入時間序列相關性以將相鄰兩輪訓練間的結 果相關聯,從而降低隨時間累積的壓縮誤差。然而, 參數張量的空間相關性尚未得到充分重視。視頻壓 縮領域中,基于時空相關性的視頻幀間壓縮方法已 得到廣泛應用。因此,模型壓縮可以借鑒視頻壓縮 領域的相關經驗,綜合考慮參數張量的時空相關性 對模型參數采取進一步的有效壓縮。
(2)并行方式優化。除壓縮通信內容外,改 進多節點之間的并行訓練方式也是降低通信開銷 的重要途徑。分布式機器學習訓練通過將訓練數 據、訓練模型分布到多個計算節點來達到并行訓練 的目的。即使對同一訓練模型和相同訓練數據而 言,不同的并行方式也會產生完全不同的流量模式 和通信數據量。現有方案大多在訓練數據、模型不 同層等維度對訓練任務進行并行化分解,最近一些 工作又引入了流水并行來提高計算資源利用率。但 這些方案仍遠未成熟。對流水并行來說,由于層間 計算依賴關系的存在,這些方案或者無法完全消除 “氣泡”,或者需要占用大量顯存來存儲多個模型 版本。如何提高流水并行的效率,同時最小化硬件 資源占用,對流水并行的應用前景至關重要。對模 型并行來說,更細粒度的操作符拆分,使其能夠并 行化計算,從而提高單個操作符的執行速度上限, 也是未來值得探索的重要方向。另外,在大規模分 布式機器學習訓練場景下,如何快速求解最優并行 化方式,將大量的計算節點合理地進行編排,也是 該類方案將來能否得到廣泛應用的重要基礎。
(3)多任務場景下的網絡資源復用。現有的 網絡性能優化方案仍主要針對單任務場景而設計, 對多任務之間的聯合優化方案仍有待研究。但在實 際訓練場景中,計算設備往往被單一訓練任務所獨 占,但網絡設備卻被很多訓練任務共享,導致不同 訓練任務由于彼此競爭網絡資源造成性能的互相 影響。對于分布式機器學習訓練任務來說,流量具 有明顯的周期特征,即,從宏觀結構來看,平均流 量并不高,但縮放到毫秒粒度,則會出現鏈路利用 率在滿載和空載之間頻繁切換的情況。當多個訓練 任務同時使用網絡資源時,所有訓練任務的通信時 間都會被拉長,導致訓練速度的下降。因此,未來 一個可能的發展方向便是通過使不同訓練任務分 時復用網絡資源,盡量減小每個訓練任務所花費的 通信時間,從而提升整體的訓練速度。
(4)專用網絡設備和架構。網絡硬件技術的 提升,對于分布式機器學習系統性能的提升具有顯 著的效果。當前,分布式機器學習訓練任務和其他 業務一樣運行在通用網絡硬件設備之上。但是分布 式機器學習訓練任務具有自己的特點,如流量矩陣 的確定性以及數據傳輸的周期性等。因此,針對分 布式機器學習業務設計專用的網絡設備和架構,如 超低轉發時延交換機、GPU 與網卡的一體化設計 等,也將成為未來的研究熱點。此外,光電互聯技 術的出現也使得數據中心網絡的帶寬和容量大幅 提高。可以預料,未來在如何合理地利用這些新型 網絡設備來提升網絡傳輸性能方面也將會產生更 多的研究成果。
近年來,移動設備得到了越來越大的發展,計算能力越來越強,存儲空間越來越大。一些計算密集型的機器學習和深度學習任務現在可以在移動設備上運行。為了充分利用移動設備上的資源,保護用戶的隱私,提出了移動分布式機器學習的思想。它使用本地硬件資源和本地數據來解決移動設備上的機器學習子問題,只上傳計算結果而不是原始數據來幫助全局模型的優化。該體系結構不僅可以減輕服務器的計算和存儲負擔,而且可以保護用戶的敏感信息。另一個好處是帶寬的減少,因為各種各樣的本地數據現在可以參與培訓過程,而不需要上傳到服務器。本文對移動分布式機器學習的研究現狀進行了綜述。我們調查了一些廣泛使用的移動分布式機器學習方法。我們還就這一領域的挑戰和未來方向進行了深入的討論。我們相信這項調查能夠清晰地展示移動分布式機器學習的概況,并為移動分布式機器學習在實際應用中的應用提供指導。