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

智東西4月13日報道,在剛剛落幕的GTIC 2023中國AIGC創新峰會上,NVIDIA消費互聯網行業解決方案架構師負責人徐添豪帶來了主題為《NVIDIA全棧賦能LLM的前沿研究和規模化部署》的主題演講。

硬件算力的提升不僅依靠芯片工藝的提升,更依靠準確捕捉AI模型算法演進的需求和趨勢,徐添豪說:“找到計算加速的關鍵點,并不斷創新滿足未來的業務需求。”進入大模型時代,一張卡遠遠無法承載一個模型的訓練,需要更多個體組成能互相協作的機器節點。

NVIDIA引入NVLink,NVSwitch和IB技術,其中Ampere和Hopper架構就是根據NVSwitch構建節點,通過IB網絡進行集群組網,使得這些實力強勁的個體能高效協作完成同一件事。

其中底層硬件是底座,為了開發者把硬件用起來并真正解決問題,需要軟件的協同。因此,NVIDIA在過去一直在構建SDK和場景應用以解決各行各業的問題,其中NeMo Framework就是為了解決大模型訓練和推理部署問題。

那么,怎么評估訓練GPT-3到底需要多少資源?徐添豪講解了一個公式:消耗的時間=做大模型需要的FLOPS/硬件發揮的有效算力。基于并行方式的有效集成及一系列的優化,NVIDIA的NeMo Framework在訓練GPT-3過程中能使得硬件算力有效性能達到50%以上。

此外,為了加速企業的大模型規模化部署,NVIDIA NeMo Framework還提供了基于Faster Transformer和Triton整合的一體化大模型方案。

以下為徐添豪的演講實錄:

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

在這幾月,創投圈、技術圈聊大模型的人特別多,今天我不會從行業場景或算法層面來切入這個點,而是大家離不開的算力話題,主要包括三部分:

1、回顧過去五六年NVIDIA迭代的硬件系統設計思考,探討怎樣圍繞AI時代來做演進和創新。

2、解讀從底層硬件到上層軟件構建出來完整的生態系統布局。

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

一、五代硬件系統迭代,解決深度學習時代算力問題

簡單回顧一下過去幾年大家聽到比較多的硬件架構,NVIDIA五個平臺架構Pascal、Volta、Turing、Ampere、Hopper對應的產品有五代。除了圖靈卡沒有訓練卡,其余四代都有相應的訓練卡。

NVIDIA徐添豪:軟硬件協同賦能大規模集群訓練GPT-3,算力有效性超50%丨GTIC 2023

我們可以看到,Pascal架構第一次引入了FP16。以前我們做HPC的時代,FP64的數值精度都是必備的,對于算法結果是很重要的一個保障。到了深度學習、機器學習時代,大家發現FP32就能搞定這個問題,省下很多算力。

再進一步,是不是有更低的數值精度把這個問題解決好?FP16的引入,在P100的架構構成機器上,開創了混合精度時代,再往后到加深了混合精度,到Ampere、Hopper架構引入更多新的數值格式,到Hopper上引入FP8,即將會迎來圍繞著FP8的混合精度訓練時代。

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

整個硬件的演進不僅僅把算力通過工藝堆疊起來,也通過不斷的創新去找到AI算力需求點,去進行額外的探索工作。

二、引入NVLink、NVSwitch等技術,讓多卡并肩作戰

一張卡可以認為是單打獨斗的人,非常有力量。大模型時代不可能由一張顯卡來解決問題,它的問題規模是原來的一萬倍、一百萬倍,甚至未來更大數量級的提升,我們必須用更多的顯卡、更多有力量的個體組成協作節點和集群。

怎么互相協作?

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

NVIDIA徐添豪:軟硬件協同賦能大規模集群訓練GPT-3,算力有效性超50%丨GTIC 2023

NVLink系統已經演進到第四代,本質差異是帶寬增加。在Volta架構引入第一代NVSwitch,由16卡構成的單節點機器,到Ampere和Hopper,現在市場上主流的是這樣一些通過NVSwitch構建出來的節點。

NVSwitch就是一個Switch,進行點對點的全速互聯,使得這么多非常強的個體能夠高效地合到一起,一起做一件事情,機器內節點的演進和思考。

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

引入機器間的網絡互聯,以交換機和網卡構建出來以IB網絡構建的數據中心集群,對于這個問題的解決是至關重要的。

你的節點內問題解決得很好,節點間大家又存在一些帶寬的限制,使得它不能高效合作起來,算力就會被浪費。NVIDIA在硬件、底層系統架構設計上過去幾年不斷演進思考和設計,這才使大家現在能看到基于A800系統賦能快速把大語言模型做出來。

除了底層硬件,NVIDIA在軟件生態上花了很多的功夫,自2006年引入CUDA,在生態中構建了很多軟件。

NVIDIA徐添豪:軟硬件協同賦能大規模集群訓練GPT-3,算力有效性超50%丨GTIC 2023

底層的硬件作為一個底座,如果要支持上層做得更好,還需要用各種各樣的軟件。過去這么多年,圍繞CUDA的生態解決了各種各樣的問題。比如我們幫臺積電解決在芯片設計生產領域的計算加速問題。

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

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

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

前面大家都提到了做一個GPT-3的訓練大概要多少資源。我們拿一千張A800的卡做一個評估,有一個簡單的公式,需要消耗的時間等于你做這個大模型,比如GPT-3標準結構,要的FLOPS是多少,通過理論方式可以算出來。

NVIDIA徐添豪:軟硬件協同賦能大規模集群訓練GPT-3,算力有效性超50%丨GTIC 2023

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

大家做各種各樣的軟件設計去實現更快的訓練收斂效率,非常核心的因素在于這個“50%”。NVIDIA在NeMo Framework上175B的規模在128臺機器上超過50%。各路業內大拿都在用各樣各樣的方法,都是圍繞這50%做得更高,這也成為一個持續的話題。

基于這個值,128臺機器需要24天左右的時間完成300 billon tokens的數據訓練175B的模型,這個可以跟大家看到的1000張卡一個月左右的時間對上。

考慮到前面的硬件結構設計,機器內通過NVSwitch互聯,互聯帶寬非常強,可以把需要更多的帶寬通信的并行模式放到節點內。通過這樣的技術再結合ZeRO1等技術可以實現前面提到的50%+的效率,這是非常好的效果。

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

此外,為了加速企業的大模型規模化部署,NeMo Framework還提供了基于FasterTransformer和Triton整合的一體化大模型方案。

四、總結:NVIDIA全棧賦能LLM的前沿研究和規模化部署

總結一下前面講的,從2016年Pascal架構到現在Hopper架構馬上要開始部署了,每代顯卡針對當時甚至未來AI的模型可能出現什么結構做前沿的創新,這些創新落實到現在能看到的訓練腳本里面,甚至是一些框架里面。

由這些非常強的個體本身的算力演進來提升1000倍算力,由超強的個體再組成節點集群,這里面都有NVIDIA非常多的思考,有著每一代技術的演進,才能構成超強的計算集群,來為大模型時代提供非常好的基礎架構設施參考。

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

這就是我的分享,也是過去跟行業內各個客戶,真實把這些技術結合硬件、軟件、生態落地之后的一些思考。

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

以上是徐添豪演講內容的完整整理。