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