芯片需求爆發式增長。
1. GPU 性能、功能經歷長期迭代升級,成為 AI 芯片中應用最廣泛的選擇
GPU 能夠進行并行計算,設計初衷是加速圖形渲染。NVIDIA 在 1999 年發布 GeForce 256 圖形處理芯片時 首先提出 GPU(Graphic Processing Unit)的概念,并將其定義為“具有集成轉換、照明、三角形設置/裁剪和渲 染引擎的單芯片處理器,能夠每秒處理至少 1000 萬個多邊形”。從計算資源占比角度看,CPU 包含大量的控制 單元和緩存單元,實際運算單元占比較小。GPU 則使用大量的運算單元,少量的控制單元和緩存單元。GPU 的 架構使其能夠進行規模化并行計算,尤其適合邏輯簡單,運算量大的任務。GPU 通過從 CPU 承擔一些計算密 集型功能(例如渲染)來提高計算機性能,加快應用程序的處理速度,這也是 GPU 早期的功能定位。
GPU 性能提升與功能豐富逐步滿足 AI 運算需要。2010 年 NVIDIA 提出的 Fermi 架構是首個完整的 GPU 計算架構,其中提出的許多新概念沿用至今。Kepler 架構在硬件上擁有了雙精度計算單元(FP64),并提出 GPU Direct 技術,繞過 CPU/System Memory,與其他 GPU 直接進行數據交互。Pascal 架構應用了第一代 NVLink。 Volta 架構開始應用 Tensor Core,對 AI 計算加速具有重要意義。簡要回顧 NVIDIA GPU 硬件變革歷程,工藝、 計算核心數增加等基礎特性的升級持續推動性能提升,同時每一代架構所包含的功能特性也在不斷豐富,逐漸 更好地適配 AI 運算的需要。
均衡分配資源的前提下,處理低精度的硬件單元數量更多,表現更高的算力性能。GPU 作為加速器得到廣 泛應用一定程度上得益于它的通用性,為了在不同精度的數據類型上具有良好的性能,以兼顧 AI、科學計算等 不同場景的需要,英偉達在分配處理不同數據類型的硬件單元時大體上保持均衡。因為低精度數據類型的計算 占用更少的硬件資源,同一款 GPU 中的處理低精度數據類型的硬件單元的數量較多,對應計算能力也較強。以 V100 為例,每個 SM 中 FP32 單元的數量都為 FP64 單元的兩倍,最終 V100 的 FP32 算力(15.7 TFLOPS)也近 似為 FP64(7.8 TFLOPS)的兩倍,類似的規律也可以在各代架構旗艦 P100、A100 和 H100 中看到。
Tensor Core 持續迭代提升其加速能力。Volta 架構引入 Tensor Core 的改動使 GPU 的 AI 算力有了明顯提升, 后續在每一代的架構升級中,Tensor Core 都有比較大的改進,支持的數據類型也逐漸增多。以 A100 到 H100 為例,Tensor Core 由 3.0 迭代至 4.0,H100 在 FP16 Tensor Core 的峰值吞吐量提升至 A100 的 3 倍。同時,H100 Tensor Core 支持新的數據類型 FP8,H100 FP8 Tensor Core 的吞吐量是 A100 FP16 Tensor Core 的 6 倍。
數據訪問支配著計算能力利用率。AI 運算涉及到大量數據的存儲與處理,根據 Cadence 數據,與一般工作 負載相比,每臺 AI 訓練服務器需要 6 倍的內存容量。而在過去幾十年中,處理器的運行速度隨著摩爾定律高速 提升,而 DRAM 的性能提升速度遠遠慢于處理器速度。目前 DRAM 的性能已經成為了整體計算機性能的一個 重要瓶頸,即所謂阻礙性能提升的“內存墻”。除了性能之外,內存對于能效比的限制也成為一個瓶頸,Cadence 數據顯示,在自然語言類 AI 負載中,存儲消耗的能量占比達到 82%。

硬件單元的改進與顯存升級增強了單張 GPU 算力的釋放,然而,隨著 Transformer 模型的大規模發展和應 用,模型參數量呈爆炸式增長,GPT-3 參數量達到了 1750 億,相比 GPT 增長了近 1500 倍,預訓練數據量更是 從 5GB 提升到了 45TB。大模型參數量的指數級增長帶來的諸多問題使 GPU 集群化運算成為必須: (1)即使最先進的 GPU,也不再可能將模型參數擬合到主內存中。 (2)即使模型可以安裝在單個 GPU 中(例如,通過在主機和設備內存之間交換參數),所需的大量計算操 作也可能導致在沒有并行化的情況下不切實際地延長訓練時間。根據 NVIDIA 數據,在 8 個 V100 GPU 上訓練 一個具有 1750 億個參數的 GPT-3 模型需要 36 年,而在 512 個 V100 GPU 上訓練需要 7 個月。
NVIDIA 開發 NVLink 技術解決 GPU 集群通信。在硬件端,GPU 之間穩定、高速的通信是實現集群運算 所必須的條件。傳統 x86 服務器的互連通道 PCIe 的互連帶寬由其代際與結構決定,例如 x16 PCIe 4.0 雙向帶寬 僅為 64GB/s。除此之外,GPU 之間通過 PCIe 交互還會與總線上的 CPU 操作競爭,甚至進一步占用可用帶寬。 NVIDIA 為突破 PCIe 互連的帶寬限制,在 P100 上搭載了首項高速 GPU 互連技術 NVLink(一種總線及通訊協 議),GPU 之間無需再通過 PCIe 進行交互。
NVDIA 開發基于 NVLink 的芯片 NVSwitch,作為 GPU 集群數據通信的“樞紐”。NVLink 1.0 技術使用時, 一臺服務器中的 8 個 GPU 無法全部實現直接互連。同時,當 GPU 數量增加時,僅依靠 NVLink 技術,需要眾 多數量的總線。為解決上述問題,NVIDIA 在 NVLink 2.0 時期發布了 NVSwitch,實現了 NVLink 的全連接。 NVSwitch 是一款 GPU 橋接芯片,可提供所需的 NVLink 交叉網絡,在 GPU 之間的通信中發揮“樞紐”作用。 借助于 NVswitch,每顆 GPU 都能以相同的延遲和速度訪問其它的 GPU。就程序來看,16 個 GPU 都被視為一 個 GPU,系統效率得到了最大化,大大降低了多 GPU 系統的優化難度。
通過添加更多 NVSwitch 來支持更多 GPU,集群分布式運算得以實現。當訓練大型語言模型時,NVLink 網絡也可以提供顯著的提升。NVSwitch 已成為高性能計算(HPC)和 AI 訓練應用中不可或缺的一部分。
2. NPU 通過特殊架構設計對 AI 運算起到加速作用
NPU 在人工智能算法上具有較高的運行效率。為了適應某個特定領域中的常見的應用和算法而設計,通常 稱之為“特定域架構(Domain Specific Architecture,DSA)”芯片,NPU(神經網絡處理器)屬于其中一種,常 被設計用于神經網絡運算的加速。以華為手機 SoC 麒麟 970 為例,NPU 對圖像識別神經網絡的運算起到了顯著加速效果,使其圖像識別速度明顯優于同代競品的表現。
目前已量產的 NPU 或搭載 NPU 模塊的芯片眾多,其他知名的芯片包括谷歌 TPU、華為昇騰、特斯拉 FSD、 特斯拉 Dojo 等。各家廠商在計算核心的設計上有其差異,例如谷歌 TPU 的脈動陣列,華為昇騰的達芬奇架構。 以谷歌 TPU 及計算核心結構脈動陣列為例,對比其相較于 CPU、GPU 的區別: CPU 和 GPU 均具有通用性,但以頻繁的內存訪問導致資源消耗為代價。CPU 和 GPU 都是通用處理器, 可以支持數百萬種不同的應用程序和軟件。對于 ALU 中的每一次計算,CPU、GPU 都需要訪問寄存器或緩存 來讀取和存儲中間計算結果。由于數據存取的速度往往大大低于數據處理的速度,頻繁的內存訪問,限制了總 吞吐量并消耗大量能源。 谷歌 TPU 并非通用處理器,而是將其設計為專門用于神經網絡工作負載的矩陣處理器。TPU 不能運行文 字處理器、控制火箭引擎或執行銀行交易,但它們可以處理神經網絡的大量乘法和加法,速度極快,同時消耗 更少的能量,占用更小的物理空間。TPU 內部設計了由乘法器和加法器構成的脈動陣列。在計算時,TPU 將內 存中的參數加載到乘法器和加法器矩陣中,每次乘法執行時,結果將傳遞給下一個乘法器,同時進行求和。所 以輸出將是數據和參數之間所有乘法結果的總和。在整個海量計算和數據傳遞過程中,完全不需要訪問內存。 這就是為什么 TPU 可以在神經網絡計算上以低得多的功耗和更小的占用空間實現高計算吞吐量。
NPU 已經在 AI 運算加速領域獲得了廣泛應用。在數據中心獲得大規模應用的 NPU 案例即 TPU,已被谷歌 用于構建數據中心的超級計算機,執行特定神經網絡的訓練任務。在用戶端,手機、汽車、智能安防攝像頭等 設備開始搭載 AI 計算功能,通常是利用訓練好的神經網絡模型執行圖像處理等工作,此時 NPU 通用性差的劣 勢被縮小,高算力、高能耗比的優勢被放大,因而得到了廣泛的應用。在終端設備中,NPU 常以模塊的形式包 含在 SoC 內部,對 AI 運算進行加速,例如特斯拉自動駕駛芯片 FSD 均包含 NPU。
3.訓練/推理、云/邊分別對 AI 芯片提出不同要求,未來推理端的算力需求將遠超訓練端
AI 技術在實際應用中包括兩個環節:訓練(Training)和推理(Inference)。訓練是指通過大數據訓練出一個復 雜的神經網絡模型,使其能夠適應特定的功能。訓練需要較高的計算性能、能夠處理海量數據、具有一定的通 用性。推理是指利用訓練好的神經網絡模型進行運算,利用輸入的新數據來一次性獲得正確結論的過程。
根據所承擔任務的不同,AI 芯片可以分為訓練 AI 芯片和推理 AI 芯片: (1)訓練芯片:用于構建神經網絡模型,需要高算力和一定的通用性。 (2)推理芯片:利用神經網絡模型進行推理預測,注重綜合指標,單位能耗算力、時延、成本等都要考慮。 根據 AI 芯片部署的位置,可以分為云端 AI 芯片和邊緣端 AI 芯片: (1)云端:即數據中心,關注算力、擴展能力、兼容性。云端部署的 AI 芯片包括訓練芯片和推理芯片。 (2)邊緣端:即手機、安防攝像頭等領域,關注綜合性能,要求低功耗、低延時、低成本。邊緣端部署的 AI 芯片以實現推理功能為主。 云端推理占比逐步提升,AI 落地應用數量增加。根據 IDC 數據,隨著人工智能進入大規模落地應用的關鍵 時期,2022 年在云端部署的算力里,推理占算力已經達到了 58.5%,訓練占算力只有 41.5%,預計到 2026 年, 推理占到 62.2%,訓練占 37.8%。云端推理占比逐步提升說明,AI 落地應用數量正在不斷增加,人工智能模型 將逐步進入廣泛投產模式。
帶寬、互連速率的限制,使云端超大規模的模型推理選擇 A100、H100 更優,而非 T4、A10 等推理卡。以 GPT-3 為例,OpenAI 數據顯示 GPT-3 模型 1750 億參數對應超過 350GB 的 GPU 顯存需求。假設參數規模與所 需顯存呈線性關系,且推理的中間參數量按 1 倍估算,則 1 萬億參數規模的大模型推理需要約 4000GB 顯存, 則需要 50 張 A100(80GB)或者 167 張 A10(24GB)。集群中的 GPU 數量越多意味著更復雜的互連要求,而 且 A10 無法應用 NVLink 和 NVSwitch 技術,大量 A10 組成的集群僅依靠 PCIe 通信,互連帶寬相比 A100 等顯 卡的劣勢明顯,進而可能導致模型推理的時效性不佳。
經測算,AI 大模型在訓練端和推理端都將產生巨量的算力/AI 芯片需求。如果未來大模型廣泛商用落地, 推理端的算力/AI 芯片的需求量將明顯高于訓練端。 大模型云端訓練對算力的需求測算: 測算原理:從模型的(1)參數規模入手,根據(2)訓練大模型所需的 Token 數量和(3)每 Token 訓練成 本與模型參數量的關系估算總算力需求,再考慮(4)單張 GPU 算力和(5)GPU 集群的算力利用率推導得出 GPU 總需求。 (1)參數規模:過去幾年,大模型的參數量呈指數上升,GPT-3 模型參數量已達到 1750 億。GPT-4 具有 多模態能力,其參數量相比 GPT-3 會更大。我們在測算中假設 2023 年多模態大模型的平均參數量達到 10000 億個,之后每年保持 20%的增速;普通大模型的平均參數量達到 2000 億個,之后每年保持 20%的增速。 (2)訓練大模型所需的 Token 數量:參數規模在千億量級的自然語言大模型 GPT-3、Jurassic-1、Gopher、 MT-NLG,訓練所需的 Token 數量在千億量級,而一些多模態大模型在訓練過程中所需 Token 數據量也跟隨參 數量增長而增長,我們在測算中假設多模態大模型訓練所需 Token 數量達到萬億級別,并且 Token 數量與模型 參數規模保持線性增長關系。
(3)每 Token 訓練成本與模型參數量的關系:參考 OpenAI 發布的論文《Scaling Laws for Neural Language Models》中的分析,每個 token 的訓練成本通常約為 6N,其中 N 是 LLM 的參數數量,我們在測算中遵循這一 關系。具體原理如下,神經網絡的訓練過程包括前向傳播和反向傳播兩個過程,其中大致包括四個步驟: 1. 做一個單次的推理操作,得到輸出 y,例如輸入貓的圖片得到輸出 0.986。 2. 求到輸出 y 與真實的目標輸出 Y(假定設置的目標輸出 Y=1)之間的差值,例如得到輸出與目標真實 值的差值為 0.014。 3. 將輸出差值回溯,計算差值關于每個參數的梯度關系。 4. 根據輸出差值和梯度修正每個神經元的參數,實現神經網絡的參數更新,促使輸出逼近目標真實值。 因而在一個參數量為 N 的神經網絡中,一次輸入帶來訓練過程的整體運算量大致為 6N,其中 2N 為前向傳播過程,4N 為反向傳播過程。

(4)單張 GPU 算力:因為在訓練大模型時,主要依賴可實現的混合精度 FP16/FP32 FLOPS,即 FP16 Tensor Core 的算力,我們在測算中選取 A100 SXM 和 H100 SXM 對應的算力 312 TFLOPS 和 990 TFLOPS 作為參數。 (5)GPU 集群的算力利用率:參考 Google Research 發布的論文《PaLM: Scaling Language Modeling with Pathways》中的分析,我們在測算中假設算力利用率約為 30%。
大模型云端推理對算力的需求測算:在云端推理場景下,我們分別從云端推理所需算力和云端模型部署所 需顯存兩個維度分別進行測算。 算力角度的測算原理:基于前文對參數規模、模型數量等數據的假設,根據(1)大模型日活用戶人數、(2) 每人平均查詢 Token 數量、(3)每 Token 推理成本與模型參數量的關系估算推理端總算力需求,再考慮(4)單 張 GPU 算力和 GPU 集群的算力利用率推導得出 GPU 總需求。 (1)大模型日活用戶人數:根據 Similarweb 統計數據,2023 年 1 月 ChatGPT 的日活用戶數達到 1300 萬。 我們在測算中假設 2023 年多模態大模型的平均日活量達到 2000 萬,普通大模型的平均日活量達到 1000 萬,之 后每年保持快速增長。 (2)每人平均查詢 Token 數量:根據 OpenAI 數據,平均每 1000 個 Token 對應 750 個單詞,我們在測算 中假設每位用戶平均查詢的 Token 數量維持在 1000 個。 (3)每 Token 推理成本與模型參數量的關系:參考 OpenAI 發布的論文《Scaling Laws for Neural LanguageModels》中的分析,每個 token 的推理成本通常約為 2N,其中 N 是 LLM 的參數數量,我們在測算中遵循這一 關系。 (4)單張 GPU 算力:由于測算中的大模型參數量級分別在千億量級和萬億量級,考慮帶寬容量和集群計 算中的帶寬限制,我們在測算中假設采用 H100 或 A100 作為云端推理卡。
根據所有假設及可以得到,從云端推理所需算力角度測算,2023 年-2027 年,全球大模型云端推理的峰值 算力需求量的年復合增長率為 113%。 顯存角度測算原理:首先,目前 SK Hynix 已開發出業界首款 12 層 24GB HBM3,考慮到一張 GPU 板卡面 積有限,限制了計算核心周圍可布置的 HBM 數量,因此未來一段時間內,GPU 顯存容量的提升空間較小。其 次,推理最主要的需求是時效性,為了滿足時效性,模型所需要的存儲空間需要放到顯存內。綜合 GPU 板卡 HBM 容量有限和推理端模型需放置在 GPU 顯存中這兩個條件,我們從模型推理端運行所需顯存入手,先預估 推理端運行一個大模型所需顯存容量(1),再假設業務場景中大模型的峰值訪問量,并以此得到總體的顯存需 求(2),最終得到算力/AI 芯片的需求。 (1)運行一個模型所需顯存:以 1750 億參數的 GPT-3 模型為例,OpenAI 數據顯示參數存儲需要 350GB 空間。假設推理計算中間產生的參數按照一倍計算,因此推理至少需要 700GB 顯存空間,即部署一個模型需要 9 張 80GB 顯存版本的 A100。 (2)業務場景部署模型量及所需顯存:假設該模型能夠同時處理的并發任務數量為 100,即 9 張 A100 80GB 處理 100 用戶同時并發訪問。業務場景部署以搜索引擎為例,假設最高并發訪問人數為 2000 萬,則需要 2000 萬/100*9=180 萬張 A100 80GB。