作者:焦臻楨、張曉普(中國信息通信研究院泰爾英福iF-Labs)唐忠桓、李莉(同濟大學自主智能無人系統(tǒng)全國重點實驗室)12月20日,,在第二屆算力網絡與數字經濟發(fā)展論壇上,,“上海算力交易平臺2.0”正式發(fā)布。該平臺由國家(上海)新型互聯網交換中心牽頭建設,,依托先進的算網大腦技術、可靠的“星火·鏈網”區(qū)塊鏈技術,,緊跟“東數西算”等國家戰(zhàn)略在算力網絡發(fā)展導向的重要布局,積極落實《算力基礎設施高質量發(fā)展行動計劃》“算力浦江”行動計劃重點任務,,為企業(yè)提供便捷,、靈活的流量交換服務,目前已累計接入通算資源6334.859P,,超算資源102.024P,,智算資源1816.987P。算力已經成為數字經濟時代的關鍵推動力,?!丁笆奈濉睌底纸洕l(fā)展規(guī)劃》中明確提出要加快實施“東數西算“”工程,,通過推動云網協同發(fā)展,提升數據中心跨網絡,、跨地域數據交互的能力,對算力進行合理調度和優(yōu)化配置,。隨著人工智能的迅猛發(fā)展,,對算力的需求正在持續(xù)擴大,,例如大模型訓練等各類新型需求也在不斷涌現,準確的認清需求,,并從需求中發(fā)現并抓住機會,,有助于算力網絡建設參與方更好的找準定位,、發(fā)揮價值,。本文對人工智能模型的分布式訓練這一技術機遇進行介紹,為大家揭開其中隱藏的挑戰(zhàn)和機遇。1. 算力荒:大模型繞不開的大難題自從ChatGPT引爆大模型發(fā)展熱潮,眾多科技企業(yè)前赴后繼,紛紛投入大模型研發(fā)中。然而,這波創(chuàng)業(yè)浪潮中鮮有小微初創(chuàng)企業(yè)的身影,,甚至一些堪稱“準獨角獸”規(guī)模的企業(yè),也僅集中在大模型的下游應用創(chuàng)新或微調中,,其實,,大模型背后的神經網絡技術早已頗為普及,;國內擁有眾多專業(yè)人才,,有能力獨立完成模型的設計,、搭建和訓練,。由此,一類觀點認為:大模型創(chuàng)新的主要門檻并不在算法與技術,而在于訓練一個大模型,、完成思路驗證和檢驗所需的超大規(guī)模算力,。算力,,成為這條賽道的一面墻,。2. 面向大模型的分布式方法論當單點能力不足成為主要瓶頸后,,大家總會去思考集群化,、分布式的解決之道,。從“東數西算”工程和“全國一體化算力網絡”,到云邊端協同一體化計算框架,,再到群智計算以及Web3激勵式計算聚合等,。我們總能窺見“聚少成多”的底層邏輯,。然而,,相比于傳統(tǒng)計算任務,,讓分布式系統(tǒng)適配于大模型規(guī)模的神經網絡訓練卻絕非一件簡單的事,。尤其是把分布式協作的范圍從單個集群內部的局域網內協作,放大到城域網,、廣域網范圍下多個中遠距離集群間協作,,所產生的挑戰(zhàn)將更加復雜,。接下來我們將從與分布式訓練的兩個核心部分入手,介紹模型的分布式訓練,,對這一挑戰(zhàn)建立認識:2.1 分布式訓練的前提:神經網絡模型的分割與并行化訓練神經網絡訓練有前后依賴,、相互耦合的特性,導致其并行化存在天然困難,。以一個最基本的三層神經網絡結構為例,,其訓練流程通常包含前向推理和反向傳播兩個步驟:在前向推理過程中,數據由輸入層輸入,,在層間逐級計算傳遞,,并在最后由輸出層輸出結果。隨后,,我們計算推理得到的結果與真實結果之間的誤差,,由輸出層將該誤差反向逐級傳播計算,直到輸入層,。由此,,我們可以得到每一層中每個參數的梯度,并由優(yōu)化器根據梯度更新參數,。在這一過程中,,每一層的計算都依賴于其前一層(或后一層)的數據。圖1 經典的神經網絡訓練流程在這樣的架構下,,“模型平行方法”(Model parallelism)與“數據平行方法”(Data parallelism)是當下兩種分布式訓練的主要思路:2.1.1 模型平行方法該類方法將神經網絡模型分割,,由不同計算節(jié)點負責不同部分的計算,每個計算節(jié)點擁有不同的參數或模型層,。通過這種方法,,單個節(jié)點的參數量減少。然而由于神經網絡各層次間前后依賴的特性,,模型平行法有時需要計算節(jié)點的“串行化”,,因此相關研究往往著眼于“流水線(Pipeline)”的搭建,把切分后的模型順序傳送給流水線上的設備進行計算,,通過將模型切分為粒度足夠小的分片以降低流水線上計算設備的閑置率,。
圖2 模型平行方法、其串行化特性以及流水線搭建案例詳細而言,,模型平行訓練一般包括以下幾個部分:模型分割,、訓練流程調度優(yōu)化、流水線搭建等,。為了將訓練任務分散到不同計算設備的同時避免過于頻繁的數據交換,,需要找到適合神經網絡架構的模型分割方法,當前的主流方法一般為:層間分割與層內分割,。層間分割是最直觀的模型分割方式:由于神經網絡模型自身是分層的,,可以天然地由不同設備分別負責整個神經網絡中一層或多層的訓練,。層內分割會對神經網絡結構進行進一步地細分。不同計算設備分別負責神經網絡一層或多層內的部分神經元激活函數計算以及部分矩陣(張量)運算,。在層內分割下,,前向推理時,負責某一層不同部分的不同計算設備,,基于其所訓練的神經網絡架構的具體特性,,獲得前一層的全部或部分激活數據,并提供給下一層的全部或部分計算設備,。反向傳播亦與之相類似,。模型分割之外,還需要均衡各計算設備所負責的工作,,避免單臺設備成為整個訓練流程的計算瓶頸,。因此還需要采用優(yōu)化方法,針對最適合現有神經網絡和設備的模型分割及任務分配方式進行優(yōu)化問題建模求解,,找到最大化模型訓練效率的優(yōu)化方法。
圖3 層內分割與層間分割的調度優(yōu)化從整體效益看:當模型平行方法用于大規(guī)模分布式算力的協同任務時,,不利于最大化發(fā)揮規(guī)模優(yōu)勢給效率帶來的潛在提升機會,。此外,由于各個節(jié)點均存儲有全量訓練數據,,這不利于數據隱私的保護,。2.1.2 數據平行方法在采用數據平行方法進行模型分布式訓練過程中,相同的模型參數被復制到各個計算節(jié)點上,。在單次迭代中,,每個計算節(jié)點基于各自不同的小批量數據計算局部梯度或模型更新。然后,,節(jié)點間交換結果,,執(zhí)行聚合和廣播操作,以獲得新的全局模型,。
圖4 經典的數據平行方法訓練流程數據平行訓練有多種不同的模式:完全同步模式,、適用于異構設備的部分同步模式、聚合參數而不是梯度的本地隨機梯度下降模式,、由參數服務器異步聚合梯度更新參數的完全異步模式,、不要求參數完全同步的遙傳通信模式等。完全同步模式的一個訓練循環(huán)可以被分為如下幾個串行的步驟:數據加載,、前向計算,、反向傳播、梯度聚合,、模型更新,。其中,,僅有梯度聚合步驟需要計算機之間通信,以保證全局模型的一致性,。由于該步驟前,、后都是計算負擔較重的環(huán)節(jié),當網絡中節(jié)點計算能力不一致時,,計算較快的節(jié)點必須等待較慢的節(jié)點完成計算才能開始同步,,完成梯度聚合。在小規(guī)模的,、同構設備的網絡中,,使用完全同步模式帶來的損失較小,當網絡規(guī)模擴大,,更多樣化的設備加入網絡中后,,其訓練效率將受到較慢設備的制約。相對的,,部分同步模式并不要求所有設備每一個訓練循環(huán)的嚴格同步,。在兩次梯度聚合的間隔內,其允許計算較快的設備完成多次訓練循環(huán),。但為了保持模型的一致以保證收斂,,部分同步模式限制了較快設備所允許的循環(huán)次數。通過合適的參數設置,,部分同步模式可以有效減少快速設備的空閑時間,,提高收斂速率。由于篇幅的原因,,這里我們不再對其他方式進行詳細介紹,。
圖5 不同模型平行訓練模式的訓練流程對比直觀上,數據平行方法可以真正發(fā)揮分布式算力的并行化優(yōu)勢,,該方法也是當下并行訓練中更常見的方案,。但其也有缺點:模型的每個可訓練參數都對應一個梯度值,數據平行訓練中每次梯度聚合所需傳輸的數據量都與模型的參數量相當,。對于參數量較大的大模型而言,,這一高頻多次的傳輸帶來了巨大的通信開銷。2.1.3 混合平行方法除了模型平行和數據平行方法以外,,從技術實現上,,目前還存在混合平行方法。這一類方法結合了數據平行訓練的規(guī)?;瘍?yōu)勢和模型平行訓練的低帶寬消耗,。一些研究將混合了層間分割、層內分割的模型平行訓練以及數據平行訓練方式稱為3D平行訓練,。但相對應地,,對混合平行訓練的優(yōu)化難度也更高,。
圖6 混合了層間分割、層內分割的模型平行訓練以及數據平行訓練的3D平行訓練以上,,我們對模型分拆與并行化訓練進行了介紹,。然而無論采用何種并行方法,在分布式訓練場景中,,都必須首先解決好海量數據在不同計算節(jié)點間的高速同步與傳輸,。通信效率是分布式訓練中的核心瓶頸,而當面對大模型時,,這一問題則更加突出,。2.2 分布式訓練的保障:從本地集群到大范圍跨域的數據同步如前所述,無論采用何種并行方法,,在分布式訓練場景中,,都必須首先解決好海量數據在不同計算節(jié)點間的高速同步與傳輸。圍繞當前大模型的分布式訓練的兩種核心思想(模型平行和數據平行),,多種支撐數據同步的技術逐漸引起了學界與業(yè)界的關注,,接下來,我們從本地集群同步擴展到跨域同步,,介紹分布式訓練涉及的數據同步及其相關的通信與調度技術:2.2.1 遠程直接內存訪問技術(RDMA)分布式訓練的節(jié)點間需要頻繁交換模型參數,、梯度等大量數據。這些數據的傳輸需要操作系統(tǒng)和協議棧的統(tǒng)籌調度,,從而給數據傳輸帶來額外的延遲,影響并行化訓練效率,。此外,,由于這些數據均存儲于內存(或顯存)中,向外傳輸前需要先經處理器和總線傳輸給網絡設備,,在給處理器和總線增加了巨大負擔之外,,也帶來了額外的時間開銷。針對這些開銷,,遠程直接內存訪問(RDMA)技術誕生了,。RDMA技術使用專用硬件讀寫內存數據并直接與外部通信,將數據從本地系統(tǒng)快速移動到遠程系統(tǒng)的內存中,,而不對操作系統(tǒng),、CPU增加任何負載。
圖7 RDMA工作原理目前,,RDMA有三種協議:InfiniBand,、RoCE、iWARP,。InfiniBand是一種專為RDMA量身定做的網絡協議,,與TCP/IP不兼容,。RoCE允許在以太網上執(zhí)行RDMA協議(可分為RoCEv1和RoCEv2)。iWARP允許在TCP上執(zhí)行RDMA協議,,它能夠運行在標準TCP/IP網絡中,,對硬件的要求也相對簡單(只需iWARP網卡),但缺點是性能比RoCE更差,。
圖8 RDMA協議類型人工智能的分布式訓練讓RDMA技術得到越來越廣泛的關注,,而對于大規(guī)模、大跨度集群的需求,,使基于RDMA的大規(guī)模組網技術也日益得到重視,。目前,各界圍繞大規(guī)模RDMA組網架構,、關鍵算法(如擁塞控制,、負載均衡)、網絡虛擬化,、與主流網絡的融合(如降低無損網絡依賴性)等方向已開展了系列深入研究,,其中不乏微軟、谷歌,、華為,、阿里等巨頭。由于我國現有的單個集群能力往往不足以滿足大模型需求,,跨集群協作的需求將使兼容于TCP/IP網絡的iWARP等協議進一步受到重視,。2.2.2集合通信分布式訓練任務間完成數據傳輸調度的方式一般可以分為點對點(Point-to-Point Communication)和集合通信(Collective Communication)。點對點通信是在兩個節(jié)點之間進行通信和數據同步,。集合通信是指在一組節(jié)點內進行通信完成數據同步的方式,。計算集群中海量數據的同步需要采用集合通信方法。集合通信一般包含多個Sender和Receiver,,通信類型包括:Broadcast,、Gather、All-Gather,、Scatter,、Reduce、All-Reduce,、Reduce-Scatter,、All-to-All等。以數據平行訓練為例,,去中心化的梯度聚合需要每臺計算機獲得所有計算機計算得到的梯度,,這一操作即需要All-Reduce,即將所有設備(All)上的信息歸納(Reduce)到所有設備(All)上。顯然,,直接的All-Reduce將帶來極大的通信資源浪費,,因為同一份數據可能會被冗余傳輸多次。因此,,許多優(yōu)化版All-Reduce算法被提出,,如環(huán)狀All-Reduce、基于二叉樹的All-Reduce等,,這些算法均能極大降低All-Reduce的帶寬和延遲,。
圖9 All-Reduce當數據同步調度擴展到廣域網范圍時,現有集合通信思路將面臨一些新的問題,,例如重新評估各類算法在新場景下的有效性及其效率評測方法,,重新建模計算節(jié)點的鄰近關系等。2.2.3 算力網絡算力網絡是一種網絡前沿技術,,其目標是構建連接算力的網絡,,使算力像水電一樣高效流動。傳統(tǒng)的網絡設施僅僅承擔信息傳遞的基礎功能,,是連接用戶與計算資源的“數據通道”,;而算力網絡可以構建數據、計算資源,、網絡的一體化服務,,使計算需求方在網絡的幫助下,高效感知并調用遠距離的算力資源,,打破自身單點計算能力的局限,。算力網絡能夠連接大范圍內的算力集群實現計算任務協同,目前被視為支撐多集群間大模型跨域分布式訓練的網絡基礎設施層最優(yōu)解,。當前,,算力網絡的發(fā)展方興未艾,體系架構及諸多關鍵技術還未形成定論,,產業(yè)及標準化工作也在不斷推進中。國際電信聯盟(ITU)于2021年9月正式發(fā)布的算力網絡框架結構標準(ITU-T Y.2501:Computing Power Network–Framework and Architecture)中提出,,算力網絡主要由四層構成,,分別為算力網絡資源層、算力網絡控制層,、算力網絡服務層,、算力網絡編排管理層。
圖10 算力網絡功能架構算力網絡資源層對算力服務方和網絡運營方提供的各類計算資源進行了抽象,。算力網絡控制層從算力網絡資源層收集資源信息,,并將資源信息發(fā)送給服務層以便其處理相關算力服務請求。算力網絡服務層主要用于實現具體算力服務功能。算力網絡編排管理層能夠為算力網絡實現編排,、安全,、建模和運維管理功能?;诟鲗拥哪芰χ?,算力網絡完成對算力資源的抽象、標識,、路由,、調度等,實現遠距離計算供需間的高效匹配,。大模型分布式訓練作為一項整體的計算任務,,在經過并行化處理、數據同步調度決策后,,形成多個更小顆粒度的計算子任務,,由算力網絡依據所需的QoS,在分布式的算力集群間完成統(tǒng)籌調配,。3. 總結與展望單點算力的不足,,促使學術界和工業(yè)界投入更多的視線到分布式訓練技術,希望基于廣域內分散的多個算力集群,,開展協同訓練,。一方面,這是一場以空間換時間的戰(zhàn)斗:通過投入更多的集群,,給算力單點的能力提升爭取時間,。另一方面,這也許是中西部算力產業(yè)轉型升級的大好機會:長期以來,,雖然中西部算力集群有成本更低,、綠電占比更高等優(yōu)勢,但也存在業(yè)務需求單一,、不足等問題,,當人工智能需求爆發(fā)后,又出現因單點建設規(guī)模不足難以提供服務等困難,。然而,,當分布式訓練技術不斷成熟后,在算力網絡高效調度的整體統(tǒng)籌下,,分散的小規(guī)模數據中心將有更多機會參與到巨大的人工智能需求所釋放的產業(yè)機遇里,,這可能是中西部城市通過并不高的投入就能深度參與到人工智能發(fā)展浪潮中的好機會。大模型是一種超大規(guī)模的神經網絡模型,。傳統(tǒng)神經網絡分布式訓練技術長期以來更多局限于單集群內,,跨域場景較少,。讓大模型在大范圍多集群間完成分布式訓練,一方面,,將會在模型拆分等計算任務上增加更多新挑戰(zhàn),;另一方面,在廣域網完成海量訓練數據的同步,,所涉及的相關網絡及調度問題也將是一個新的研究場景,。相關研究會逐步更新現有技術棧,乃至形成全新的技術棧,。而當“星火·鏈網”等區(qū)塊鏈平臺通過提供分布式激勵保障和可信計算環(huán)境等基礎條件,,也更加深入地融進算力網絡、人工智能分布式訓練等新型計算場景,,全新且巨大的產業(yè)機遇更會應運而生,。來源:光明網
免責聲明:本文來自網絡收錄或投稿,觀點僅代表作者本人,,不代表芒果財經贊同其觀點或證實其描述,,版權歸原作者所有。轉載請注明出處:http://lequren.com/1084849.html
溫馨提示:投資有風險,,入市須謹慎,。本資訊不作為投資理財建議。