為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

人工智慧 (AI) 的發展與硬體息息相關,強大的運算能力是AI模型訓練和推論的基礎。因此,整個AI產業,從大型語言模型的訓練開始,一直到終端像是筆電或是手機的應用,幾乎都與「晶片」脫離不了關係。

大型語言模型(LLM)的訓練,就像在教一個孩子學習語言一樣,需要大量的「閱讀」和「練習」。這些「閱讀」和「練習」在電腦中,就轉換成龐大的數據處理和複雜的數學運算。為了讓模型能夠快速、高效地學習,我們就需要強大的晶片來支持這些運算。

文章目錄

為什麼訓練大型語言模型主要用的是GPU?

不過,大家提到訓練大型語言模型所用到的硬體時,主要講的都是GPU,而沒提到CPU,那麼,訓練大型語言模型時真的不用到CPU嗎?

這個問題其實是一個常見的誤解。訓練大型語言模型並非完全不用CPU,而是主要使用GPU GPU (Graphics Processing Unit) 或 TPU (Tensor Processing Unit),但還是需要CPU處理一些任務。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

使用GPU或TPU的考量,主要的原因有以下幾點:

平行處理能力

GPU 和 TPU 專為處理大量的數學運算而設計,尤其是在矩陣運算和線性代數方面。神經網路訓練涉及大量的矩陣乘法和加法操作,這些操作可以非常高效地並行化。GPU 擁有數千個小型核心,可以同時處理大量數據,而 CPU 的核心數量相對較少,並且通常專注於串行運算,因此在這類平行處理需求下效率較低。

訓練時間

神經網路模型,尤其是大型語言模型(如 GPT-3 或其他 transformer 模型),需要處理數以億計的參數和大規模的數據集。使用 CPU 訓練這些模型會非常慢,可能需要數周或數月的時間才能完成。而 GPU 的高效矩陣計算能力可以顯著加快訓練過程,縮短到幾天或幾小時。

功耗與效率

GPU 對於矩陣運算的優化使得它在相同的功耗下能執行更多的運算,這也意味著 GPU 比 CPU 在進行大規模訓練時具有更高的計算效能和能耗效率。

專門硬體加速

TPU 是 Google 專門為深度學習工作負載設計的硬體,它比傳統的 CPU 和 GPU 更加專注於 AI 訓練和推論的工作,進一步優化了矩陣運算能力,特別是在處理大型深度學習模型時效率更高。

模型大小與複雜性

大型語言模型通常包含數以億計的參數,這些參數的梯度更新和計算量非常龐大。GPU 和 TPU 能夠更好地處理這樣的巨大模型和複雜計算,並且還支持分布式運算,使得訓練過程可以分配到多個設備上進行,同時減少內存和計算資源的瓶頸。

那麼,CPU在訓練過程中扮演什麼角色呢?主要是控制流程, CPU負責整個訓練過程的控制,包括數據加載、模型初始化、參數更新等。另外,還有執行 一些串行任務,例如超參數調整、模型保存等,更適合由CPU來執行。 

訓練大型語言模型時,GPU和CPU各司其職,相輔相成。GPU負責主要的並行計算任務,而CPU負責控制流程和一些串行任務。雖然CPU也可以用來訓練模型,但由於其性能限制,在效率和成本方面都不如GPU。

訓練大型語言模型主流的代表性GPU、TPU 有哪些?

生成方式AI 其背後以大模型為基礎的人工智慧,而訓練大模型有多燒錢,券商資料顯示,大型語言模型(LLM)的訓練成本一次就要上看 200 萬美元至 1200 萬美元之間。ChatGPT對應晶片需求約要3 萬多片輝達圖形處理器,預估初期投入成本約為 8 億美元,每天電費更高達5 萬美元左右,燒錢又耗電。

訓練大型語言模型 (LLM) 需要強大的運算能力,而這仰賴於高效能的晶片。以下為目前市場上常見且被廣泛用於訓練LLM的晶片,以及其代表性的廠商和型號: 

主流的 GPU(主要由 NVIDIA 提供):

  • NVIDIA A100

    • 架構:Ampere
    • 記憶體:40GB 或 80GB HBM2e
    • 應用場景:專為大規模 AI 訓練設計,特別適合訓練大型語言模型(如 GPT-3)。A100 支持混合精度運算(FP32、FP16、BF16),這大幅提升了深度學習訓練的效率和速度。A100 也支援多實例 GPU(MIG),可以將一個 A100 分割成多個虛擬 GPU,以提高資源利用率。
    • 使用:在雲服務平台(如 AWS、Google Cloud、Azure)和超級計算機中廣泛使用。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

  • NVIDIA V100

    • 架構:Volta
    • 記憶體:16GB 或 32GB HBM2
    • 應用場景:V100 是 A100 的前一代產品,仍然在許多深度學習應用中使用,尤其是在訓練大型語言模型和其他大規模計算任務中。V100 是最早支援 Tensor Core 的 GPU,能顯著加速深度學習運算。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

  • NVIDIA H100

    • 架構:Hopper
    • 記憶體:80GB HBM3
    • 應用場景:NVIDIA 2022 年發布的最新 GPU,用於加速 AI 訓練和推理。H100 使用了 NVIDIA 最新的 Hopper 架構,擁有更高的浮點運算性能和記憶體頻寬,專為大型模型訓練和超大規模 AI 應用場景設計。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

  • NVIDIA RTX 3090RTX 4090

    • 架構:Ampere(3090)和 Ada Lovelace(4090)
    • 記憶體:24GB GDDR6X
    • 應用場景:這些高端遊戲 GPU 也被用於 AI 開發,尤其是對於個人研究者和中小型模型的開發。它們的性價比高,儘管沒有伺服器級 GPU 那樣的專業優化,但仍然適合小型模型訓練。

主流的 TPU(主要由 Google 提供):

  • Google TPU v3

    • 記憶體:16GB HBM
    • 應用場景:TPU v3 是 Google Cloud 中常見的 TPU,用於訓練大規模的機器學習模型,特別是針對 Google 內部和客戶的深度學習需求(如 BERT、T5 等模型)。TPU v3 支持浮點和 bfloat16 運算,能有效提升訓練速度。
    • 使用:可通過 Google Cloud 平台訪問。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

  • Google TPU v4

    • 記憶體:32GB HBM
    • 應用場景:TPU v4 是 Google 於 2021 年推出的最新一代 TPU,專為超大規模語言模型訓練設計(如 PaLM)。相比 TPU v3,TPU v4 的性能和能效都有了顯著提升,尤其在低精度訓練上表現更佳。
    • 使用:可在 Google Cloud 上使用,也被 Google 自家的大型模型(如 LaMDA 和 PaLM)所採用。
  • TPU Pod

    • 應用場景:TPU Pod 是 Google Cloud 提供的一種超大規模訓練平台,將多個 TPU 連接成一個集群,允許用戶在多台 TPU 上並行訓練超大型模型。這使得 TPU Pod 成為訓練現代語言模型(如 GPT-3、PaLM)的一個強大選擇。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

還有哪些競爭對手?

AMD

除了上述兩家發展最早的廠商,AMD 也提供了一些 GPU 適合深度學習的任務,特別是在競爭激烈的 GPU 市場中,AMD 正逐漸成為 NVIDIA 的主要競爭對手。儘管目前在 AI 訓練領域,AMD 的市場佔有率和軟體生態相對較少,但他們也有一些產品適合深度學習訓練。

AMD 針對數據中心和深度學習設計了 Radeon Instinct 系列 GPU,這些產品在性能上與 NVIDIA 的 Tesla 和 A100 競爭。Instinct 系列專注於高性能運算(HPC)和人工智能應用。

AMD Radeon Instinct MI100:

  • 架構:CDNA
  • 記憶體:32GB HBM2
  • 應用場景:Radeon Instinct MI100 是專為加速深度學習和高性能計算任務設計的 GPU。它基於 AMD 的 CDNA 架構,優化了矩陣計算,支持 BF16、FP16、FP32 等多種精度,並且特別適合在超大規模並行計算的工作負載中使用。
  • 性能:單精度性能達到 11.5 TFLOPs,雙精度性能為 46.1 TFLOPs,專門為高性能計算和 AI 訓練任務設計。
  • 優勢:MI100 支持 AMD 的 ROCm(Radeon Open Compute)開發工具包,這是一個開源軟體平台,可以讓開發者在 AMD GPU 上開發深度學習應用。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

AMD Radeon Instinct MI200 系列:

  • 架構:CDNA 2
  • 記憶體:最大 128GB HBM2e
  • 應用場景:MI200 系列是 AMD 最新一代的數據中心 GPU,專為高性能運算(HPC)和深度學習設計,並且特別適合大規模語言模型訓練。相比 MI100,MI200 提升了浮點運算性能和記憶體帶寬。
  • 性能:MI250X 的 FP64 性能可達 47.9 TFLOPs,FP16 性能可達 383 TFLOPs,非常適合需要大量數據處理和運算資源的深度學習應用。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

Intel

Intel 近年來也進軍了 GPU 市場,並開始推出適合高性能計算(HPC)和人工智能應用的產品,儘管相對於 NVIDIA 和 AMD,Intel 在這個領域還算是新進者。Intel 的 GPU 產品目前主要分為兩大類:針對 AI 和高性能運算的 Intel Data Center GPU(原 Intel Xe HPC) 和針對消費級市場的 Intel Arc 系列

Intel 開發了一系列針對數據中心和人工智能的高性能 GPU,統稱為 Xe HPC(即高性能計算)。這些 GPU 專為高性能計算、AI 訓練、推理等應用設計。以下是其中幾款重要的產品:

Intel Data Center GPU Max 系列 (代號 Ponte Vecchio)

  • 架構:Xe HPC
  • 記憶體:128GB HBM2e
  • 應用場景:Intel Data Center GPU Max 系列是 Intel 最新一代的數據中心級別 GPU,特別針對 HPC 和人工智能工作負載設計。它具有強大的計算能力和記憶體帶寬,支持多精度運算,包括 FP32、FP16、BF16,適合大型語言模型的訓練和超大規模數據處理。
  • 優勢:該 GPU 擁有高度可擴展的架構,並且使用了 Foveros 3D 堆疊技術,使其能提供更高的計算密度。Ponte Vecchio 是 Intel 進軍 HPC 和 AI 領域的重要產品,競爭對手是 NVIDIA 的 A100 和 AMD 的 MI200 系列。
  • 使用:主要用於高性能計算集群和超級計算機,如美國 Argonne National Laboratory 的 Aurora 超級電腦。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

Intel Xeon CPU 與 GPU 組合 (OneAPI)

  • OneAPI:Intel 推出了 OneAPI,這是一個統一的開發平台,支持 CPU、GPU、FPGA 以及其他加速器,目的是為了打破不同計算硬體之間的開發壁壘。OneAPI 可以讓開發者在 Intel 的 CPU 和 GPU 上更輕鬆地進行開發,並且特別針對 AI 和 HPC 進行了優化。
  • 應用場景:這個開發平台針對深度學習和科學計算中的大規模數據處理,並能夠在異構硬體上提供統一的 API 支持。

Graphcore

Graphcore 是一家專注於 AI 硬體創新的公司,並開發了 IPU 來解決在深度學習和機器學習中的特定性能瓶頸問題。

Graphcore IPU (Intelligence Processing Unit) 是一種專門為人工智能(AI)和機器學習工作負載設計的專用處理器,與傳統的 GPU 和 CPU 不同,GPU 是為廣泛的高性能運算設計的通用加速器,雖然可以很好地支持深度學習,但它並非專門為 AI 設計。相比之下,IPU 是專門針對 AI 和機器學習工作負載設計的,這使得它在某些 AI 應用中比 GPU 更高效。

為什麼訓練大型語言模型主要用的是GPU而不是CPU?主流用來訓練大型語言模型的晶片有哪些?

Graphcore 的 IPU 已經被多家領先的企業和研究機構採用,最具代表性的就是微軟 Azure 已將 Graphcore 的 IPU 集成到其雲平台中,並提供基於 IPU 的服務,稱為 Azure IPU-POD。這使得 Azure 的使用者可以通過雲端訪問和使用 Graphcore IPU 進行 AI 模型訓練和推理。微軟 Azure 是 Graphcore 主要的合作夥伴之一,該合作旨在為雲端 AI 應用提供更高效的運算能力,特別是在大型語言模型訓練方面。

 

 

 

 註:此篇不開放合作媒體轉載。 

janus
作者

PC home雜誌、T客邦產業編輯,曾為多家科技雜誌撰寫專題文章,主要負責作業系統、軟體、電商、資安、A以及大數據、IT領域的取材以及報導,以及軟體相關教學報導。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則