在昨日舉行的“2022 百度云智峰會(huì)·智算峰會(huì)”上,NVIDIA解決方案工程中心高級(jí)技術(shù)經(jīng)理路川分享了以“應(yīng)用驅(qū)動(dòng)的數(shù)據(jù)中心計(jì)算架構(gòu)演進(jìn)”為題的演講,探討GPU數(shù)據(jù)中心的發(fā)展趨勢(shì),以及介紹NVIDIA在構(gòu)建以GPU為基礎(chǔ)的數(shù)據(jù)中心架構(gòu)方面的實(shí)踐經(jīng)驗(yàn)。以下為內(nèi)容概要。
應(yīng)用對(duì)算力需求的不斷增長(zhǎng),以GPU為核心的分布式計(jì)算系統(tǒng)已經(jīng)成為大模型應(yīng)用重要的一環(huán)
數(shù)據(jù)中心的發(fā)展是由應(yīng)用驅(qū)動(dòng)的。隨著AI的興起、普及,AI大模型訓(xùn)練在各領(lǐng)域的逐步應(yīng)用,人們對(duì)數(shù)據(jù)中心的GPU算力、GPU集群的需求在飛速增長(zhǎng)。傳統(tǒng)的以CPU為基礎(chǔ)的數(shù)據(jù)中心架構(gòu),已很難滿足AI應(yīng)用的發(fā)展需求,NVIDIA也一直在探索如何構(gòu)建一個(gè)高效的以GPU為基礎(chǔ)的數(shù)據(jù)中心架構(gòu)。
我將從三個(gè)方面跟大家一起探討這個(gè)話題:一,應(yīng)用驅(qū)動(dòng);二,NVIDIA最新一代GPU SuperPOD的架構(gòu)設(shè)計(jì);三,未來(lái)GPU數(shù)據(jù)中心、GPU集群的發(fā)展趨勢(shì) 。
我們首先看下近幾年AI應(yīng)用的發(fā)展趨勢(shì)??傮w上來(lái)講,應(yīng)用業(yè)務(wù)對(duì)計(jì)算的需求是不斷飛速增長(zhǎng)。我們以目前最流行的三個(gè)業(yè)務(wù)方向?yàn)槔f(shuō)明。
第一個(gè)應(yīng)用場(chǎng)景,AI應(yīng)用。我們可以從最左邊的圖表中可以看到,近10年CV 和 NLP模型的變化,這兩類業(yè)務(wù)場(chǎng)景是AI領(lǐng)域最流行、最成功,也是應(yīng)用范圍最為廣泛的場(chǎng)景。在圖表中我們可以看到,CV從2012年的AlexNet 到最新的wav2vec,模型對(duì)計(jì)算的需求增長(zhǎng)了1,000倍。
NLP模型在引入Transformer 結(jié)構(gòu)后,模型規(guī)模呈指數(shù)級(jí)增長(zhǎng),Transformer已成為大模型、大算力的代名詞。目前CV類的應(yīng)用也逐步引入Transformer結(jié)構(gòu)來(lái)構(gòu)建相關(guān)的AI模型,不斷提升應(yīng)用性能。數(shù)據(jù)顯示在最近兩年內(nèi)關(guān)于Transformer AI模型的論文增長(zhǎng)了150倍,而非Transformer結(jié)構(gòu)的AI模型相關(guān)論文增長(zhǎng)了大概8倍。
我們可以看到人們?cè)絹?lái)越意識(shí)到大模型在AI領(lǐng)域的重要性,和對(duì)應(yīng)用帶來(lái)的收益。同時(shí)大模型也意味著算力的需求的增長(zhǎng),以及對(duì)數(shù)據(jù)中心計(jì)算集群需求的增長(zhǎng)。
第二個(gè)應(yīng)用場(chǎng)景,數(shù)字孿生、虛擬人等模擬場(chǎng)景與AI的結(jié)合也是最近兩年的應(yīng)用熱點(diǎn)。人們通過(guò)數(shù)字孿生、虛擬人可以更好地對(duì)企業(yè)生產(chǎn)流程進(jìn)行管控,線上虛擬交互有更好的體驗(yàn),這背后都需要要巨大的算力資源來(lái)滿足渲染、實(shí)時(shí)交互等功能。
第三個(gè)應(yīng)用場(chǎng)景,量子計(jì)算,也是最近幾年我們計(jì)算熱點(diǎn)的技術(shù)。量子計(jì)算是利用量子力學(xué),可以比傳統(tǒng)的計(jì)算機(jī)更快地解決復(fù)雜的問(wèn)題。量子計(jì)算機(jī)的發(fā)展還處在非常前期的階段,相關(guān)的量子算法的研究和應(yīng)用也需要大量的算力做模擬支撐。
前面我們提到了AI大模型的業(yè)務(wù)應(yīng)用,為什么要用到大模型,大模型可以給我們帶來(lái)什么樣的收益?
在右圖中我們可以看到1.5B GPT-2 和MT-NLG在150B-270B不同參數(shù)規(guī)模下對(duì)應(yīng)用精度的影響。
我們可以清楚地看到大模型對(duì)應(yīng)用精度的效果,尤其是對(duì)復(fù)雜、泛化的業(yè)務(wù)場(chǎng)景的表現(xiàn)尤為突出。同時(shí)大模型在預(yù)測(cè)(inference)端正在快速發(fā)展,優(yōu)化特定場(chǎng)景、特定行業(yè)的性能,優(yōu)化預(yù)測(cè)端計(jì)算資源使用等,相信在不久的將來(lái)會(huì)有更多像ChatGPT一樣令人驚嘆的應(yīng)用在行業(yè)落地。這都將會(huì)推動(dòng)大模型基礎(chǔ)研究,推動(dòng)對(duì)訓(xùn)練大模型所需算力的建設(shè)。一個(gè)以GPU為基礎(chǔ)的分布式計(jì)算系統(tǒng)也是大模型應(yīng)用所必須的。
AI大模型訓(xùn)練為什么要用到GPU集群,用到更大規(guī)模的GPU?它能給我們的訓(xùn)練帶來(lái)什么樣的收益?這邊我們用兩個(gè)實(shí)際的例子作為參考。
一個(gè)應(yīng)用是BERT 340M 參數(shù)規(guī)模,使用Selene A100 SuperPOD集群,訓(xùn)練完成則需要0.2分鐘,在使用1/2個(gè)集群規(guī)模,訓(xùn)練完成需要0.4分鐘,使用1/4個(gè)集群規(guī)模下訓(xùn)練完成則需要0.7分鐘。我們可以看到在小參數(shù)規(guī)模下,使用幾十臺(tái)DGX A100也可以快速完成整個(gè)訓(xùn)練任務(wù),對(duì)于整個(gè)訓(xùn)練的迭代影響并不大。
另一個(gè)是Megatron 530B參數(shù)規(guī)模的NLP大模型,訓(xùn)練這個(gè)530B參數(shù)的大模型,使用整個(gè)Selene SuperPOD集群資源則需要3.5周、近一個(gè)月的時(shí)間才能完成,而使用1/2、1/4集群節(jié)點(diǎn)規(guī)模的情況下,則需要數(shù)月的訓(xùn)練時(shí)間才能完成整個(gè)訓(xùn)練,這對(duì)于大模型研發(fā)人員來(lái)說(shuō)是不可接受的。另外研發(fā)人員的時(shí)間成本是非常寶貴的,研究到產(chǎn)品化的時(shí)間也是非常關(guān)鍵的,我們不可能把時(shí)間浪費(fèi)在訓(xùn)練等待上。
在管理層面,構(gòu)建一個(gè)GPU集群,通過(guò)集群的作業(yè)調(diào)度和管理系統(tǒng),可以優(yōu)化調(diào)度各種類型、各種需求的GPU任務(wù),使用集群的GPU資源,以最大化利用GPU集群。在Facebook的一篇論文中提到,通過(guò)作業(yè)調(diào)度管理系統(tǒng),F(xiàn)acebook AI超級(jí)計(jì)算系統(tǒng)上每天可以承載3.5萬(wàn)個(gè)獨(dú)立的訓(xùn)練任務(wù)。
因此,GPU規(guī)模和集群管理對(duì)于提升分布式任務(wù)的運(yùn)行效率非常關(guān)鍵。
集群的最關(guān)鍵的地方就是通信,集群任務(wù)的調(diào)試優(yōu)化重點(diǎn)也是在使用各種并行方式優(yōu)化通信策略。在GPU集群中,通信主要分為兩個(gè)部分,一個(gè)是節(jié)點(diǎn)內(nèi)通信,一個(gè)是節(jié)點(diǎn)間通信。
在左圖中我們可以看到節(jié)點(diǎn)間通信NVLink對(duì)于它的重要性。圖中示例使用tensor 并行的方式,在節(jié)點(diǎn)間分別采用NVLink和采用PCIe 4.0進(jìn)行通信的對(duì)比,我們可以看到,NVLink環(huán)境下程序的通信時(shí)間僅需70ms(毫秒),而PCIe環(huán)境下通信時(shí)間則需要656ms,當(dāng)用多個(gè)節(jié)點(diǎn)組成的集群環(huán)境下差距會(huì)更加明顯。
在右圖中,我們使用7.5B 的AI模型,采用TPS=4,PPS=1,數(shù)據(jù)并行DPS=64的情況下,在32個(gè)集群的節(jié)點(diǎn)規(guī)模下,不同網(wǎng)卡對(duì)分布式訓(xùn)練任務(wù)的影響。紫色部分代表了通信占比,綠色代表計(jì)算時(shí)間占比。我們可以清晰地看到網(wǎng)卡數(shù)量、網(wǎng)絡(luò)帶寬對(duì)分布式應(yīng)用的性能的影響。
GPU集群應(yīng)用于AI訓(xùn)練也是最近幾年才逐步在客戶中開(kāi)始應(yīng)用。在AI發(fā)展的早期,模型較小,大部分采單機(jī)多卡或是多機(jī)數(shù)據(jù)并行的方式進(jìn)行訓(xùn)練,所以對(duì)GPU集群的要求并不是很高。2018年11月,NVIDIA第一次推出基于DGX-2的SuperPOD架構(gòu),也是看到AI發(fā)展的趨勢(shì),看到了AI應(yīng)用對(duì)GPU分布式集群在AI訓(xùn)練中的需求。
SuperPOD的架構(gòu)也在不斷地演進(jìn)和優(yōu)化。通過(guò)NVIDIA實(shí)戰(zhàn)經(jīng)驗(yàn)和性能優(yōu)化驗(yàn)證,SuperPOD可以幫助客戶迅速構(gòu)建起屬于自己的高性能GPU分布式集群。
NVIDIA最新一代Hopper GPU架構(gòu)下SuperPod的集群拓?fù)?/strong> 計(jì)算節(jié)點(diǎn)采用Hopper最新的GPU,相比較與Ampere GPU性能提升2~3倍。計(jì)算性能的提升需要更強(qiáng)的網(wǎng)絡(luò)帶寬來(lái)支撐,所以外部的網(wǎng)絡(luò)也由原來(lái)的200Gb升級(jí)為400Gb,400Gb的網(wǎng)絡(luò)交換機(jī)可以最多支撐到64個(gè)400Gb網(wǎng)口,所以每個(gè)計(jì)算POD由原來(lái)的20個(gè)變?yōu)?2個(gè)。更高的計(jì)算密度,在一個(gè)POD內(nèi)GPU直接的通信效率要更高。 NDR Infiniband 網(wǎng)絡(luò)、AR、SHARP、SHIELD等新的特性,在路由交換效率、聚合通信加速、網(wǎng)絡(luò)穩(wěn)定性等方面有了進(jìn)一步的提升,可以更好的支持分布式大規(guī)模GPU集群計(jì)算性能和穩(wěn)定性。在存儲(chǔ)和管理網(wǎng)絡(luò)方面,增加了智能網(wǎng)卡的支持,可以提供更多的管理功能,適應(yīng)不同客戶的需求。 未來(lái)數(shù)據(jù)中心GPU集群架構(gòu)的發(fā)展趨勢(shì):計(jì)算、互聯(lián)、軟件 一,計(jì)算。集群的架構(gòu)設(shè)計(jì)中,單節(jié)點(diǎn)計(jì)算性能越高,越有優(yōu)勢(shì),所以在GPU選擇上我們會(huì)采用最新的GPU架構(gòu),這樣會(huì)帶來(lái)更強(qiáng)的GPU算力。 在未來(lái)兩年,Hopper將成為GPU分布式計(jì)算集群的主力GPU。Hopper GPU我相信大家已經(jīng)很了解,相關(guān)特性我在這就不在贅述。我只強(qiáng)調(diào)一個(gè)功能,Transformer引擎。 在上文應(yīng)用的發(fā)展趨勢(shì)里,我們也提到了以Transformer為基礎(chǔ)的AI大模型的研究。Transformer 也是大模型分布式計(jì)算的代名詞,在Hopper架構(gòu)里新增加了Transformer 引擎,就是專門(mén)為T(mén)ransformer結(jié)構(gòu)而設(shè)計(jì)的GPU加速單元,這會(huì)極大地加速基于Transformer結(jié)構(gòu)的大模型訓(xùn)練效率。 二,互聯(lián)。GPU是CPU的加速器,集群計(jì)算的另外一個(gè)重要組成部分是CPU。NVIDIA會(huì)在2023年發(fā)布基于Arm 72核、專為高性能設(shè)計(jì)的Grace CPU,配置500GB/s LPDDR5X 內(nèi)存,900GB/s NVLink, 可以跟GPU更好地配合,輸出強(qiáng)大的計(jì)算性能。 基于Grace CPU,會(huì)有兩種形態(tài)的超級(jí)芯片,一是Grace+Hopper,二是Grace+Grace。 Grace+Hopper,我們知道GPU作為CPU加速器,并不是所有應(yīng)用任務(wù)都適用于GPU來(lái)加速,其中很關(guān)鍵的一個(gè)點(diǎn)就是GPU和CPU之間的存儲(chǔ)帶寬的瓶頸,Grace+Hopper超級(jí)芯片就是解決此類問(wèn)題。 在Grace Hopper超級(jí)芯片架構(gòu)下,GPU可以通過(guò)高速的NVLink直接訪問(wèn)到CPU顯存。對(duì)于大模型計(jì)算,更多應(yīng)用遷移到GPU上加速都有極大的幫助。 Grace+Grace ,是在一個(gè)模組上可以提供高達(dá)144 CPU核,1 TB/s LPDDR5X的高速存儲(chǔ),給集群節(jié)點(diǎn)提供了強(qiáng)勁的單節(jié)點(diǎn)的CPU計(jì)算性能,從而提升整個(gè)集群效率。 之前我們所熟知的NVLink,都是應(yīng)用在節(jié)點(diǎn)內(nèi)GPU和GPU之間的互聯(lián)。在Grace Hopper集群下,NVLink可以做到節(jié)點(diǎn)之間互聯(lián),這樣節(jié)點(diǎn)之間GPU-GPU,或GPU-CPU,或CPU-CPU之間,都可以通過(guò)高速的NVLink進(jìn)行互聯(lián),可以更高效地完成大模型的分布式計(jì)算。 在未來(lái)也許我們可以看到更多業(yè)務(wù)應(yīng)用遷移到Grace+Hopper架構(gòu)下,節(jié)點(diǎn)之間的NVLlink高速互聯(lián)也許會(huì)成為一個(gè)趨勢(shì),更好地支持GPU分布式計(jì)算。 智能網(wǎng)卡在集群中的應(yīng)用,首先智能網(wǎng)卡技術(shù)并不是一個(gè)新的技術(shù),各家也有各家的方案,傳統(tǒng)上我們可以利用智能網(wǎng)卡把云業(yè)務(wù)場(chǎng)景下的Hypervisor管理、網(wǎng)絡(luò)功能、存儲(chǔ)功能等卸載到智能網(wǎng)卡上進(jìn)行處理,這樣可以給云客戶提供一個(gè)云生的計(jì)算資源環(huán)境。NVIDIA智能網(wǎng)卡跟百度也有很深的合作,包括GPU集群裸金屬方案也都配置了NVIDIA智能網(wǎng)卡進(jìn)行管理。 在非GPU的業(yè)務(wù)場(chǎng)景下,我們看到智能網(wǎng)卡對(duì)HPC應(yīng)用業(yè)務(wù)的加速,主要是在分子動(dòng)力學(xué),氣象和信號(hào)處理應(yīng)用上,通過(guò)對(duì)集群中聚合通信的卸載,我們可以看到應(yīng)用可以獲得20%以上的收益。智能網(wǎng)卡技術(shù)也在不斷更新、升級(jí),業(yè)務(wù)場(chǎng)景也在不斷探索。相信在未來(lái)的GPU集群上會(huì)有更多的業(yè)務(wù)或優(yōu)化加速可以使用到智能網(wǎng)卡技術(shù)。 三,軟件。數(shù)據(jù)中心基礎(chǔ)設(shè)施是基礎(chǔ)底座,如何能夠更高效、快速、方便地應(yīng)用到基礎(chǔ)架構(gòu)變革所帶來(lái)的優(yōu)勢(shì),軟件生態(tài)的不斷完善和優(yōu)化是關(guān)鍵。 針對(duì)不同的業(yè)務(wù)場(chǎng)景,NVIDIA提供了SuperPOD、OVX 等數(shù)據(jù)中心基礎(chǔ)設(shè)施的參考架構(gòu),可以幫助用戶構(gòu)建最優(yōu)的數(shù)據(jù)中心基礎(chǔ)設(shè)施架構(gòu)。 上層提供了各種軟件加速庫(kù),如cuQuantum 可以幫助客戶直接在GPU集群上模擬量子算法計(jì)算,Magnum IO用來(lái)加速數(shù)據(jù)中心GPU集群和存儲(chǔ)系統(tǒng)的訪存IO效率,提升整個(gè)集群計(jì)算效率。 在未來(lái)會(huì)有更多的軟件工具、行業(yè)SDK,來(lái)支撐數(shù)據(jù)中心架構(gòu)的使用,讓各領(lǐng)域的研發(fā)人員不需要了解底層細(xì)節(jié),更加方便、快速地使用到數(shù)據(jù)中心GPU集群的的最優(yōu)性能。
下面我來(lái)簡(jiǎn)單介紹下,最新一代Hopper GPU架構(gòu)下SuperPOD的集群拓?fù)洹?/p>
下面,站在NVIDIA的角度,我們?cè)賮?lái)探討一下,未來(lái)數(shù)據(jù)中心GPU集群的架構(gòu)發(fā)展趨勢(shì)。整個(gè)GPU的集群主要有三個(gè)關(guān)鍵因素,分別是:計(jì)算、互聯(lián)和軟件。