北京2022年1月5日 /美通社/ -- 近年來,BERT、GPT-3等大規(guī)模預(yù)訓(xùn)練模型取得了巨大成功,引領(lǐng)語言模型進入巨量時代,算力、數(shù)據(jù)、參數(shù)規(guī)??焖俪鴺O致化的方向發(fā)展,也為模型訓(xùn)練和部署帶來巨大挑戰(zhàn)。在近日舉行的2021 NeurIPS MeetUp China上,浪潮信息副總裁、AI&HPC產(chǎn)品線總經(jīng)理劉軍基于2457億參數(shù)的“源1.0”中文語言模型,分享了浪潮人工智能研究院在巨量模型訓(xùn)練與計算性能提升方面的領(lǐng)先實踐。
談及巨量模型訓(xùn)練,劉軍表示:“訓(xùn)練工作中最復(fù)雜也最具挑戰(zhàn)的技術(shù)點在于如何行之有效地完成數(shù)千萬級參數(shù)的模型訓(xùn)練”。當(dāng)前,GPU顯存最高為數(shù)十GB左右,而訓(xùn)練‘源’這樣訓(xùn)練數(shù)據(jù)集達5TB、參數(shù)量達2457億的大模型需要的GPU顯存高達幾TB,顯然無法在單個顯卡或一臺GPU服務(wù)器上完成。因此,巨量模型訓(xùn)練工作,需要在模型算法、分布式訓(xùn)練、大規(guī)模集群計算等各個層面進行協(xié)同設(shè)計、優(yōu)化,才能保證模型訓(xùn)練過程收斂。
浪潮人工智能研究院需要將“源1.0”訓(xùn)練所需的巨大算力并行分布到幾千張GPU上。模型訓(xùn)練時最常采用的是數(shù)據(jù)并行分布式計算策略,但這只能滿足小模型的訓(xùn)練需求。對于像“源 1.0”這樣的巨量模型而言,需要專門設(shè)計算法來解決訓(xùn)練中的顯存占用問題,同時還要兼顧訓(xùn)練過程中的GPU計算資源的利用率。
為此,浪潮采用了張量并行、流水線并行和數(shù)據(jù)并行的“三合一”并行策略。首先,將266臺AI服務(wù)器共計2128個GPU芯片分成7組,每組38臺AI服務(wù)器放置一個完整的“源1.0”大模型,其次,每組的38個服務(wù)器,采用流水并行每個服務(wù)器放置1/38的模型(2個Transformer Layer),一共76層;最后,在每臺服務(wù)器內(nèi)采用張量并行,按照Transformer結(jié)構(gòu)的每一層進行均勻切分。在此過程中,浪潮人工智能研究院也通過“增加序列長度”、“減少模型層數(shù)”、“增加隱藏層大小”、“增加節(jié)點中微批次大小”等模型結(jié)構(gòu)策略,提升訓(xùn)練效率。
Model |
Layers |
Hidden size |
Global BS |
Micro BS |
Sequence Length |
t |
p |
d |
GPUs |
Yuan 1.0 |
76 |
16384 |
3360 |
1 |
2048 |
8 |
38 |
7 |
2128 |
“源1.0”的模型結(jié)構(gòu)以及分布式策略
最終,浪潮人工智能研究院完成2457億參數(shù)的“源 1.0”模型訓(xùn)練,總計訓(xùn)練1800億個tokens,模型收斂的交叉熵為1.64。相較于GPT-3的1750億參數(shù),“源1.0”是其參數(shù)量的1.404倍。GPT-3使用10000塊GPU、花了30天訓(xùn)練完成1750億參數(shù),“源1.0”在2128個GPU集群上跑了16天完成了訓(xùn)練,使用更少GPU更快完成訓(xùn)練,大幅提升計算效率。
“源1.0”消耗的總算力為4095 PetaFlop/s-day,每個GPU的實際訓(xùn)練性能達到140 TFlops,GPT-3消耗的總算力為3640 PetaFlop/s-day,其單GPU計算性能為12 TFlops;而微軟和英偉達打造的5300億參數(shù)量的MT-NLG模型用了4480個A100 GPU,其單GPU計算性能為113 TFlops,也低于“源1.0”。
“源1.0”與 GPT-3 的參數(shù)量、算力對比。
浪潮人工智能研究院在實現(xiàn)更高計算效率的同時,也探索優(yōu)化大規(guī)模AI計算集群架構(gòu)。當(dāng)前,如MT-NLG等大規(guī)模深度學(xué)習(xí)模型需要在計算集群中采用8x200Gbps的IB互聯(lián)架構(gòu),而“源1.0”在集群架構(gòu)設(shè)計上采用了2x200Gbps的高速網(wǎng)絡(luò)實現(xiàn)節(jié)點互聯(lián),“我們在實踐發(fā)現(xiàn),通過一定的優(yōu)化工作,可以使用更少網(wǎng)絡(luò)設(shè)備數(shù)量,取得更佳的計算性能?!眲④姳硎?。
巨量模型是當(dāng)前人工智能研究的熱點,當(dāng)前的巨量模型遠沒有達到模型能力的極限,增大模型參數(shù)量和訓(xùn)練數(shù)據(jù)量仍然將帶來模型精度的持續(xù)提升。對于巨量模型的發(fā)展趨勢,劉軍表示,“巨量模型的計算量已經(jīng)超過PetaFlop/s-day的階段,進入到ExtraFlop/s-day的階段。1 ExtraFlops等于1000 PetaFlops,因此可以說,GPT-3的計算量是3.64ExtraFlop/s-day,‘源1.0’的計算量則是4.095 ExtraFlop/s-day。從十年的尺度來看,今天我們還處于巨量模型起步階段,人類對計算的追求是沒有極限的,目前巨量模型消耗的計算量可能僅僅是未來一臺電腦的計算量?!眲④妼蘖磕P偷奈磥戆l(fā)展充滿信心。