DataFunSummit非數(shù)據(jù)中心GPU上的大模型并行訓練_第1頁
DataFunSummit非數(shù)據(jù)中心GPU上的大模型并行訓練_第2頁
DataFunSummit非數(shù)據(jù)中心GPU上的大模型并行訓練_第3頁
DataFunSummit非數(shù)據(jù)中心GPU上的大模型并行訓練_第4頁
DataFunSummit非數(shù)據(jù)中心GPU上的大模型并行訓練_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

DataFunSummit

#

2024非數(shù)據(jù)中心GPU上的大模型并行訓練01研究背景深度學習模型參數(shù)量呈爆炸式增長,對算力系統(tǒng)體系結(jié)構(gòu)、系統(tǒng)軟件提出了新的要求大規(guī)模并行與分布計算仍然是基礎模型訓練的主要手段,HPC與AI融合發(fā)展大規(guī)模訓練的計算、通信、存儲開銷巨大,對并行模式和并行效率提出更高要求Fedus

W,

Zoph

B,

Shazeer

N.

Switch

transformers:

Scaling

to

trillion

parameter

models

with

simpleand

efficient

sparsity[J].

The

Journal

of

Machine

Learning

Research,

2022,

23(1):

5232-5270.并行訓練基本方法基礎模型參數(shù)量爆炸性增長一、研究背景:大模型并行訓練并行訓練基本方法主要分為數(shù)據(jù)并行,模型并行,混合并行等基本形式數(shù)據(jù)并行(data

parallelism,DP)是將訓練數(shù)據(jù)劃分到多個設備,多個設備之間按照一定規(guī)則定期同步模型參數(shù)實現(xiàn)并行訓練的一種方式數(shù)據(jù)并行方式下每個設備計算時都會使用有完整的模型參數(shù)數(shù)據(jù)并行將數(shù)據(jù)切分為多份,不同份的數(shù)據(jù)由不同的設備進行處理優(yōu)點并行程序邏輯比較容易理解單次迭代中模型訓練的數(shù)據(jù)總量增加,使得總的訓練時間減少缺點為了保證收斂性,需要頻繁的梯度同步通信一、研究背景:并行訓練基本方法并行訓練基本方法主要分為數(shù)據(jù)并行,模型并行,混合并行等基本形式模型并行(model

parallelism,MP)訓練是指將智能模型劃分到多個計算單元的一種訓練方式模型并行方式下每個設備上只有模型的一部分,張量并行、流水線并行均屬于模型并行模型并行將數(shù)據(jù)切分為多份,每份數(shù)據(jù)需要所有設備進行處理優(yōu)點降低了模型訓練時對單卡的顯存需求缺點較大的通信開銷(常見于張量并行)較低的設備利用率(常見于流水線并行)一、研究背景:并行訓練基本方法并行訓練基本方法主要分為數(shù)據(jù)并行,模型并行,混合并行等基本形式張量并行(tensorparallelism,TP)張量并行是將深度學習模型中的參數(shù)切分到不同的設備上,每個設備只負責計算部分參數(shù),從而實現(xiàn)并行計算。模型的參數(shù)分配到不同的設備上,每個設備只負責計算部分參數(shù)。Transformer中將嵌入層和多頭自注意力機制的部分參數(shù)切分到不同的設備上進行計算。一、研究背景:并行訓練基本方法Shoeybi

M,

Patwary

M,

Puri

R,

et

al.

Megatron-lm:

Training

multi-billion

parameter

language

modelsusing

modelparallelism[J].arXiv

preprint

arXiv:1909.08053,2019.并行訓練基本方法主要分為數(shù)據(jù)并行,模型并行,混合并行等基本形式流水線并行(pipeline

parallelism,PP)將模型垂直分割成多個部分(稱為“流水級”),每個流水級部署在一個或多個GPU上,數(shù)據(jù)在GPU之間按流水線方式流動。需要對流水線的操作進行調(diào)度,確保數(shù)據(jù)在各流水級間順暢流動。因為數(shù)據(jù)依賴關(guān)系,設備計算會出現(xiàn)空閑(idle),稱為流水線氣泡(bubble),影響整體硬件利用效率。一、研究背景:并行訓練基本方法Huang

Y,

Cheng

Y,

Bapna

A,

et

al.

Gpipe:

Efficient

training

of

giant

neural

networks

using

pipelineparallelism[J].

Advances

in

neural

information

processing

systems,

2019,

32.并行訓練基本方法主要分為數(shù)據(jù)并行,模型并行,混合并行等基本形式混合并行(hybird

parallelism)是指結(jié)合模型結(jié)構(gòu)特點或智能計算系統(tǒng)體系結(jié)構(gòu)特點,利用多種并行訓練方法進行大規(guī)模深度學習模型的多維度并行訓練混合并行方式下每個設備上只有模型的一部分混合并行將數(shù)據(jù)切為多份,每份數(shù)據(jù)需要部分或全部設備進行處理優(yōu)點可以結(jié)合模型并行和數(shù)據(jù)并行的優(yōu)點,實現(xiàn)高效的模型訓練應對大模型訓練的主要方法缺點難以找到性能優(yōu)異的混合并行策略,使得混合并行的優(yōu)勢無法發(fā)揮出來一、研究背景:并行訓練基本方法數(shù)據(jù)中心GPU(A100,H100...)是目前最常見的加速器:從算力性價比(單位價格能獲得的算力)的角度,數(shù)據(jù)中心GPU有較大的劣勢然而僅從算力性價比的角度衡量并行訓練的性價比并不準確,例如A100PCIe和A100SXM的算力性價比較為接近,然而通信帶寬差距巨大,在大模型的并行訓練中有較大的性能差距數(shù)據(jù)中心GPU存在有價無市的問題因此,研究非數(shù)據(jù)中心GPU上的大模型并行訓練更具重要意義GPU算力的性價比可以使用Ratio

of

theComputation

performance

and

Cost(RCC)定義,單位為TFLOPS/$一、研究背景:大模型訓練加速器價格數(shù)據(jù)來源:https://vast.ai/pricing02研究進展圍繞非數(shù)據(jù)中心GPU上的大模型并行訓練問題,開展關(guān)鍵技術(shù)研究高性價比的大模型訓練:大模型并行訓練的性價比建模方法高效率的并行訓練:通信計算調(diào)度:設計多維度通信調(diào)度方法,提高并行訓練的通信效率設計通信計算重疊的聯(lián)合調(diào)度方法,提高并行訓練效率顯存優(yōu)化:設計流水線并行的異構(gòu)內(nèi)存交換方法,緩解顯存墻問題高可編程性的并行訓練:解耦模型設計與并行訓練,加強多維并行訓練的可編程性二、研究進展小結(jié)大模型并行訓練的性價比建模方法

并行訓練下,訓練性價比可以使用單位價格能獲得的吞吐量:即單位數(shù)據(jù)量所需的通訊時間加計算時間乘上硬件價格的倒數(shù)計算時間可以簡化為單位數(shù)據(jù)量算力/硬件總算力通信時間需要根據(jù)并行訓練方法(DP,PP,TP)進行估算從算力性價比角度4090GPU最高,然而4090無法使用NVLink進行帶寬提升,算力性價比次高的3090可以通過相對便宜的NVLink提高帶寬,據(jù)此搭建了3090NVLink集群GPU算力性價比(TFLOPS/$)對比圖2.1

高性價比的大模型訓練3090NVLink并行訓練環(huán)境示意圖大模型并行訓練的性價比建模方法在考慮了NVLink價格的基礎上,3090NVLink配置相對于全NVLink相連的A100-SXM配置及

4090配置在大模型訓練中的性價比有明顯優(yōu)勢該集群的建立僅供思路參考,3090仍有著內(nèi)存不足(24G)等問題分析方法可以適用于更多種類硬件,同期工作也有在3080GPU上進行大模型訓練的嘗試2.1

高性價比的大模型訓練3090-NVLink的硬件價格估算方法 并行訓練性價比對比Lai

Z,

LiuY,Wang

W,

et

al.

Rethinking

the

Distributed

DNN

Training

Cluster

Design

from

the

Cost-effectiveness

View[C]//2023

IEEE

HPCCTang,

Zhenheng,

et

al.

"Fusionai:

Decentralized

training

and

deploying

llms

with

massive

consumer-level

gpus."

arXiv

preprintarXiv:2309.01172

(2023).通信計算調(diào)度:TriRace--面向混合并行訓練的多維度通訊調(diào)度方法非數(shù)據(jù)中心GPU情況下,通常通信帶寬受限較為明顯通信調(diào)度技術(shù)是常見的降低通信開銷的方法,然而混合并行訓練的通信操作復雜,帶來兩個訓練效率問題:通信操作多樣,包括數(shù)據(jù)并行的AllReduce和流水線并行的P2P通信稀疏矩陣的通信開銷大,對通信調(diào)度帶來較大性能挑戰(zhàn)異步流水線并行數(shù)據(jù)并行的混合并行訓練中通信操作復雜通信調(diào)度方法不適用于稀疏通信2.2

高效率的并行訓練通信計算調(diào)度:TriRace--面向混合并行訓練的多維度通訊調(diào)度方法針對數(shù)據(jù)并行的AllReduce通信,根據(jù)異步流水線并行的參數(shù)更新方法,最大化重疊計算操作針對流水線并行的P2P通信,將雙向通信解耦為兩個單向通信,盡可能減少關(guān)鍵路徑上的通信數(shù)量使用稀疏通信降低embedding的通信開銷,并將以embedding各行為單位進行細粒度調(diào)度稀疏通信調(diào)度方法P2P通信調(diào)度方法AllReduce通信調(diào)度方法2.2

高效率的并行訓練Li

S,

Lu

K,

Lai

Z,

et

al.

A

Multidimensional

Communication

Scheduling

Method

for

Hybrid

ParallelDNNTraining[J].

IEEE

Transactions

on

Parallel

and

Distributed

Systems,

2024.通信計算調(diào)度:TriRace--面向混合并行訓練的多維度通訊調(diào)度方法相比Pipedream-2BW、Fold3D等多個訓練方法,能夠取得至多1.45倍的訓練計算加速2.2

高效率的并行訓練通信計算調(diào)度:Oases--面向張量并行的自動通信計算重疊方法Transformer模型的Hidden

Size高速增長,

張量并行成為大規(guī)模預訓練模型的必需技術(shù);

但是張量并行通信開銷大,

影響訓練效率模型名發(fā)布年份模型大小LayersHiddenSizeGPT-3/OPT2020/2022175B9612288MT-NLG2021530B10520480PaLM2022540B11818432BLOOM2022176B7014336LLaMA202365B808192Falcon202340B60819259.2%64.7%張量并行通信在帶寬受限的情況下訓練中占比較高Transformer預訓練模型的Hidden

Size較大2.2

高效率的并行訓練通信計算調(diào)度:Oases--面向張量并行的自動通信計算重疊方法當前主流的張量并行通信計算重疊方法為將矩陣乘法和其通信分解為多個操作設計細粒度的通信計算調(diào)度方法,將數(shù)據(jù)在batch維度切分為互不依賴的兩個子數(shù)據(jù),他們的通信計算可以互相重疊2.2

高效率的并行訓練通信計算調(diào)度:Oases--面向張量并行的自動通信計算重疊方法在顯存受限的場景下,使用重計算計算技術(shù)非常必要設計去除通信冗余的重計算調(diào)度方法,應用重計算時,將通信結(jié)果作為重計算子圖的輸出可以在反向過程中減少通信開銷2.2

高效率的并行訓練重計算結(jié)束的位置為通信后時,可以省去該通信通信計算調(diào)度:Oases--面向張量并行的自動通信計算重疊方法Oases可以顯著加速張量并行訓練,相較Megatron-LM,Alpa,矩陣乘法內(nèi)重疊(Wang)等方法,可以取得至多1.95倍加速2.2

高效率的并行訓練Li

S,

Lai

Z,

Hao

Y,

et

al.

AutomatedTensor

Model

Parallelism

with

Overlapped

Communication

for

EfficientFoundation

Model

Training[J].

arXiv

preprint

arXiv:2305.16121,

2023.G

B///

T71Liii

S,,,

L7

aiiiZ,,,4

HaoY,,,ettta

lll...

Au

tttom

a

ttt

e

d

Te

n

so

rrr

Mo

d

e

lll

Pa

rrr

a

lll

lll

e

lll

iii

sm

w

iiittt

h

Ov

e

rrr

lll

a

p

p

e

d

Co

m

m

u

n

iii

c

a

tttiii

o

n

fff

o

rrr

Efff

fff

iii

c

iii

e

n

ttt

Fo

u

n

d

a

ttt

iii

o

nMo

d

e

lll

Trrr

a

iii

n

iii

n

g

[[[J]]]...a

rrr

Xiii

v

p

rrr

e

p

rrr

iii

n

ttt

a

rrr

Xiii

v:::

2305...16121,,,2023...顯存優(yōu)化:Mbapp--面向商品級GPU的流水線并行異構(gòu)內(nèi)存交換方法流水線并行通信量降低,適用于在商品級GPU上訓練大模型商品級GPU如3090的顯存容量較小,大模型的訓練要求顯存優(yōu)化技術(shù)(e.g.,顯存交換,swap)流水線并行的算法特點,導致流水級(設備)之間的顯存分布不均衡流水線并行適合通信資源貧乏的商品級深度學習服務器流水線并行的顯存消耗不均衡2.2

高效率的并行訓練顯存優(yōu)化:Mbapp--面向商品級GPU的流水線并行異構(gòu)內(nèi)存交換方法GPU-GPUswap方法:將內(nèi)存負載較重GPU的數(shù)據(jù)緩存到內(nèi)存負載較輕GPU的空閑內(nèi)存中,減少

GPU-CPU交換操作,提高GPU內(nèi)存利用率混合GPU-CPUswap方法:對于內(nèi)存負載較重的GPU,將張量分塊,部分數(shù)據(jù)塊從本GPU卸載到CPU內(nèi)存中,其余數(shù)據(jù)塊經(jīng)相鄰GPU再卸載到CPU內(nèi)存中,傳輸操作流水化,減少傳輸開銷NVLinkQPINVLink混合GPU-CPU交換PCIePCIeGPUGPU工作窗口P2P交換緩存窗口Mbapp工作流程2.2

高效率的并行訓練顯存優(yōu)化:Mbapp--面向商品級GPU的流水線并行異構(gòu)內(nèi)存交換方法相較于內(nèi)存交換方法torch-offload,訓練吞吐量可以提高3.04倍至4.59倍相較于流水線并行訓練方法,Mbapp能夠在部分流水級顯存開銷超出GPU容量時支持模型訓練Mbapp可以使各流水級(工作設備)的顯存消耗更加均衡2.2

高效率的并行訓練Merak--實現(xiàn)模型設計與并行訓練的解耦現(xiàn)有并行框架超大規(guī)模模型設計與并行訓練綁定,大規(guī)模并行計算可編程性差語言模型開源社區(qū)活躍,多樣的模型定義方式給并行訓練應用帶來較大挑戰(zhàn)框架名稱開源數(shù)據(jù)并行流水并行張量并行微軟DeepSpeed是是否否英偉達Megatron-LM是是否否微軟Varuna是是是否亞馬遜SageMaker否是是否Merak是是是是并行訓練框架中自動應用并行訓練技術(shù)的情況2.3

高可編程性的并行訓練Merak--實現(xiàn)模型設計與并行訓練的解耦2.3

高可編程性的并行訓練單機腳本的計算圖定義方式繁多,分布式技術(shù)應用困難提出基于符號算子定義計算圖:符號算子不進行參數(shù)初始化,可以使用torch.fx,快速獲得完整模型計算圖提出一個計算圖劃分算法,將模型計算圖編譯成數(shù)個可以序列運行的子圖:分析圖節(jié)點的依賴關(guān)系,找到通信量較小的邊作為子圖劃分的邊界考慮模型訓練中常量可以在子圖間傳遞,子圖劃分更加準確子圖分配至工作設備后,進行參數(shù)初始化,進行成為分布式計算圖(3D并行模組)Automatic

Model

PartitionerDP③

3D

Parallel

ModuleTMPPMPTMPPMP①

Tracing

withproxied

graph②

Sharded

subgraphsequence模型劃分編譯的工作流程Merak--實現(xiàn)模型設計與并行訓練的解耦API接口簡明易用,在單機訓練腳本的基礎上,僅需增加幾行代碼即可實現(xiàn)數(shù)據(jù)-流水線-張量并行混合的3D并行訓練/HPDL-Group/MerakLai

Z,

Li

S,Tang

X,

et

al.

Merak:

An

efficient

distributed

dnn

training

framework

with

automated

3d

parallelism

forgiant

foundation

models[J].

IEEE

Transactions

on

Parallel

and

Distributed

Systems,

2023,

34(5):

1466-1478.2.3

高可編程性的并行訓練03總結(jié)與展望圍繞非數(shù)據(jù)中心GPU上的大模型并行訓練問題,可以總結(jié)為提高大模型的accessbility,讓更多研究者更便宜更快更方便地進行大模型訓練高性價比的大模型訓練高效率的并行訓練高可編程性的并行訓練三、研究總結(jié)Affordable,更多人能訓Efficient,訓的更快User-friendly,用起來更方便大模型的持續(xù)迭代對大規(guī)模異構(gòu)并行計算效率提出更高要求針對更多應用特點的大規(guī)模分布式訓練技術(shù)如何整合及通用化深度學習編譯器是提高并行訓練可編程性的重要技術(shù)方向通信帶寬進步落后于需求,通信優(yōu)化是提高并行訓練效率的重要方向大規(guī)模分布式訓練技術(shù)需要更大規(guī)模更真實場景的測試與驗證三、研究展望謝

謝敬請批評指正!設想:并行訓練框架自頂向下可分為6層Computation

operatorDevice-specific

operatorComputation

scheduleDistributed

runtime

engineCommunication

schedule Memory

managementPyTorch

TensorFlow...APIJAXtf.graphAccess

model

IRtorch.fx jax_to_hlo

.........Access

train

resourceGPU

NPU

FPGATraining

resource

abstractionIntermediate

representationIRconvert IRstructured

Device

topo

ProfilingTrain

simulator...Communication

libraryMPI

gRPC

NCCLDevice

assignParallel

strategy

generationCost

model

IRcompilerPaddlePaddle訓練框架API層任務資源獲取層任務資源抽象層并行策略制訂層分布式計算引擎層計算通信實現(xiàn)層大規(guī)模并行訓練框架設想Merak并行訓練框架目前基于PyTorch框架設計,帶來了并行策略制訂困難的問題,所以使用Megatron-LM的3D并行策略針對社區(qū)模型(如transformers),延續(xù)數(shù)據(jù)并行框架思路(如Horovo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論