【LLM】提升大規(guī)模并行訓(xùn)練效率的方法
一、結(jié)論寫在前面
論文來自阿里巴巴。
論文標題:Boosting Large-scale Parallel Training Efficiency with C4: A Communication-Driven Approach
論文鏈接:??https://arxiv.org/pdf/2406.04594??
LLMs的出現(xiàn)促使了并行訓(xùn)練技術(shù)的采用,涉及部署數(shù)千個GPU來訓(xùn)練單一模型。不幸的是,論文發(fā)現(xiàn)當前的并行訓(xùn)練效率往往不理想,主要原因有兩點。首先,硬件故障不可避免,導(dǎo)致訓(xùn)練任務(wù)中斷。無法快速識別故障組件導(dǎo)致大量GPU資源的浪費。其次,由于GPU必須在參數(shù)同步完成后才能進入下一輪計算,網(wǎng)絡(luò)擁堵會大大增加GPU的等待時間。
為應(yīng)對這些挑戰(zhàn),本文引入了一種通信驅(qū)動的解決方案,即C4。C4的關(guān)鍵洞察有兩方面。首先,在并行訓(xùn)練中,集體通信表現(xiàn)出周期性和同質(zhì)性,因此任何異??隙ㄊ怯赡撤N硬件故障引起的。利用這一特性,C4能快速識別故障組件,迅速隔離異常并重啟任務(wù),從而避免由于異常檢測延遲造成的資源浪費。其次,集體通信的可預(yù)測通信模型,涉及少量大流量,使C4能有效執(zhí)行流量規(guī)劃,大幅減少網(wǎng)絡(luò)擁堵。
C4已廣泛應(yīng)用于論文的生產(chǎn)系統(tǒng)中,將錯誤導(dǎo)致的開銷減少了約30%,并對某些通信成本適中的應(yīng)用提升了約15%的運行時性能。
C4已在論文的AI訓(xùn)練集群中部署了六個月,現(xiàn)在為超過20個客戶提供LLM訓(xùn)練服務(wù)。利用其自動錯誤檢測和恢復(fù)系統(tǒng),C4有效地消除了大多數(shù)錯誤引起的開銷,通常占總時間的約30%。此外,C4減輕了與不平衡流量相關(guān)的通信成本。對于測試的應(yīng)用程序,其通信成本適中,作業(yè)的吞吐量可以提高約15%??傮w而言,這些改進使得集群計算效率從30%提升到45%。
二、論文的簡單介紹
2.1 論文的背景
在生產(chǎn)AI集群中訓(xùn)練LLMs的一個關(guān)鍵挑戰(zhàn)是GPU的有效利用率相對較低,這主要是由于以下兩個原因。首先,由于最先進的CPU產(chǎn)品的高故障率[32, 34],在整個訓(xùn)練生命周期中診斷系統(tǒng)錯誤消耗了大量時間。長時間的訓(xùn)練會話需要一個穩(wěn)定的過程;然而,最新一代的GPU往往表現(xiàn)出高錯誤率,這可能是由于其快速發(fā)展、匆忙交付和增加的功耗所致。當在批量同步并行(BSP)模式下運行時,任何節(jié)點的錯誤都可能導(dǎo)致整個任務(wù)失敗。這需要在重新啟動任務(wù)之前花費大量時間進行系統(tǒng)診斷和節(jié)點隔離。
此外,調(diào)整這些模型的訓(xùn)練過程以達到最高效率是一項復(fù)雜的任務(wù),其中通信成本是可擴展性的一個重要障礙。也就是說,GPU在等待集體操作結(jié)果時可能會在同步點經(jīng)歷延遲。目前的藝術(shù)狀態(tài)建議管理網(wǎng)絡(luò)流量以提高通信性能。然而,在共享物理集群上,多個租戶同時運行并發(fā)訓(xùn)練作業(yè)增加了這些模式的復(fù)雜性,加劇了有效管理的困難。此外,下行的出現(xiàn),這在大型系統(tǒng)中越來越常見,也削弱了先前流量工程策略的有效性。
本文提出了C4(Calibrating Collective Communication over Converged Ethernet,在融合以太網(wǎng)上校準集體通信),這是一個創(chuàng)新的系統(tǒng),旨在釋放大規(guī)模AI集群中大量協(xié)作GPU的計算能力。C4由兩個子系統(tǒng)組成,包括C4D(C4診斷)和C4P(C4性能)。
?C4D旨在通過減少由不可糾正錯誤引起的停滯來提高訓(xùn)練穩(wěn)定性。C4D通過實時自動檢測系統(tǒng)錯誤、隔離故障節(jié)點并促進從上次檢查點重新啟動應(yīng)用程序來實現(xiàn)這一點。
?C4P旨在減少大規(guī)模訓(xùn)練集群內(nèi)的集體通信成本。它通過將網(wǎng)絡(luò)連接均勻分布在所有可用路徑上,并根據(jù)實時網(wǎng)絡(luò)條件動態(tài)調(diào)整每條路徑上的負載來實現(xiàn)這一點。它解決的關(guān)鍵挑戰(zhàn)包括管理并發(fā)作業(yè)和處理鏈路錯誤。
圖1. AI訓(xùn)練應(yīng)用在其生命周期中可能出現(xiàn)的問題
2.2 論文的方法
這里將詳細闡述論文的AI基礎(chǔ)設(shè)施如何應(yīng)對前面識別的兩個基本挑戰(zhàn):確保穩(wěn)定性和優(yōu)化并行訓(xùn)練的性能。論文將解釋系統(tǒng)架構(gòu)選擇背后的理由,論文所接受的折中方案,并深入分析論文遇到的具體技術(shù)難題。
2.2.1 并行訓(xùn)練的穩(wěn)定性
隨著任務(wù)擴展的趨勢持續(xù),論文必須通過兩種策略來應(yīng)對硬件故障:1) 降低硬件故障率;2) 系統(tǒng)性地容忍這些故障。第一種策略至關(guān)重要,但超出了本文的范圍,論文簡要提及溫度控制是關(guān)鍵(要點1)。諸如動態(tài)電壓和頻率調(diào)整(DVFS)等方法有助于防止GPU過熱,但可能會影響性能的一致性。論文通過更快的風(fēng)扇和更好的空調(diào)改善了冷卻系統(tǒng),實現(xiàn)了成本影響最小的溫度調(diào)節(jié)。
關(guān)于第二種策略,論文與相關(guān)團隊合作嘗試了多種解決方案。一般來說,傳統(tǒng)的云應(yīng)用采用在線容錯解決方案。例如,它們通過使用冗余計算來容忍計算故障,通過糾刪碼(EC)和/或三副本技術(shù)提供高度可靠的存儲,并通過多路徑(雙上行鏈路)策略忍受網(wǎng)絡(luò)異常。
然而,對于高性能計算應(yīng)用,目前主流的方法是使用離線容錯技術(shù)。例如,應(yīng)用程序定期保存檢查點,當系統(tǒng)發(fā)生故障時,任務(wù)從上一個檢查點重新啟動。當然,在最后一個檢查點和故障時間之間的所有計算將被丟棄。對于論文的大規(guī)模并行訓(xùn)練任務(wù),論文采用了一種相對務(wù)實且混合的技術(shù)策略。
總體上,論文利用經(jīng)過驗證的云存儲技術(shù)來確保可靠的數(shù)據(jù)存儲,同時充分認識到計算和網(wǎng)絡(luò)可能帶來的單獨挑戰(zhàn)。論文與客戶進行了深入討論,并得到了一個關(guān)鍵信息,即底層系統(tǒng)不應(yīng)在模型訓(xùn)練過程中引入任何不確定性(要點2)。因此,論文對于容錯計算只有兩種選擇:要么執(zhí)行在線冗余計算,要么準備備用資源以替換故障節(jié)點??紤]到GPU的高成本,使用備用資源進行容錯比在線冗余更經(jīng)濟。因此,論文為每128臺服務(wù)器上的1024個GPU分配了64個備用GPU,分布在8臺服務(wù)器上,確保從這136臺服務(wù)器池中任意128臺服務(wù)器進行并行訓(xùn)練時具有相同的通信和性能。
論文的方法:C4D??傊?,論文系統(tǒng)的容錯架構(gòu)包括通過糾刪碼實現(xiàn)可靠的數(shù)據(jù)存儲,通過雙上行鏈路和多路徑通信確保網(wǎng)絡(luò)可靠性,以及通過檢查點和冗余處理計算故障。該系統(tǒng)的核心是C4D(C4診斷)子系統(tǒng),旨在快速檢測硬件故障以實現(xiàn)及時的任務(wù)重啟,如圖3所示。
C4D利用了兩個關(guān)鍵觀察結(jié)果(要點-4:(1) 并行訓(xùn)練任務(wù)表現(xiàn)出規(guī)律且可預(yù)測的運行節(jié)奏,使論文能夠精確識別異常行為;(2) 并行訓(xùn)練中的批量同步并行(BSP)執(zhí)行模型需要定期同步點。這些同步點被用作測量異常的錨點。
基于上述觀察,論文開發(fā)了C4D以促進在線故障檢測。圖4展示了C4D的關(guān)鍵要素,包括一個增強的集體通信庫(CCL),一個中央C4D主節(jié)點,以及作為中介的C4a(C4代理)。論文選擇使用增強的CCL,因為當前最先進的CCL,如NCCL [20],缺乏對集體通信操作進行在線監(jiān)控的能力。
圖3. 容錯系統(tǒng)概覽
圖4. C4D的架構(gòu)
C4D監(jiān)控。圖5展示了論文增強的四層CCL,類似于當代的CCL。論文對底部三層進行了擴展,以實現(xiàn)監(jiān)控功能。通信層跟蹤通信器ID、等級計數(shù)和等級分配。操作層監(jiān)控集體操作類型、算法、數(shù)據(jù)類型、元素計數(shù)以及操作持續(xù)時間和計數(shù)。傳輸層收集連接的具體信息,如RDMA IP和QP號,以及消息統(tǒng)計數(shù)據(jù),包括傳輸?shù)挠嫈?shù)、大小和持續(xù)時間。在運行時以低成本和高精度收集上述信息并非易事。為了精確監(jiān)控通信內(nèi)核的執(zhí)行模式,論文改進了所有相關(guān)的CDUA內(nèi)核,直接記錄它們的開始和完成時間,因為CPU時間戳和CUDA事件對此目的無效或不準確。
C4D分析?;谏鲜鍪占男畔?,論文可以檢測到在論文的集群中頻繁發(fā)生的四種常見類型的錯誤,即通信掛起、非通信掛起、通信緩慢和非通信緩慢。檢測前兩種錯誤類型相對容易,此處不作深入討論,論文將重點放在識別緩慢綜合癥實例的更復(fù)雜任務(wù)上。
圖5. 增強型CCL
圖6展示了一個說明性的例子。工作者之間的通信延遲被映射到一個二維矩陣中,其中每個元素代表一對工作者之間的延遲,由其y坐標(源)和x坐標(目的地)標識。矩陣中的高值有助于識別慢速連接:單個高值點表示特定的連接瓶頸,一行高值表明源端存在問題,一列高值則指向目的地的問題。
圖6. 通信緩慢的癥狀
2.2.2 并行訓(xùn)練的可擴展性
并行訓(xùn)練性能取決于單節(jié)點計算、數(shù)據(jù)訪問和集體通信的效率。雖然單節(jié)點效率可以通過混合精度[35]和變換器引擎等優(yōu)化提高,數(shù)據(jù)訪問效率可以通過Alluxio等緩存機制提高,但本文重點關(guān)注集體通信效率,這是訓(xùn)練可擴展性的關(guān)鍵因素。
如果論文把網(wǎng)絡(luò)帶寬視為一種資源,優(yōu)化集體通信性能相當于找到一種最佳的資源分配方法。實際上,集體通信可以看作是工作者之間一系列一對一通信的集合,如果包含歸約操作,還可能涉及計算。因此,尋找最佳資源分配的問題可以分解為兩個問題。首先,論文需要最小化每個一對一通信的資源需求。其次,論文需要以最小化總通信時間的方式將每個一對一通信映射到網(wǎng)絡(luò)資源。
第一個問題并非本文關(guān)注的焦點,因此為了完整性,論文在此簡要介紹。論文的網(wǎng)絡(luò)實際上是一種分層拓撲,NVLINK構(gòu)成第一層,不同服務(wù)器間的RDMA網(wǎng)絡(luò)構(gòu)成第二層。此外,論文利用了雙上行鏈路技術(shù),這不僅提高了網(wǎng)絡(luò)可靠性,還允許增加交換機芯片的基數(shù)。顯然,對于給定數(shù)量的端點和指定的網(wǎng)絡(luò)拓撲,交換機基數(shù)越大,網(wǎng)絡(luò)直徑越小。其次,論文采用網(wǎng)絡(luò)拓撲感知的調(diào)度技術(shù),確保需要通信的兩個等級在網(wǎng)絡(luò)中盡可能接近。
論文的方法:C4P。為應(yīng)對這一挑戰(zhàn),論文引入了C4P(C4性能)系統(tǒng),該系統(tǒng)旨在減少不必要的通信成本。C4P通過以下方式優(yōu)化并發(fā)作業(yè)和鏈路故障的通信:(1) 在任務(wù)啟動時識別并避免故障鏈路,(2) 平衡RDMA QPs(即連接)跨路徑以實現(xiàn)負載分配,以及(3) 動態(tài)適應(yīng)QP工作負載以響應(yīng)網(wǎng)絡(luò)變化和流量沖突。本質(zhì)上,C4P是一種流量工程技術(shù),旨在通過調(diào)節(jié)網(wǎng)絡(luò)內(nèi)每個數(shù)據(jù)流的傳輸路徑來最小化網(wǎng)絡(luò)擁塞。
C4P遵循C4D的軟件架構(gòu),但存在關(guān)鍵差異,如圖7所示。首先,C4P主節(jié)點作為多個作業(yè)或租戶的控制中心,與專注于單一作業(yè)的C4D主節(jié)點不同。此外,C4P的CCL可以為通信中的工作者請求路徑分配,而C4D的CCL收集監(jiān)控數(shù)據(jù)。最后,C4P的主節(jié)點分配通信路徑,而C4D的主節(jié)點處理故障檢測和診斷。
論文采用路徑探測進行精細化的流量工程。C4P首先隔離并丟棄葉節(jié)點與脊節(jié)點交換機之間的故障鏈路,構(gòu)建一個健康鏈路網(wǎng)絡(luò)。C4P主控通過每個葉節(jié)點交換機上隨機選擇的服務(wù)器執(zhí)行全網(wǎng)狀路徑探測,識別并記錄可靠路徑。在連接建立時,CCL向C4P主控發(fā)起路徑請求,主控通過指定RDMA連接的源端口來響應(yīng)所選路徑。主控確保來自同一NIC的流量在左右端口間平衡,禁止左端口到右端口的路徑,反之亦然。
圖7 展示了C4P的工作流程
C4P的部署方式與C4D相似,兩者都被嵌入用戶鏡像中,以便與Kubernetes(K8s)集成。然而,一個顯著的區(qū)別是,C4P主節(jié)點在系統(tǒng)全局層面運行,提供全局訪問,而C4D主節(jié)點則扮演更局部化的角色,僅限于單個作業(yè)范圍。為避免冗余,此處不再重復(fù)詳細信息。
2.3 論文的效果
2.3.1 設(shè)置
如表2所示,論文概述了操作集群的系統(tǒng)配置,從中收集了C4D的評估數(shù)據(jù)。另一方面,與C4P相關(guān)的評估是在該集群的一個子集上進行的。為了防止集群中其他正在進行的工作的干擾,并確保論文評估結(jié)果的完整性,論文分配了集群的一個特定部分作為受控測試環(huán)境。該測試床包括16個節(jié)點,配備總共128個GPU。所有節(jié)點都直接連接到8個專用葉交換機,確保論文的測試活動有一個專用的環(huán)境。
該高性能集群內(nèi)的節(jié)點配備有8個NVIDIA H800 GPU和8個BlueField-3 NICs 。每個NIC提供兩個物理200Gbps端口,這些端口被綁定以創(chuàng)建一個單一邏輯400Gbps端口。這些NIC集成到一個3級Clos網(wǎng)絡(luò)[7]中,配置為Fat-Tree拓撲,超訂率1:1,確保最佳性能和帶寬分配。利用Broadcom的Trident4作為葉交換機和Tomahawk4作為脊交換機,集群能夠支持超過10,000個GPU。在單個pod中,構(gòu)成兩級子網(wǎng),它可以容納512個GPU,展示了其廣泛的擴展性。
C4D的有效性通過論文的一項真實世界LLM訓(xùn)練工作負載進行評估。該工作所使用的模型包含1750億個參數(shù)。采用2400個GPU進行分布式訓(xùn)練,該模型從零開始完成一個完整的訓(xùn)練周期通常需要超過一個月的時間。相比之下,C4P的效率通過集體通信基準測試和三個代表性的語言模型(LM)訓(xùn)練任務(wù)進行評估。為了確保通信基準測試的評估結(jié)果公正,論文將其配置為使用基于環(huán)的算法。測試中涉及的模型的具體配置,如并行策略和零優(yōu)化器級別,將在評估結(jié)果展示時詳細說明。
2.3.2 結(jié)果
2.3.2.1 C4D有效性的評估
論文審查了來自內(nèi)部客戶的一項工作的歷史日志,包括其開始和終止時間戳,以及工作因某些原因成功或失敗的情況。論文的主要關(guān)注點放在了一個需要2400個GPU并需要超過一個月時間來完成其模型訓(xùn)練過程的代表性工作上。如表3所示,論文比較了該工作在部署提出的容錯系統(tǒng)之前(2023年6月)和之后(2023年12月)因錯誤導(dǎo)致的停機時間。數(shù)據(jù)清楚地表明,C4D的部署導(dǎo)致停機時間顯著減少,大約減少了30倍,從31.19%下降到僅1.16%。
在2023年12月,盡管系統(tǒng)診斷仍然占據(jù)大部分停機時間,但其貢獻相比以往減少了約27倍,略低于平均效率提升水平。C4D的部署顯著加快了錯誤檢測和故障組件定位的速度,將響應(yīng)時間縮短至僅幾十秒。然而,轉(zhuǎn)向服務(wù)仍需額外幾分鐘來隔離受影響的節(jié)點并重啟作業(yè),表明仍有改進空間。導(dǎo)致停機的第二大原因是檢查點后的持續(xù)時間。但隨著更頻繁的檢查點采用,用戶現(xiàn)在每10分鐘可以保存一次檢查點,因此檢查點后的停機時間大幅減少了33倍。與作業(yè)重新初始化相關(guān)的成本保持不變,由于系統(tǒng)中最脆弱組件的識別和增強,平均錯誤率下降了3.33倍,從0.6%降至0.15%。
深入分析診斷和隔離開銷后,顯而易見,大多數(shù)錯誤源于GPU缺陷,包括GPU ECC錯誤、NVLink錯誤和CUDA錯誤。在2023年6月,這些GPU相關(guān)問題占到了總停機時間的12.53%,約占整體開銷的2/3。值得注意的是,到2023年12月,這些GPU相關(guān)錯誤的頻率降低了3.2倍,相關(guān)時間開銷更是大幅減少了41.8倍。這一顯著改善歸功于C4D處理這些特定類型錯誤的高效性,從而大幅降低了相應(yīng)的開銷。對于C4D僅能部分管理的其他類型錯誤,仍有顯著改進。這些錯誤的頻率降低了3.4倍,處理它們所花費的時間減少了16.5倍。這些數(shù)據(jù)突顯了C4D對系統(tǒng)整體性能和可靠性的積極影響。
圖8. 通過綁定端口間的平衡流量實現(xiàn)的改進
平衡兩個綁定物理端口之間的流量。當流量從構(gòu)成單一綁定端口的兩個不同物理端口分發(fā)時,存在兩種流量可能被路由到接收端同一物理端口的情況,導(dǎo)致接收端兩個物理端口之間的流量不平衡。通過采用C4P,論文可以為每個物理端口的流量指定專用路徑,從而防止由這種不平衡引起的性能下降。沒有C4P,大多數(shù)測試案例中的有效busbw低于240 Gbps,遠低于網(wǎng)絡(luò)的理想帶寬(約360 Gbps)。然而,啟用C4P后,有效busbw接近峰值360 Gbps,意味著性能提升了50%,展示了C4P在優(yōu)化網(wǎng)絡(luò)性能方面的實際益處。
在多個作業(yè)間平衡流量。為了展示C4P在緩解多個并發(fā)作業(yè)間的流量沖突中的有效性,論文進行了一項評估,涉及8個同時進行的allreduce基準測試應(yīng)用。數(shù)據(jù)顯示,所有任務(wù)在C4P實現(xiàn)全局流量工程的情況下,性能水平相似,接近該測試床上單個任務(wù)可達到的最大吞吐量。具體而言,這些任務(wù)的性能指標在353.86 Gbps至360.57 Gbps之間。相比之下,當未啟用C4P時,任務(wù)間存在顯著的性能下降和差異。性能最差的任務(wù)僅達到171.93 Gbps,而最佳任務(wù)達到263.27 Gbps。平均而言,C4P提升了系統(tǒng)總吞吐量70.3%。這一比較清楚地突顯了C4P在帶寬利用率和一致性方面帶來的顯著改進。
圖 9. 全局任務(wù)特征工程的有效性
圖10 展示了每個綁定端口接收到的擁塞通知包(CNP)計數(shù)
在發(fā)送端,根據(jù)網(wǎng)絡(luò)狀況進行響應(yīng)。如圖10所示,每個綁定端口每秒大約接收15,000個擁塞通知包(CNPs),計數(shù)在12,500至17,500之間波動。CNP的到來會觸發(fā)數(shù)據(jù)傳輸速率的限制。
圖11. 鏈路故障出現(xiàn)時的負載均衡效果
對動態(tài)鏈路故障的容忍度。全球流量工程的有效性依賴于底層網(wǎng)絡(luò)條件的穩(wěn)定性。一條故障的鏈路可能需要重新路由受影響的流,這可能導(dǎo)致網(wǎng)絡(luò)內(nèi)的流量分布不平衡,并否定全球流量工程的有效性。在這種情況下,負載均衡機制將發(fā)揮作用,調(diào)整每個流的負載,從而重新平衡網(wǎng)絡(luò)流量。為了評估這一機制的有效性,論文在1:1超額訂閱的網(wǎng)絡(luò)中重復(fù)了之前的實驗,并在實驗期間故意停用了一條鏈路。為了獲得任務(wù)的即時性能,而不是任務(wù)完成后平均值,論文改進了測試基準,以便在每次allreduce操作。
評估結(jié)果如圖11所示。盡管高頻時間戳記錄導(dǎo)致數(shù)據(jù)出現(xiàn)一些波動,論文仍能觀察到啟用動態(tài)負載均衡后系統(tǒng)吞吐量的顯著提升。在未激活C4P負載均衡的測試中,給定任務(wù)的總線帶寬大幅下降,數(shù)值在160 Gbps至220 Gbps之間,平均帶寬為185.76 Gbps。相反,當啟用C4P負載均衡時,觀察到的總線帶寬顯著提高,范圍在290 Gbps至335 Gbps之間,平均為301.46 Gbps。這一提升代表了訓(xùn)練過程中發(fā)生鏈路錯誤時62.3%的顯著性能增益。注意,在8個上行鏈路中存在1個鏈路錯誤的情況下,理論理想性能將是原始性能的7/8,即315 Gbps。啟用C4P所達到的性能發(fā)現(xiàn)與這一理想值非常接近。
圖12. 有無負載均衡情況下交換機端口帶寬的比較
為了展示C4P負載均衡如何提升系統(tǒng)吞吐量,論文收集了關(guān)于流量在每個端口分布的統(tǒng)計數(shù)據(jù),如圖12所示。在實施C4P流量工程后,所有上游端口在引入鏈路錯誤之前都顯示出接近最優(yōu)的帶寬利用率。然而,鏈路錯誤的出現(xiàn)導(dǎo)致不同端口間的吞吐量出現(xiàn)顯著差異。在沒有C4P負載均衡的情況下,僅有三個端口的流量有所增加,表明原本指向故障鏈路的流量正被重新路由至這些端口。
因此,這些擁堵端口內(nèi)每個流可用的帶寬減少,同一通信信道內(nèi)流的性能也受到負面影響。結(jié)果,其他端口的帶寬出現(xiàn)明顯下降。相反,C4P負載均衡動態(tài)調(diào)整網(wǎng)絡(luò)流量的分布,減輕擁堵流的負擔,同時增加通過利用不足路徑的流量。這一策略導(dǎo)致端口間的負載更加均衡,使得之前未充分利用的端口能夠處理更多流量。因此,這一優(yōu)化措施帶來了系統(tǒng)吞吐量的整體提升。
實際工作中的性能提升。為了評估C4P在增強現(xiàn)實世界應(yīng)用性能方面的效果,論文使用三個代表性的訓(xùn)練任務(wù)進行了測試:Jobl涉及使用Megatron框架訓(xùn)練一個GPT模型,結(jié)合了TP和DP策略進行分布式訓(xùn)練。該模型包含220億個參數(shù),TP和DP的大小分別設(shè)置為8和16。Job2訓(xùn)練一個包含70億參數(shù)的Llama模型。對于此任務(wù),使用了Deepspeed框架進行分布式訓(xùn)練,并激活了zero優(yōu)化,訓(xùn)練僅利用了DP。Job3涉及訓(xùn)練一個包含1750億參數(shù)的另一個GPT模型。該模型也是基于Megatron框架訓(xùn)練,使用了TP和PP策略。將TP和PP的大小都配置為8,有效地創(chuàng)建了2個DP組。
圖13展示了實際工作中性能提升的情況
性能評估結(jié)果如圖13所示。從圖中可以明顯看出,前兩項工作在性能上有了顯著提升。具體來說,Job1的吞吐量增加了15.95%,從74.82提升至86.76樣本每秒。同樣,Job2的性能也提升了14.1%,吞吐量從156.59增加到178.65樣本每秒。相比之下,Job3的性能提升并不明顯。論文的分析表明,性能提升的差異與訓(xùn)練步驟中通信時間的比例密切相關(guān)。對于前兩項工作,通信開銷占每次迭代時長的30%以上。然而,Job3設(shè)置了較高的梯度累積(GA)值16,這意味著參數(shù)更新每16步才發(fā)生一次。這種設(shè)置大大降低了相對通信成本,這也解釋了Job3性能提升不明顯的原因。
本文轉(zhuǎn)載自 ??AI帝國??,作者:無影寺
