ChatGPT的火爆,直接引爆了大模型的繁榮,也使得NVIDIA GPU供不應求。
從發展的角度看,GPU并不是大模型最高效的計算平臺。
GPT等大模型為什么沒有突破萬億參數?核心原因在于在現在的GPU平臺上,性能和成本都達到了一個極限。想持續支撐萬億以上參數的更大的模型,需要讓性能數量級提升,以及單位算力成本數量級的下降。這必然需要全新架構的AI計算平臺。
本文拋磚引玉,期待行業更多的探討。
01.綜述
大模型為什么“不約而同”的停留在上千億的參數規模,沒有突破萬億參數?原因主要在于,在目前的架構體系下:
單個GPU性能增長(Scale up)有限,想要增加性能,只有通過增加計算集群規模(Scale out)的方式;
上萬GPU的計算集群,其東西向的流量交互指數級提升,受限于集群的網絡帶寬,約束了集群節點計算性能的發揮;
受阿姆達爾定律的約束,并行度無法無限擴展,增加集群規模的方式也到了瓶頸;
并且,如此大的集群規模,成本也變得不可承受。
總的來說,為了數量級的突破算力上限,需要從如下幾個方面入手:
首先,性能提升不單單是單個芯片的事情,而是一個系統工程。因此,需要從芯片軟硬件到整機再到數據中心全體系進行協同優化。
其次,擴大集群規模,也即大家熟知的Scale Out。要想Scale out,就需要增強集群的內聯交互,也就是要更高的帶寬,更高效的高性能網絡。同時,還需要降低單個計算節點的成本。
最后,最本質的,Scale Up,增加單個節點的性能。這個是最本質的能夠提升算力的方法。在功耗、工藝、成本等因素的約束下,要想提升性能,只能從軟硬件架構和微架構實現方面去挖潛。
02.全體系協同優化
算力,不僅僅是微觀芯片性能的事情,而是宏觀上復雜而龐大的系統工程。整個體系中,從工藝到軟件,從芯片到數據中心,整個算力體系中的各個領域的發展都已經達到一個相對穩定而成熟的階段。而AI大模型的發展,仍然需要算力大踏步的提升,這不僅僅需要各領域按部就班的持續優化,更需要各個領域間的跨域協同優化創新:
半導體工藝和封裝:更先進的工藝、3D集成,以及Chiplet封裝等。
芯片實現(微架構):通過一些創新的設計實現,如存算一體、DSA架構設計以及各類新型存儲等。
系統架構:比如開放精簡的RISC-v,異構計算逐漸走向超異構計算,以及駕馭復雜計算的軟硬件融合等。
系統軟件、框架、庫:基礎的如OS、Hypervisor、容器,以及需要持續優化和開源開放的各類計算框架和庫等。
業務應用(算法):業務場景算法優化、算法的并行性優化等;以及系統的靈活性和可編程性設計;系統的控制和管理、系統的擴展性等。
硬件,包括服務器、交換機等:多個功能芯片的板卡集成,定制板卡和服務器,服務器電源和散熱優化;
數據中心基礎設施:如綠色數據中心,液冷、PUE優化等;
數據中心運營和管理:如超大規模數據中心運營管理,跨數據中心運營和管理調度等。
03.Scale out:增加集群規模
N個節點通過連線兩兩相連,總共的連線數據需要N*(N-1)/2。據此公式,集群如果只有一個節點,那就沒有東西向的內部流量;隨著集群中節點數量的增多,內部交互數量會飛速的增長,隨之而來的,也就是集群內部的交互流量猛增。 據統計,目前在大型數據中心中的東西向網絡流量占比超過85%;AI大模型訓練集群,其節點數量基本上超過1000,其東西向流量估計超過90%。理論上,在各個連接流量均等的情況下,目前主流網卡200Gbps的帶寬,即使所有都是東西向流量,每兩個節點之間的流量也僅僅只能有200/1000 = 0.2 Gbps。一方面,南北向的流量被極限壓縮,單個連接的東西向流量又隨著集群數量的增長反而持續下降,這進一步凸顯了網絡帶寬瓶頸的問題。 與此同時,受阿姆達爾定律的影響,整體算力并不是跟節點數量呈理想的線性關系,而是隨著集群規模的增加,整體算力的增加會逐漸趨緩。 要想通過Scale Out方式提升集群的算力:
首先就是要快速的提升網絡帶寬。
其次,要有更優的高性能網絡支持。通過高性能網絡功能優化,如在擁塞控制、多路徑負載均衡ECMP、亂序交付、高可擴展性、故障快速恢復、Incast優化等方面進行調優,實現更優的高性能網絡能力。
再次,AI計算數據到網絡的更快速的路徑。傳統架構,GPU作為加速卡掛載CPU外面,從GPU到網絡的數據傳輸路徑非常長,并且CPU要參與傳輸的控制。可以通過例如GPU集成RoCE高性能網卡的方式,繞過CPU、DPU/NIC直接把數據傳輸出去。
最后,是要從算法和軟件處層次,提升并行度,并盡可能的降低并行程序之間的耦合度。
04.Scale Up:增加單芯片性能東西向流量本質上屬于內部“損耗”,通過Scale Out的方式提升性能對網絡的壓力巨大,并且有性能上限,屬于“治標不治本”的方式。 要想真正的大規模的提升算力,最本質最有效的辦法,還是要通過提升單個計算節點、單個計算芯片性能的方式。 要想提升單芯片性能:
首先,是提升芯片規模。通過工藝進步、3D和Chiplet封裝,提升單個芯片的設計規模。目前,主流的大芯片晶體管數量在500億。Intel計劃到2030年,會將單芯片晶體管數量提高到1萬億(提升20倍)。
第二,提升單位晶體管資源的性能效率。6個主要的處理器類型:CPU、協處理器、GPU、FPGA、DSA和ASIC,CPU最通用,但性能效率最低,而ASIC最專用,性能效率最高。在計算處理器方面,要盡可能選擇ASIC或接近ASIC的計算引擎,盡可能的提升此類處理器在整個系統中的計算量占比。
第三,提升通用靈活性。性能和靈活性是一對矛盾,為什么不能在一個芯片里,完全100%的采用ASIC級別的計算引擎?原因在于,純粹的ASIC沒有意義。芯片需要得到大范圍的使用,才能攤薄研發成本。這就需要考慮芯片的通用靈活性。
目前,受AI等各類大算力場景的驅動,異構計算已經成為計算架構的主流。未來,隨著大模型等更高算力需求場景的進一步發展,計算架構需要從異構計算進一步走向超異構計算:
第一階段,單CPU的串行計算;
第二階段,多CPU的同構并行計算;
第三階段,CPU+GPU的異構并行計算;
第四階段,CPU+DSA的異構并行計算;
第五階段,多種異構融合的超異構并行計算。
05.大算力芯片的通用性分析到目前為止,谷歌TPU都難言成功:雖然TPU可以做到,從芯片到框架,甚至到AI應用,谷歌可以做到全棧優化,但TPU仍然無法做到更大規模的落地,并且拖累了上層AI業務的發展。原因其實很簡單:
當上層的業務邏輯和算法一直處于快速迭代的時候,是很難把它固化成電路來進行加速的。
雖然谷歌發明了Transformer,但受限于其底層芯片TPU,使得上層業務需要考慮跟底層芯片的兼容,無法全身心投入到模型開發;
AI模型的發展,目前仍在“煉丹”的發展階段,誰能快速試錯快速迭代,誰就最有可能成功。
也因此,在AI大模型的發展進程中,谷歌落后了。而OpenAI沒有包袱,可以選擇最優的計算平臺(通用的GPU+CUDA平臺),全身心專注到自己模型的研發,率先實現了ChatGPT及GPT4這樣的高質量AI大模型,從而引領了AGI的大爆發時代。 結論:在目前AI算法快速演進的今天,通用性比性能重要。也因此,NVIDIA GPU通過在GPU中集成CUDA core和Tensor Core,既兼顧了通用性,又兼顧了靈活性,成為目前最佳的AI計算平臺。06.相關趨勢案例
6.1 Intel Hawana GAUDI
Gaudi是一個典型的Tensor加速器。從第一代Gaudi的16nm工藝提升到第二代的7nm工藝,Gaudi2將訓練和推理性能提升到一個全新的水平。它將AI定制Tensor處理器核心的數量從8個增加到24個,增加了對FP8的支持,并集成了一個媒體處理引擎,用于處理壓縮媒體,以卸載主機子系統。Gaudi2的封裝內存在每秒2.45 Tbps的帶寬下增加了三倍,達到96GB的HBM2e。
Gaudi可以通過24個100Gbps的RDMA高性能網卡實現非常高的集群擴展能力。實際的集群架構設計,可以根據具體的需求靈活設計。 相比傳統的GPU、TPU等加速器,Gaudi的最大亮點在于集成了超高帶寬的高性能網絡。從而提升了集群節點間的東西向流量交互效率,也使得更大規模的集群設計成為可能。
6.2 Graphcore IPU
上圖為Graphcore的IPU處理器,IPU處理器具有1216個Tile(每個Tile包含一個Core和它的本地內存),交換結構(一個片內互連),IPU鏈路接口用于連接到其他IPU,PCIe接口用于與主機連接。 Graphcore在架構上是類似NVIDIA GPU的產品,是相對通用的計算架構,比較符合AI計算的要求。但受限于沒有類似Tensor core這樣的協處理優化,在性能上存在劣勢;以及還沒有形成類似NVIDIA CUDA這樣強大的開發框架和豐富生態。
6.3 Tesla DOJO
Tesla Dojo芯片和相應的整個集群系統,跟傳統的設計理念有很大的不同。其基于整個POD級的超強的擴展性和全系統棧協同設計能力。Dojo系統的每個Node都是完全對稱的,是一個POD級完全UMA的架構。或者說,Dojo的擴展性,跨過了芯片、Tile、Cabinet,達到了POD級別。 DOJO是Tesla專用于數據中心AI訓練的芯片、集群和解決方案。DOJO的可擴展性能力,使得AI工程師可以專注在模型開發和訓練本身,而較少考慮模型的分割和交互等跟硬件特性相關的細節。 DOJO也是比較通用的計算架構:內核是一個CPU+AI協處理器的做法,然后多核心組成芯片,芯片再組織成POD。宏觀上,跟NVIDIA GPU的整體思路接近。
6.4 Tenstorrent Grayskull & Wormhole
Tesla Dojo和Tenstorrent的AI系列芯片都是Jim Keller主導的項目,架構設計理念有很多相似之處。
基本架構單元是Tensix核心,它圍繞一個大型計算引擎構建,該引擎從單個密集數學單元承擔3 TOPS計算的絕大部分。
Tenstorrent的Grayskull加速器芯片實現了一個由Tensix內核組成12x10陣列,峰值性能為368 INT8 TOPS。
Tenstorrent的第一代芯片代號是Grayskull,第二代芯片代號是Wormhole,兩者宏觀架構接近。使用Wormhole模塊,Tenstorrent設計了nebula(星云),一個4U服務器包含32個Wormhole芯片。
這是一個完整的48U的機架,它像一個2D網格一樣,每個Wormhole服務器連接在另一個服務器的對等端,就像一個大而均勻的Mesh網絡。 Tenstorrent通過這種多網絡連接的方式,實現了集群的極致擴展性。其整體思路和Tesla DOJO類似。
審核編輯 :李倩
-
芯片
+關注
關注
456文章
51157瀏覽量
426729 -
服務器
+關注
關注
12文章
9295瀏覽量
85964 -
數據中心
+關注
關注
16文章
4855瀏覽量
72348 -
ChatGPT
+關注
關注
29文章
1566瀏覽量
8006
原文標題:從ChatGPT等大模型的興起,看未來計算芯片的發展趨勢
文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論