• 克雷西 發(fā)自 凹非寺
    量子位 | 公眾號 QbitAI

密集模型的推理能力也能和DeepSeek-R1掰手腕了?

華為利用純昇騰集群訓(xùn)練出的盤古Ultra,在數(shù)學(xué)競賽、編程等推理任務(wù)當(dāng)中,和R1打得有來有回。

關(guān)鍵是模型參數(shù)量只有135B,整個訓(xùn)練過程零英偉達(dá)含量,而且沒有出現(xiàn)損失尖峰。

打開網(wǎng)易新聞 查看精彩圖片

通過改進(jìn)的模型架構(gòu)和系統(tǒng)優(yōu)化策略,盤古Ultra擁有優(yōu)異的性能表現(xiàn)和52%以上的算力利用率。

并且有網(wǎng)友表示,訓(xùn)練過程中沒有出現(xiàn)損失尖峰這一特征,似乎此前從未實現(xiàn)。

打開網(wǎng)易新聞 查看精彩圖片

135B密集模型比肩DeepSeek-R1

135B密集模型比肩DeepSeek-R1

作為一個參數(shù)量135B密集模型,盤古Ultra達(dá)到了同尺度密集模型的最優(yōu)表現(xiàn),甚至可以與DeepSeek-R1等參數(shù)量更大的MoE模型競爭。

在預(yù)訓(xùn)練階段模型的評測中,盤古Ultra在絕大部分英文基準(zhǔn)任務(wù)和全部中文任務(wù)上取得了最佳性能,優(yōu)于Llama 405B、DeepSeek-V3等baseline模型。

尤其在MMLU、TriviaQA、GSM8K等具有挑戰(zhàn)性的數(shù)據(jù)集上,盤古Ultra展現(xiàn)出了卓越的語言理解和推理能力。

打開網(wǎng)易新聞 查看精彩圖片

經(jīng)過指令調(diào)優(yōu)后,盤古Ultra的性能進(jìn)一步提升,尤其在AIME 2024、MATH-500等數(shù)學(xué)推理任務(wù)和LiveCodeBench等編程競賽題上達(dá)到了SOTA水平。

綜合來看,盤古Ultra超越了包括GPT-4o、Mistral-Large 2等強大模型,與DeepSeek-R1等MoE模型競爭激烈。

同時,盤古Ultra在Arena Hard、MMLU-pro等涵蓋通用語言理解和推理的評測中也表現(xiàn)優(yōu)異。

打開網(wǎng)易新聞 查看精彩圖片

那么,為了實現(xiàn)這樣的效果,盤古Ultra采用了哪些關(guān)鍵技術(shù)呢?

“三明治”層歸一化架構(gòu)

“三明治”層歸一化架構(gòu)

如前文所述,盤古Ultra是一款135B參數(shù)量的密集模型,使用了94層的網(wǎng)絡(luò)結(jié)構(gòu)。

盤古Ultra采用了分組查詢注意力(GQA)機制,包含96個查詢頭(query head)和8個鍵值頭(key-value head)。

為了解決訓(xùn)練超深網(wǎng)絡(luò)面臨的不穩(wěn)定性和收斂困難等問題,盤古Ultra在模型架構(gòu)上做出了兩個關(guān)鍵改進(jìn)——深度縮放的Sandwich-Norm層歸一化和TinyInit參數(shù)初始化策略。

傳統(tǒng)的Transformer通常使用Pre-LN層歸一化,但在深度模型中,Pre-LN容易導(dǎo)致每個子層輸出尺度的波動,引發(fā)訓(xùn)練不穩(wěn)定。

盤古Ultra使用的Sandwich-Norm層歸一化,則是在殘差連接前對每個子層的輸出做歸一化,并根據(jù)網(wǎng)絡(luò)深度對初始化值進(jìn)行縮放,從而有效消除了訓(xùn)練過程中的loss尖峰,使訓(xùn)練過程更加平穩(wěn)。

用更容易理解的話說,傳統(tǒng)方法僅在每個子層的輸入進(jìn)行歸一化,但這種方法針對輸出也進(jìn)行了歸一化,形成了Pre-Norm + 子層 + Post-Norm的“三明治”結(jié)構(gòu)。

打開網(wǎng)易新聞 查看精彩圖片

但是,僅僅使用Sandwich-Norm還不足以完全消除深度模型訓(xùn)練中的不穩(wěn)定性——隨著網(wǎng)絡(luò)層數(shù)的增加,每一層的輸出尺度仍然可能出現(xiàn)累積性的漂移。

為此,盤古Ultra在Sandwich-Norm的基礎(chǔ)上,進(jìn)一步引入了深度縮放機制,對Post-Norm中的放縮參數(shù)γ進(jìn)行了深度相關(guān)的初始化。

打開網(wǎng)易新聞 查看精彩圖片

至于整個模型的初始化,傳統(tǒng)的初始化通常采用的Xavier初始化方法僅考慮模型寬度,而盤古Ultra采用的TinyInit同時依據(jù)模型深度和寬度來縮放初始化權(quán)重的標(biāo)準(zhǔn)差。

這種初始化方式有助于在前向傳播和反向傳播過程中,維持各層梯度的方差在一個合理的范圍內(nèi),避免了梯度消失或爆炸問題,使得訓(xùn)練過程更加穩(wěn)定,同時也加速了收斂。

實驗表明,TinyInit在深度模型訓(xùn)練中取得了更好的收斂速度和下游任務(wù)性能;同時針對embedding層,保持權(quán)重的標(biāo)準(zhǔn)差接近1也能提升訓(xùn)練穩(wěn)定性。

另外,盤古團(tuán)隊也針對Tokenizer進(jìn)行了優(yōu)化,通過在通用中英文、代碼、數(shù)學(xué)等不同領(lǐng)域分別進(jìn)行詞頻統(tǒng)計,再合并去重,最終得到了一個兼顧領(lǐng)域覆蓋和編碼效率的153376個token的平衡詞表。

打開網(wǎng)易新聞 查看精彩圖片

8192張昇騰NPU訓(xùn)練集群

盤古Ultra的整個訓(xùn)練流程主要分為三個階段——預(yù)訓(xùn)練、長上下文擴展和指令調(diào)優(yōu)。

其中預(yù)訓(xùn)練又可以分為三個子階段:

  • 通用階段:側(cè)重建立語言理解和知識儲備,使用了大量中英文通用語料,覆蓋網(wǎng)頁、書籍、百科等多個來源;
  • 推理階段:引入更多高質(zhì)量的數(shù)學(xué)和代碼數(shù)據(jù),以增強模型的推理能力。同時還使用instruction數(shù)據(jù)來幫助模型學(xué)習(xí)執(zhí)行任務(wù);
  • 退火階段:幫助模型鞏固知識和推理能力,并強化指令遵循能力。大量使用問答對和人類反饋數(shù)據(jù)。

研究者們采用了基于規(guī)則和模型的數(shù)據(jù)清洗方法,并設(shè)計了curriculum learning策略,讓模型循序漸進(jìn)地學(xué)習(xí)不同難度的樣本。

預(yù)訓(xùn)練中使用了AdamW優(yōu)化器,并動態(tài)調(diào)整超參數(shù)。

打開網(wǎng)易新聞 查看精彩圖片

預(yù)訓(xùn)練后,模型在最長128K的長上下文數(shù)據(jù)上進(jìn)一步訓(xùn)練,通過擴大RoPE的基頻來實現(xiàn)長序列建模,以增強處理長文檔的能力。

最后的指令調(diào)優(yōu)階則段使用監(jiān)督微調(diào)(SFT)和強化學(xué)習(xí)(RL)來使模型更好地適應(yīng)下游任務(wù),學(xué)會執(zhí)行指令并與人類偏好對齊。

訓(xùn)練設(shè)施方面,盤古Ultra使用了一個由8192個昇騰AI處理器組成的大規(guī)模計算集群。

集群中每個節(jié)點包含8個NPU,通過華為高速緩存一致性互聯(lián)HCCS以全互聯(lián)的拓?fù)浣Y(jié)構(gòu)連接,每個NPU配備64GB內(nèi)存,節(jié)點間則通過200Gbps的RoCE(RDMA over Converged Ethernet)網(wǎng)絡(luò)互聯(lián)。

為了實現(xiàn)盤古Ultra的高效訓(xùn)練,研究團(tuán)隊還采用了一套系統(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)張量,實現(xiàn)高效通信;
  • 序列并行用于處理超長序列以降低顯存壓力;
  • 8段流水線并行,將不同層分布到不同設(shè)備,形成高效的計算流水線。

打開網(wǎng)易新聞 查看精彩圖片

在并行策略的基礎(chǔ)上,盤古Ultra還從多個角度對訓(xùn)練系統(tǒng)進(jìn)行了深度優(yōu)化。

一方面,通過使用ZeRO(Zero Redundancy Optimizer)分布式優(yōu)化器,將模型狀態(tài)分片到不同設(shè)備,大幅降低了單個設(shè)備的內(nèi)存占用,在提高數(shù)據(jù)并行度的同時,確保了每個設(shè)備的內(nèi)存負(fù)擔(dān)在可接受范圍內(nèi)。

另一方面,研究者們通過各種通信和計算優(yōu)化技術(shù),最小化了通信開銷,提升了計算效率:

  • 通過算子融合(Kernel Fusion)將多個小算子合并,減少了內(nèi)存訪問和kernel啟動;
  • 通過通信計算重疊(Communication-Computation Overlapping)實現(xiàn)通信和計算的深度交織,隱藏通信延遲;
  • MC^2(Merged Computation & Communication)和BOA(Batch Optimization Accelerator)分別對張量并行和規(guī)范化層的通信進(jìn)行了專門優(yōu)化……

打開網(wǎng)易新聞 查看精彩圖片

算法、工程、數(shù)據(jù)各個層面的精細(xì)優(yōu)化下,盤古Ultra實現(xiàn)了52%以上的算力利用率。

技術(shù)報告:
https://github.com/pangu-tech/pangu-ultra/blob/main/pangu-ultra-report.pdf