支撐大模型訓(xùn)練,最重要的東西是啥?
有人說當(dāng)然是GPU啊、算力卡啊。

的確,以算力為核心的硬件部分很重要,但是這些你只要有錢就可以買到。
你知道嗎,其實(shí)軟的部分同樣重要,沒軟件的話,算力卡就是磚頭。
軟件這部分呢,主要包含兩大塊:
1、計(jì)算庫(kù),比如大家熟知的CUDA里面的cuDNN、cuBLAS等等;
2、深度學(xué)習(xí)框架,比較流行的有:PyTorch、飛槳(PaddlePaddle)、TensorFlow等,這三大框架也被稱為“PPT組合”。
如果拿大家熟悉的電腦舉例子↓
算力卡相當(dāng)于電腦硬件,計(jì)算庫(kù)相當(dāng)于硬件驅(qū)動(dòng),而深度學(xué)習(xí)框架就相當(dāng)于操作系統(tǒng)。

這么說吧,在大模型訓(xùn)推場(chǎng)景里,深度學(xué)習(xí)框架的地位堪比電腦領(lǐng)域的操作系統(tǒng),重要程度可想而知。
為什么這么重要?還堪比操作系統(tǒng)?我再來舉個(gè)更通俗的例子——
把訓(xùn)練大模型比作蓋樓,那么大樓就是大模型,而各種建材就相當(dāng)于數(shù)據(jù)。

蓋樓的過程就是模型訓(xùn)練的過程,這其中有三類角色起到關(guān)鍵作用↓
GPU/算力卡:相當(dāng)于先進(jìn)的施工機(jī)械,具備快速蓋樓能力。
計(jì)算庫(kù):相當(dāng)于精通機(jī)械操作的工人,有了他們機(jī)器才能開動(dòng)。
飛槳、Pytorch等深度學(xué)習(xí)框架:相當(dāng)于施工總指揮。

總指揮要負(fù)責(zé)把設(shè)計(jì)圖(模型架構(gòu)、訓(xùn)練邏輯)翻譯成具體指令,安排工人(CUDA、cuDNN等)去操控施工機(jī)械(GPU)。
他還要管理施工過程中的各個(gè)細(xì)節(jié),如施工進(jìn)度、材料調(diào)配、返工調(diào)整等。

正經(jīng)定義:深度學(xué)習(xí)框架是基于對(duì)神經(jīng)網(wǎng)絡(luò)表示和計(jì)算的抽象封裝,為開發(fā)、訓(xùn)練、部署AI模型提供全流程支撐的AI基礎(chǔ)軟件。
核心功能包括模型定義與構(gòu)建、數(shù)據(jù)預(yù)處理與加載、自動(dòng)微分、算力卡及其計(jì)算庫(kù)適配對(duì)接、計(jì)算圖執(zhí)行和加速優(yōu)化、分布式訓(xùn)練、推理部署等等。
一個(gè)大樓蓋下來,人們往往看到機(jī)械運(yùn)轉(zhuǎn)(算力卡),工人忙碌(計(jì)算庫(kù)),卻忘記了背后的那個(gè)運(yùn)籌帷幄、統(tǒng)攬全局的總指揮(深度學(xué)習(xí)框架)。
實(shí)際上,不管傳統(tǒng)AI、機(jī)器學(xué)習(xí)時(shí)代,還是如今的大模型時(shí)代,深度學(xué)習(xí)框架都是不可或缺的鐵三角之一。
今年,AI圈的行情又有了新變化!
DeepSeek井噴之后,國(guó)產(chǎn)大模型的訓(xùn)練、優(yōu)化,以及推理應(yīng)用越來越普及。
一方面國(guó)內(nèi)大廠紛紛推出新一代的基礎(chǔ)模型,另一方面這些模型迅速在各行各業(yè)落地生根。

這波新行情來勢(shì)洶洶,在技術(shù)層面和生態(tài)層面,對(duì)深度學(xué)習(xí)框架提出了新要求。
從技術(shù)層面看,大規(guī)模分布式訓(xùn)練和并行推理成為新常態(tài),同時(shí)模型迭代周期變短,需要框架提供更好的支持,無論訓(xùn)推的性能上還是開發(fā)的靈活性上。
從生態(tài)層面看,大量國(guó)產(chǎn)算力芯片、國(guó)產(chǎn)模型開始唱主角,同樣需要框架能夠適配。

面對(duì)這些新變化,哪個(gè)框架能快速適應(yīng),就會(huì)更受歡迎。
事實(shí)上,三大主流框架中(P、P、T),百度飛槳(PaddlePaddle)早早就做好了準(zhǔn)備。

一、先看技術(shù)層面
大規(guī)模分布式訓(xùn)練本質(zhì)上是多個(gè)節(jié)點(diǎn)協(xié)作完成神經(jīng)網(wǎng)絡(luò)訓(xùn)練任務(wù),涉及到復(fù)雜的計(jì)算圖優(yōu)化、通信優(yōu)化,同時(shí)又需要保證開發(fā)靈活性與執(zhí)行效率之間的平衡。
飛槳擁有一項(xiàng)獨(dú)門絕技:動(dòng)靜統(tǒng)一,可以完美契合這種需求。

啥是「動(dòng)靜統(tǒng)一」呢?
在深度學(xué)習(xí)中,神經(jīng)網(wǎng)絡(luò)的計(jì)算過程通常都可以抽象成計(jì)算圖,這個(gè)圖的作用至關(guān)重要。
計(jì)算圖把復(fù)雜的數(shù)學(xué)運(yùn)算用圖(節(jié)點(diǎn)與邊)直觀地表示出來,進(jìn)而實(shí)現(xiàn)自動(dòng)計(jì)算、自動(dòng)優(yōu)化、自動(dòng)求導(dǎo)。

這就好比蓋樓時(shí)需要施工圖,有了施工圖,所有人才知道如何正確施工、如何合理搭配建材、如何提高效率縮短工期。

計(jì)算圖通常由兩種,一種叫做動(dòng)態(tài)圖,就是在運(yùn)行時(shí)動(dòng)態(tài)來構(gòu)建計(jì)算圖。
就好比你一邊蓋樓,一邊畫施工圖,隨建隨畫,按需靈活修改。
與動(dòng)態(tài)圖相對(duì)應(yīng)的,是靜態(tài)圖,是指在編譯或構(gòu)建階段實(shí)現(xiàn)確定圖結(jié)構(gòu),然后再執(zhí)行訓(xùn)練或推理。
就好比蓋樓的時(shí)候,施工前所有的圖紙必須是定好了的,然后蓋樓一氣呵成,效率才有保障。
說白了,動(dòng)態(tài)圖在計(jì)算時(shí)創(chuàng)建,易于動(dòng)態(tài)控制、快速迭代,適合搞研究和開發(fā)。
而靜態(tài)圖結(jié)構(gòu)固定,可以提前優(yōu)化好,執(zhí)行效率高,但沒法按需動(dòng)態(tài)調(diào)整,靈活性不夠。適合嚴(yán)肅的生產(chǎn)級(jí)部署場(chǎng)景、高效推理。

動(dòng)態(tài)圖靈活,但分布式效率低,靜態(tài)圖性能高,但分布式開發(fā)體驗(yàn)差。偏偏新時(shí)代的“蓋樓”需求,兩樣都想要。
此時(shí),壓力就給到施工總指揮(深度學(xué)習(xí)框架)這里了,只有把靜態(tài)圖和動(dòng)態(tài)圖兩者的優(yōu)勢(shì)統(tǒng)一起來,才能更好地適應(yīng)新時(shí)代“蓋樓”節(jié)奏。
這種“魚和熊掌兼得”,恰恰就是百度飛槳提出并一直在強(qiáng)調(diào)的「動(dòng)靜統(tǒng)一」能力。
飛槳允許靈活選擇動(dòng)靜模式,一鍵轉(zhuǎn)換,無縫支持大規(guī)模訓(xùn)推。
開發(fā)時(shí)用動(dòng)態(tài)圖模式,保證靈活性與易用性, 訓(xùn)練、部署時(shí)自動(dòng)轉(zhuǎn)換為靜態(tài)圖,實(shí)現(xiàn)分布式性能優(yōu)化(通信優(yōu)化、并行優(yōu)化、減少冗余操作)。
# PaddlePaddle動(dòng)態(tài)圖模式
import paddle
paddle.disable_static() # 啟用動(dòng)態(tài)圖模式
x = paddle.to_tensor(1.)
y = paddle.to_tensor(2.)
print(x + y)
# 轉(zhuǎn)為靜態(tài)圖
paddle.enable_static() # 啟用靜態(tài)圖模式
就這樣,動(dòng)靜統(tǒng)一讓百度飛槳成為當(dāng)下分布式訓(xùn)推場(chǎng)景表現(xiàn)更優(yōu)秀的框架。

當(dāng)然,飛槳的技術(shù)亮點(diǎn)遠(yuǎn)不止動(dòng)靜統(tǒng)一。
比如飛槳提供了對(duì)模型訓(xùn)練的特別優(yōu)化,有效提升訓(xùn)練吞吐率、訓(xùn)練有效率和收斂效率,并提供軟硬一體的大模型自動(dòng)容錯(cuò)方案。
我們來講個(gè)提升訓(xùn)推性能的黑科技↓
在大模型訓(xùn)推過程中,需要處理大量數(shù)據(jù),經(jīng)常要用到一種叫「注意力機(jī)制(Attention)」的計(jì)算方法。
讓模型從長(zhǎng)長(zhǎng)的文本中,找出哪些信息是重要的,哪些信息可以忽略。
飛槳首創(chuàng)了「FlashMask 動(dòng)態(tài)注意力掩碼」:加速大模型靈活注意力掩碼計(jì)算,有效提升長(zhǎng)序列建模能力和訓(xùn)練效率。

這項(xiàng)獨(dú)門技術(shù),巧妙地對(duì)注意力機(jī)制的計(jì)算過程進(jìn)行優(yōu)化和簡(jiǎn)化,支持靈活多樣的注意力掩碼模式,減少模型在進(jìn)行長(zhǎng)文本處理時(shí)不必要的計(jì)算和存儲(chǔ)需求。
從而模型在處理更長(zhǎng)文本時(shí),速度更快,占用顯存更少,優(yōu)化長(zhǎng)文處理能力和多輪交互表現(xiàn)。
同時(shí),針對(duì)多模態(tài)模型、長(zhǎng)序列等關(guān)鍵訓(xùn)練場(chǎng)景以及訓(xùn)練突刺、訓(xùn)練資源變化和訓(xùn)練中斷恢復(fù)等實(shí)際問題,飛槳?jiǎng)?chuàng)新性的拿出了一系列優(yōu)化技術(shù)。

這些技術(shù)包括:多模型結(jié)構(gòu)混合并行、分片切分并行、靈活批次虛擬流水線、存算平衡的重計(jì)算、AdaGC自適應(yīng)梯度裁剪和ZCC Ckpt高效轉(zhuǎn)存等技術(shù)等等。
然后,再結(jié)合模型算法特點(diǎn)和實(shí)際訓(xùn)練場(chǎng)景,從并行策略、計(jì)算優(yōu)化、算法效率、集群容錯(cuò)等各個(gè)方面進(jìn)行全棧優(yōu)化。
不僅如此,面對(duì)當(dāng)下火爆的大模型推理需求,飛槳針對(duì)推理場(chǎng)景也做了大量?jī)?yōu)化。
比如飛槳PaddleSlim技術(shù),為模型壓縮瘦身,在效果無損的前提下,大幅降低推理算力開銷。
剛剛發(fā)布的飛槳框架3.0,又為我們帶來了更多技術(shù)亮點(diǎn)↓
比如自動(dòng)并行、神經(jīng)網(wǎng)絡(luò)編譯器自動(dòng)優(yōu)化等等,所有這一切都是為大規(guī)模分布式訓(xùn)練和推理未雨綢繆。

二、再看生態(tài)層面
目前,國(guó)產(chǎn)化算力已經(jīng)開始全面上線(昆侖芯、昇騰、海光、寒武紀(jì)、沐曦……),算力短缺的情況會(huì)緩解,未來的大模型訓(xùn)推,國(guó)產(chǎn)算力會(huì)逐漸唱主角。
但是,市面上的其他流行框架,對(duì)國(guó)產(chǎn)算力卡、計(jì)算庫(kù)、國(guó)產(chǎn)模型的支持,存在嚴(yán)重短板。

飛槳?jiǎng)t擁有更加開放的生態(tài),對(duì)國(guó)產(chǎn)化算力的支持,在業(yè)內(nèi)是獨(dú)一無二的,而且,飛槳也支持所有主流大模型。
同時(shí),飛槳框架3.0還進(jìn)一步簡(jiǎn)化了硬件適配,為大模型硬件適配提供了功能完善且低成本的方案。

3月16日,百度發(fā)布了新一代原生多模態(tài)基礎(chǔ)大模型文心4.5,通過多個(gè)模態(tài)聯(lián)合建模實(shí)現(xiàn)協(xié)同優(yōu)化,多模態(tài)理解能力優(yōu)秀;具備更精進(jìn)的語(yǔ)言能力,理解、生成、邏輯、記憶能力全面提升,去幻覺、邏輯推理、代碼能力顯著提升。
在文心4.5的訓(xùn)練和部署上線過程中,飛槳發(fā)揮了重要的作用。
可以想象一下,未來幾年的名場(chǎng)面:國(guó)產(chǎn)AI框架的統(tǒng)籌調(diào)度之下,國(guó)產(chǎn)算力卡、國(guó)產(chǎn)計(jì)算庫(kù)、國(guó)產(chǎn)大模型協(xié)同作戰(zhàn)…
總指揮、工人、施工機(jī)械,全國(guó)產(chǎn)化方案,一條龍蓋樓嘍!
百度飛槳的含金量,還在上升…
熱門跟貼