智東西(公眾號(hào):zhidxcom)
編輯 | GTIC

智東西4月13日?qǐng)?bào)道,在剛剛落幕的GTIC 2023中國(guó)AIGC創(chuàng)新峰會(huì)上,NVIDIA消費(fèi)互聯(lián)網(wǎng)行業(yè)解決方案架構(gòu)師負(fù)責(zé)人徐添豪帶來了主題為《NVIDIA全棧賦能LLM的前沿研究和規(guī)模化部署》的主題演講。

硬件算力的提升不僅依靠芯片工藝的提升,更依靠準(zhǔn)確捕捉AI模型算法演進(jìn)的需求和趨勢(shì),徐添豪說:“找到計(jì)算加速的關(guān)鍵點(diǎn),并不斷創(chuàng)新滿足未來的業(yè)務(wù)需求?!边M(jìn)入大模型時(shí)代,一張卡遠(yuǎn)遠(yuǎn)無法承載一個(gè)模型的訓(xùn)練,需要更多個(gè)體組成能互相協(xié)作的機(jī)器節(jié)點(diǎn)。

NVIDIA引入NVLink,NVSwitch和IB技術(shù),其中Ampere和Hopper架構(gòu)就是根據(jù)NVSwitch構(gòu)建節(jié)點(diǎn),通過IB網(wǎng)絡(luò)進(jìn)行集群組網(wǎng),使得這些實(shí)力強(qiáng)勁的個(gè)體能高效協(xié)作完成同一件事。

其中底層硬件是底座,為了開發(fā)者把硬件用起來并真正解決問題,需要軟件的協(xié)同。因此,NVIDIA在過去一直在構(gòu)建SDK和場(chǎng)景應(yīng)用以解決各行各業(yè)的問題,其中NeMo Framework就是為了解決大模型訓(xùn)練和推理部署問題。

那么,怎么評(píng)估訓(xùn)練GPT-3到底需要多少資源?徐添豪講解了一個(gè)公式:消耗的時(shí)間=做大模型需要的FLOPS/硬件發(fā)揮的有效算力?;诓⑿蟹绞降挠行Ъ杉耙幌盗械膬?yōu)化,NVIDIA的NeMo Framework在訓(xùn)練GPT-3過程中能使得硬件算力有效性能達(dá)到50%以上。

此外,為了加速企業(yè)的大模型規(guī)?;渴?,NVIDIA NeMo Framework還提供了基于Faster Transformer和Triton整合的一體化大模型方案。

以下為徐添豪的演講實(shí)錄:

大家下午好!非常榮幸今天能夠來參加GTIC大會(huì),借此機(jī)會(huì)圍繞LLM(大語言模型)帶來一些NVIDIA在硬件、上層的分享。

在這幾月,創(chuàng)投圈、技術(shù)圈聊大模型的人特別多,今天我不會(huì)從行業(yè)場(chǎng)景或算法層面來切入這個(gè)點(diǎn),而是大家離不開的算力話題,主要包括三部分:

1、回顧過去五六年NVIDIA迭代的硬件系統(tǒng)設(shè)計(jì)思考,探討怎樣圍繞AI時(shí)代來做演進(jìn)和創(chuàng)新。

2、解讀從底層硬件到上層軟件構(gòu)建出來完整的生態(tài)系統(tǒng)布局。

3、聚焦更多關(guān)注大模型怎么高效把GPU集群用起來的方法。

一、五代硬件系統(tǒng)迭代,解決深度學(xué)習(xí)時(shí)代算力問題

簡(jiǎn)單回顧一下過去幾年大家聽到比較多的硬件架構(gòu),NVIDIA五個(gè)平臺(tái)架構(gòu)Pascal、Volta、Turing、Ampere、Hopper對(duì)應(yīng)的產(chǎn)品有五代。除了圖靈卡沒有訓(xùn)練卡,其余四代都有相應(yīng)的訓(xùn)練卡。

NVIDIA徐添豪:軟硬件協(xié)同賦能大規(guī)模集群訓(xùn)練GPT-3,算力有效性超50%丨GTIC 2023

我們可以看到,Pascal架構(gòu)第一次引入了FP16。以前我們做HPC的時(shí)代,F(xiàn)P64的數(shù)值精度都是必備的,對(duì)于算法結(jié)果是很重要的一個(gè)保障。到了深度學(xué)習(xí)、機(jī)器學(xué)習(xí)時(shí)代,大家發(fā)現(xiàn)FP32就能搞定這個(gè)問題,省下很多算力。

再進(jìn)一步,是不是有更低的數(shù)值精度把這個(gè)問題解決好?FP16的引入,在P100的架構(gòu)構(gòu)成機(jī)器上,開創(chuàng)了混合精度時(shí)代,再往后到加深了混合精度,到Ampere、Hopper架構(gòu)引入更多新的數(shù)值格式,到Hopper上引入FP8,即將會(huì)迎來圍繞著FP8的混合精度訓(xùn)練時(shí)代。

從ResNet到RNN,從卷積神經(jīng)網(wǎng)絡(luò)到Transformer,核心結(jié)構(gòu)都是計(jì)算重心在矩陣乘法上,非常直接的一個(gè)加速方法或者把算力提上去的方法,就是加速這個(gè)矩陣乘法,專門做矩陣計(jì)算加速的Tensor Core。過去十年的算力演進(jìn),每年相比上一年翻一番,過去十年累計(jì)起來可以看到,已經(jīng)提升了1000倍算力提升。

整個(gè)硬件的演進(jìn)不僅僅把算力通過工藝堆疊起來,也通過不斷的創(chuàng)新去找到AI算力需求點(diǎn),去進(jìn)行額外的探索工作。

二、引入NVLink、NVSwitch等技術(shù),讓多卡并肩作戰(zhàn)

一張卡可以認(rèn)為是單打獨(dú)斗的人,非常有力量。大模型時(shí)代不可能由一張顯卡來解決問題,它的問題規(guī)模是原來的一萬倍、一百萬倍,甚至未來更大數(shù)量級(jí)的提升,我們必須用更多的顯卡、更多有力量的個(gè)體組成協(xié)作節(jié)點(diǎn)和集群。

怎么互相協(xié)作?

NVLink和NVSwitch是點(diǎn)對(duì)點(diǎn)的連接器件,把GPU之間連接起來,高速互聯(lián),不再需要走PCIe受限于帶寬做信息共享。

NVIDIA徐添豪:軟硬件協(xié)同賦能大規(guī)模集群訓(xùn)練GPT-3,算力有效性超50%丨GTIC 2023

NVLink系統(tǒng)已經(jīng)演進(jìn)到第四代,本質(zhì)差異是帶寬增加。在Volta架構(gòu)引入第一代NVSwitch,由16卡構(gòu)成的單節(jié)點(diǎn)機(jī)器,到Ampere和Hopper,現(xiàn)在市場(chǎng)上主流的是這樣一些通過NVSwitch構(gòu)建出來的節(jié)點(diǎn)。

NVSwitch就是一個(gè)Switch,進(jìn)行點(diǎn)對(duì)點(diǎn)的全速互聯(lián),使得這么多非常強(qiáng)的個(gè)體能夠高效地合到一起,一起做一件事情,機(jī)器內(nèi)節(jié)點(diǎn)的演進(jìn)和思考。

如果說這個(gè)問題的規(guī)模變得越來越大,比如現(xiàn)在OpenAI做ChatGPT,可能需要上萬張顯卡一起來做,意味著有幾千個(gè)節(jié)點(diǎn),這些節(jié)點(diǎn)同樣需要硬件的連接設(shè)備,使得我們有足夠的信息交流渠道,讓它們以高效一致的步伐來做協(xié)作。

引入機(jī)器間的網(wǎng)絡(luò)互聯(lián),以交換機(jī)和網(wǎng)卡構(gòu)建出來以IB網(wǎng)絡(luò)構(gòu)建的數(shù)據(jù)中心集群,對(duì)于這個(gè)問題的解決是至關(guān)重要的。

你的節(jié)點(diǎn)內(nèi)問題解決得很好,節(jié)點(diǎn)間大家又存在一些帶寬的限制,使得它不能高效合作起來,算力就會(huì)被浪費(fèi)。NVIDIA在硬件、底層系統(tǒng)架構(gòu)設(shè)計(jì)上過去幾年不斷演進(jìn)思考和設(shè)計(jì),這才使大家現(xiàn)在能看到基于A800系統(tǒng)賦能快速把大語言模型做出來。

除了底層硬件,NVIDIA在軟件生態(tài)上花了很多的功夫,自2006年引入CUDA,在生態(tài)中構(gòu)建了很多軟件。

NVIDIA徐添豪:軟硬件協(xié)同賦能大規(guī)模集群訓(xùn)練GPT-3,算力有效性超50%丨GTIC 2023

底層的硬件作為一個(gè)底座,如果要支持上層做得更好,還需要用各種各樣的軟件。過去這么多年,圍繞CUDA的生態(tài)解決了各種各樣的問題。比如我們幫臺(tái)積電解決在芯片設(shè)計(jì)生產(chǎn)領(lǐng)域的計(jì)算加速問題。

類似這樣的工作非常多,構(gòu)成了軟件層的核心部分。

三、基于NeMo Framework,GPT-3訓(xùn)練算力有效性能超50%

再到上層,今天大家可能聚焦的NeMo,專門針對(duì)解決大模型以及其它訓(xùn)練的問題。

前面大家都提到了做一個(gè)GPT-3的訓(xùn)練大概要多少資源。我們拿一千張A800的卡做一個(gè)評(píng)估,有一個(gè)簡(jiǎn)單的公式,需要消耗的時(shí)間等于你做這個(gè)大模型,比如GPT-3標(biāo)準(zhǔn)結(jié)構(gòu),要的FLOPS是多少,通過理論方式可以算出來。

NVIDIA徐添豪:軟硬件協(xié)同賦能大規(guī)模集群訓(xùn)練GPT-3,算力有效性超50%丨GTIC 2023

同時(shí)除以硬件的FLOPS乘以它的有效性,硬件真正發(fā)揮出來的FLOPS,等于你做完這個(gè)問題到底要花多少時(shí)間。前面都是定的,比如我有一個(gè)參考,GPT-3這樣的結(jié)構(gòu)去過300 billon tokens的數(shù)據(jù),假設(shè)給你128臺(tái)A800機(jī)器組建的集群,用FP16做訓(xùn)練的話,單卡的FLOPS是312TFLOPS,總共有128個(gè)節(jié)點(diǎn),算出來這些是定的FLOPS。

大家做各種各樣的軟件設(shè)計(jì)去實(shí)現(xiàn)更快的訓(xùn)練收斂效率,非常核心的因素在于這個(gè)“50%”。NVIDIA在NeMo Framework上175B的規(guī)模在128臺(tái)機(jī)器上超過50%。各路業(yè)內(nèi)大拿都在用各樣各樣的方法,都是圍繞這50%做得更高,這也成為一個(gè)持續(xù)的話題。

基于這個(gè)值,128臺(tái)機(jī)器需要24天左右的時(shí)間完成300 billon tokens的數(shù)據(jù)訓(xùn)練175B的模型,這個(gè)可以跟大家看到的1000張卡一個(gè)月左右的時(shí)間對(duì)上。

考慮到前面的硬件結(jié)構(gòu)設(shè)計(jì),機(jī)器內(nèi)通過NVSwitch互聯(lián),互聯(lián)帶寬非常強(qiáng),可以把需要更多的帶寬通信的并行模式放到節(jié)點(diǎn)內(nèi)。通過這樣的技術(shù)再結(jié)合ZeRO1等技術(shù)可以實(shí)現(xiàn)前面提到的50%+的效率,這是非常好的效果。

NVIDIA推理方面在過去幾年跟國(guó)內(nèi)各行各業(yè)都有非常緊密的合作,在這個(gè)過程當(dāng)中不斷地積累,有一套Fast Transformer,對(duì)于部署場(chǎng)景提供更高的吞吐以及Latency的平衡,有時(shí)候在GPU的硬件設(shè)備上為了拿到更大的吞吐可能要組Batch,這是常見的部署方法。

此外,為了加速企業(yè)的大模型規(guī)?;渴穑琋eMo Framework還提供了基于FasterTransformer和Triton整合的一體化大模型方案。

四、總結(jié):NVIDIA全棧賦能LLM的前沿研究和規(guī)?;渴?/strong>

總結(jié)一下前面講的,從2016年P(guān)ascal架構(gòu)到現(xiàn)在Hopper架構(gòu)馬上要開始部署了,每代顯卡針對(duì)當(dāng)時(shí)甚至未來AI的模型可能出現(xiàn)什么結(jié)構(gòu)做前沿的創(chuàng)新,這些創(chuàng)新落實(shí)到現(xiàn)在能看到的訓(xùn)練腳本里面,甚至是一些框架里面。

由這些非常強(qiáng)的個(gè)體本身的算力演進(jìn)來提升1000倍算力,由超強(qiáng)的個(gè)體再組成節(jié)點(diǎn)集群,這里面都有NVIDIA非常多的思考,有著每一代技術(shù)的演進(jìn),才能構(gòu)成超強(qiáng)的計(jì)算集群,來為大模型時(shí)代提供非常好的基礎(chǔ)架構(gòu)設(shè)施參考。

下一步,圍繞硬件以外的軟件生態(tài),NVIDIA構(gòu)建出全棧的、能夠直接最終給到大家開箱即用的一系列加速軟件方案,幫助大家在接下來的大模型時(shí)代能有更快的速度,推出用時(shí)間、空間來贏得在市場(chǎng)上地位的軟硬件一體化方案。

這就是我的分享,也是過去跟行業(yè)內(nèi)各個(gè)客戶,真實(shí)把這些技術(shù)結(jié)合硬件、軟件、生態(tài)落地之后的一些思考。

謝謝大家,我的分享就到這里。

以上是徐添豪演講內(nèi)容的完整整理。