密集模型的推理能力也能和DeepSeek-R1掰手腕了?
華為利用純昇騰集群訓(xùn)練出的盤古Ultra,在數(shù)學(xué)競(jìng)賽、編程等推理任務(wù)當(dāng)中,和R1打得有來有回。
關(guān)鍵是模型參數(shù)量只有135B,整個(gè)訓(xùn)練過程零英偉達(dá)含量,而且沒有出現(xiàn)損失尖峰。
通過改進(jìn)的模型架構(gòu)和系統(tǒng)優(yōu)化策略,盤古Ultra擁有優(yōu)異的性能表現(xiàn)和52%以上的算力利用率。
并且有網(wǎng)友表示,訓(xùn)練過程中沒有出現(xiàn)損失尖峰這一特征,似乎此前從未實(shí)現(xiàn)。
135B密集模型比肩DeepSeek-R1
作為一個(gè)參數(shù)量135B密集模型,盤古Ultra達(dá)到了同尺度密集模型的最優(yōu)表現(xiàn),甚至可以與DeepSeek-R1等參數(shù)量更大的MoE模型競(jìng)爭(zhēng)。
在預(yù)訓(xùn)練階段模型的評(píng)測(cè)中,盤古Ultra在絕大部分英文基準(zhǔn)任務(wù)和全部中文任務(wù)上取得了最佳性能,優(yōu)于Llama 405B、DeepSeek-V3等baseline模型。
尤其在MMLU、TriviaQA、GSM8K等具有挑戰(zhàn)性的數(shù)據(jù)集上,盤古Ultra展現(xiàn)出了卓越的語言理解和推理能力。
經(jīng)過指令調(diào)優(yōu)后,盤古Ultra的性能進(jìn)一步提升,尤其在AIME 2024、MATH-500等數(shù)學(xué)推理任務(wù)和LiveCodeBench等編程競(jìng)賽題上達(dá)到了SOTA水平。
綜合來看,盤古Ultra超越了包括GPT-4o、Mistral-Large 2等強(qiáng)大模型,與DeepSeek-R1等MoE模型競(jìng)爭(zhēng)激烈。
同時(shí),盤古Ultra在Arena Hard、MMLU-pro等涵蓋通用語言理解和推理的評(píng)測(cè)中也表現(xiàn)優(yōu)異。
那么,為了實(shí)現(xiàn)這樣的效果,盤古Ultra采用了哪些關(guān)鍵技術(shù)呢?
“三明治”層歸一化架構(gòu)
如前文所述,盤古Ultra是一款135B參數(shù)量的密集模型,使用了94層的網(wǎng)絡(luò)結(jié)構(gòu)。
盤古Ultra采用了分組查詢注意力(GQA)機(jī)制,包含96個(gè)查詢頭(query head)和8個(gè)鍵值頭(key-value head)。
為了解決訓(xùn)練超深網(wǎng)絡(luò)面臨的不穩(wěn)定性和收斂困難等問題,盤古Ultra在模型架構(gòu)上做出了兩個(gè)關(guān)鍵改進(jìn)——深度縮放的Sandwich-Norm層歸一化和TinyInit參數(shù)初始化策略。
傳統(tǒng)的Transformer通常使用Pre-LN層歸一化,但在深度模型中,Pre-LN容易導(dǎo)致每個(gè)子層輸出尺度的波動(dòng),引發(fā)訓(xùn)練不穩(wěn)定。
盤古Ultra使用的Sandwich-Norm層歸一化,則是在殘差連接前對(duì)每個(gè)子層的輸出做歸一化,并根據(jù)網(wǎng)絡(luò)深度對(duì)初始化值進(jìn)行縮放,從而有效消除了訓(xùn)練過程中的loss尖峰,使訓(xùn)練過程更加平穩(wěn)。
用更容易理解的話說,傳統(tǒng)方法僅在每個(gè)子層的輸入進(jìn)行歸一化,但這種方法針對(duì)輸出也進(jìn)行了歸一化,形成了Pre-Norm 子層 Post-Norm的“三明治”結(jié)構(gòu)。
但是,僅僅使用Sandwich-Norm還不足以完全消除深度模型訓(xùn)練中的不穩(wěn)定性——隨著網(wǎng)絡(luò)層數(shù)的增加,每一層的輸出尺度仍然可能出現(xiàn)累積性的漂移。
為此,盤古Ultra在Sandwich-Norm的基礎(chǔ)上,進(jìn)一步引入了深度縮放機(jī)制,對(duì)Post-Norm中的放縮參數(shù)γ進(jìn)行了深度相關(guān)的初始化。
至于整個(gè)模型的初始化,傳統(tǒng)的初始化通常采用的Xavier初始化方法僅考慮模型寬度,而盤古Ultra采用的TinyInit同時(shí)依據(jù)模型深度和寬度來縮放初始化權(quán)重的標(biāo)準(zhǔn)差。
這種初始化方式有助于在前向傳播和反向傳播過程中,維持各層梯度的方差在一個(gè)合理的范圍內(nèi),避免了梯度消失或爆炸問題,使得訓(xùn)練過程更加穩(wěn)定,同時(shí)也加速了收斂。
實(shí)驗(yàn)表明,TinyInit在深度模型訓(xùn)練中取得了更好的收斂速度和下游任務(wù)性能;同時(shí)針對(duì)embedding層,保持權(quán)重的標(biāo)準(zhǔn)差接近1也能提升訓(xùn)練穩(wěn)定性。
另外,盤古團(tuán)隊(duì)也針對(duì)Tokenizer進(jìn)行了優(yōu)化,通過在通用中英文、代碼、數(shù)學(xué)等不同領(lǐng)域分別進(jìn)行詞頻統(tǒng)計(jì),再合并去重,最終得到了一個(gè)兼顧領(lǐng)域覆蓋和編碼效率的153376個(gè)token的平衡詞表。
8192張昇騰NPU訓(xùn)練集群
盤古Ultra的整個(gè)訓(xùn)練流程主要分為三個(gè)階段——預(yù)訓(xùn)練、長上下文擴(kuò)展和指令調(diào)優(yōu)。
其中預(yù)訓(xùn)練又可以分為三個(gè)子階段:
通用階段:側(cè)重建立語言理解和知識(shí)儲(chǔ)備,使用了大量中英文通用語料,覆蓋網(wǎng)頁、書籍、百科等多個(gè)來源;
推理階段:引入更多高質(zhì)量的數(shù)學(xué)和代碼數(shù)據(jù),以增強(qiáng)模型的推理能力。同時(shí)還使用instruction數(shù)據(jù)來幫助模型學(xué)習(xí)執(zhí)行任務(wù);
退火階段:幫助模型鞏固知識(shí)和推理能力,并強(qiáng)化指令遵循能力。大量使用問答對(duì)和人類反饋數(shù)據(jù)。
研究者們采用了基于規(guī)則和模型的數(shù)據(jù)清洗方法,并設(shè)計(jì)了curriculum learning策略,讓模型循序漸進(jìn)地學(xué)習(xí)不同難度的樣本。
預(yù)訓(xùn)練中使用了AdamW優(yōu)化器,并動(dòng)態(tài)調(diào)整超參數(shù)。
預(yù)訓(xùn)練后,模型在最長128K的長上下文數(shù)據(jù)上進(jìn)一步訓(xùn)練,通過擴(kuò)大RoPE的基頻來實(shí)現(xiàn)長序列建模,以增強(qiáng)處理長文檔的能力。
最后的指令調(diào)優(yōu)階則段使用監(jiān)督微調(diào)(SFT)和強(qiáng)化學(xué)習(xí)(RL)來使模型更好地適應(yīng)下游任務(wù),學(xué)會(huì)執(zhí)行指令并與人類偏好對(duì)齊。
訓(xùn)練設(shè)施方面,盤古Ultra使用了一個(gè)由8192個(gè)昇騰AI處理器組成的大規(guī)模計(jì)算集群。
集群中每個(gè)節(jié)點(diǎn)包含8個(gè)NPU,通過華為高速緩存一致性互聯(lián)HCCS以全互聯(lián)的拓?fù)浣Y(jié)構(gòu)連接,每個(gè)NPU配備64GB內(nèi)存,節(jié)點(diǎn)間則通過200Gbps的RoCE(RDMA over Converged Ethernet)網(wǎng)絡(luò)互聯(lián)。
為了實(shí)現(xiàn)盤古Ultra的高效訓(xùn)練,研究團(tuán)隊(duì)還采用了一套系統(tǒng)的并行策略和優(yōu)化技術(shù)。
在并行策略的選擇上,盤古Ultra綜合考慮了模型的規(guī)模、數(shù)據(jù)的特性以及硬件的拓?fù)?,最終采用了數(shù)據(jù)并行、張量并行、序列并行和流水線并行等多種并行方式的組合:
128路數(shù)據(jù)并行,將訓(xùn)練數(shù)據(jù)分片到不同設(shè)備,保證了數(shù)據(jù)吞吐;8路張量并行,利用設(shè)備內(nèi)部高帶寬切分層內(nèi)張量,實(shí)現(xiàn)高效通信;序列并行用于處理超長序列以降低顯存壓力;8段流水線并行,將不同層分布到不同設(shè)備,形成高效的計(jì)算流水線。
在并行策略的基礎(chǔ)上,盤古Ultra還從多個(gè)角度對(duì)訓(xùn)練系統(tǒng)進(jìn)行了深度優(yōu)化。
一方面,通過使用ZeRO(Zero Redundancy Optimizer)分布式優(yōu)化器,將模型狀態(tài)分片到不同設(shè)備,大幅降低了單個(gè)設(shè)備的內(nèi)存占用,在提高數(shù)據(jù)并行度的同時(shí),確保了每個(gè)設(shè)備的內(nèi)存負(fù)擔(dān)在可接受范圍內(nèi)。
另一方面,研究者們通過各種通信和計(jì)算優(yōu)化技術(shù),最小化了通信開銷,提升了計(jì)算效率:
通過算子融合(Kernel Fusion)將多個(gè)小算子合并,減少了內(nèi)存訪問和kernel啟動(dòng);通過通信計(jì)算重疊(Communication-Computation Overlapping)實(shí)現(xiàn)通信和計(jì)算的深度交織,隱藏通信延遲;MC^2(Merged Computation & Communication)和BOA(Batch Optimization Accelerator)分別對(duì)張量并行和規(guī)范化層的通信進(jìn)行了專門優(yōu)化……
在算法、工程、數(shù)據(jù)各個(gè)層面的精細(xì)優(yōu)化下,盤古Ultra實(shí)現(xiàn)了52%以上的算力利用率。
技術(shù)報(bào)告:https://github.com/pangu-tech/pangu-ultra/blob/main/pangu-ultra-report.pdf
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。