本文說明加速器最佳化機器家族中,搭載張量處理單元 (TPU) 的 Compute Engine 執行個體。TPU 是 Google 開發的客製化特殊應用積體電路 (ASIC),專門為人工智慧 (AI) 和機器學習 (ML) 工作負載進行最佳化。
Compute Engine 支援下列 TPU 版本:
- TPU7x
- TPU v6e
- TPU v5p
每個版本中的每個機型都有特定拓撲,以及連接的 TPU 晶片數量。
TPU 架構基礎知識
瞭解 TPU 架構的基本概念,有助於為工作負載選擇 TPU 版本和機型。
TPU 晶片:TPU 晶片是 Google 專為機器學習設計的加速器。每顆 TPU 晶片都包含一或多個 TensorCore,可處理大量矩陣運算。每個 TensorCore 都包含一或多個矩陣乘法單元 (MXU),這些單元採用脈動陣列架構,每週期可執行數千次乘法累加運算,不必持續存取記憶體。TPU 晶片主要用於高速矩陣處理,但同時也包含向量和純量單元,可執行一般運算和控制流程作業。
TPU Pod:TPU Pod 是透過專用網路群聚部署的連續 TPU 集合。TPU Pod 中的 TPU 晶片數量取決於 TPU 版本。
TPU 執行個體:在 TPU 主機上執行的 Linux 運算執行個體,可直接存取底層 TPU 硬體,並提供高效能程式庫、SSH 連線能力和執行階段偵錯記錄檔。
TPU 配量:互連 TPU 晶片的邏輯群組,可透過一或多個 TPU 執行個體存取。切片具有下列其中一個範圍:
- 單一主體機器配量:由一部主體機器組成的配量。一般來說,這會對應至一個 TPU 執行個體。
- 多主機配量:配量由多個 TPU 執行個體組成,這些執行個體透過高速晶片間互連 (ICI) 網路互連。
TPU 立方體:互連 TPU 晶片的 4x4x4 拓撲。這項功能僅適用於 3D 拓撲。
SparseCore:SparseCore 是資料流處理器,可加快使用稀疏作業的模型。主要用途是加速推薦模型,這類模型非常依賴嵌入。
TPU 版本:TPU 晶片的確切架構取決於您使用的 TPU 版本。各 TPU 版本也支援不同的切片大小和設定。
如要瞭解 TPU 的運作方式,請參閱 Cloud TPU 說明文件中的「TPU 架構」文件。
依工作負載類型建議使用的 TPU 版本
選擇合適的 TPU 模型取決於工作負載的運算特性、記憶體需求和擴充性需求。選取下列任一分頁標籤,即可查看建議。
AI/機器學習訓練
AI/機器學習推論
線上提供模型:部署模型以進行即時互動,延遲時間至關重要。在連續產生權杖期間,這些工作負載會受到記憶體頻寬限制。
執行批次推論:離線處理大型資料集,主要目標是提高輸送量。在提示預先填入階段,這些工作負載會受到運算限制。
推薦系統
強化學習
用量方案
為了在兼顧工作負載效能的同時,盡量提高資源用量並降低成本,Compute Engine 支援下列 TPU 消耗選項:
隨需:使用 TPU,無須預先安排容量。要求資源前,您必須有足夠的隨選配額,才能使用特定類型和數量的 TPU 執行個體。隨選是最彈性的用量選項,但無法保證有足夠的隨選資源可滿足您的要求。
Spot:您可以大幅折扣價佈建 Spot VM,但 Spot VM 可能隨時遭到先占,且系統只會發出 30 秒警告。詳情請參閱「關於 Spot VM」。
彈性啟動:佈建 {flex_start_vms_name} 最多七天,Compute Engine 會根據可用性,盡可能自動分配硬體。詳情請參閱「{flex_start_vms_name} 簡介」。
未來預留項目:要求一年以上預留項目。詳情請參閱 Cloud TPU 說明文件中的「申請未來預留項目一年以上的資源」。
日曆模式的未來預留項目:在指定時間範圍內,最多可預留 90 天的 TPU 資源。詳情請參閱「日曆模式的未來預留項目要求簡介」。
如未指定其他選項,TPU 的預設計費模式為隨需。
如要瞭解啟用用量選項的基礎佈建模式,請參閱「關於 VM 佈建模式」。
各 TPU 版本的用量方案
下表摘要說明各 TPU 版本適用的用量選項。
| TPU 版本 | 隨選 | Spot | 彈性啟動 | 隨需預留項目 | 未來預留項目 | 日曆模式的未來預留項目1 |
|---|---|---|---|---|---|---|
| 2 | 2 | 2 | ||||
1 使用「所有容量」模式時,無法在日曆模式中建立未來預留項目要求。
2 只有在許可清單中的使用者,才能在日曆模式中預留 TPU7x 的 Spot、彈性啟動和未來預留項目。如要申請存取權,請與帳戶團隊或銷售團隊聯絡。
所有容量模式
根據預設,TPU 預留項目包含自動故障復原功能。Google Cloud 會管理這項程序,自動從預留容量中,以正常的 TPU 機器取代故障的機器,確保資源可用於重新啟動 TPU 節點。
或者,您也可以針對 TPU v6e 和 TPU7x,在「所有容量」模式下要求 TPU 容量。這個模式可讓您存取所有預留容量,並完整掌握拓撲。在此模式中,您也可以指定特定區塊或子區塊,精確地放置工作負載,並考量拓撲。不過,您必須負責管理硬體故障和維護作業。
如要進一步瞭解這些模式,請參閱 Cloud TPU 說明文件中的「TPU 容量模式」。
比較 TPU 版本
比較不同 TPU 版本的特徵。 您可以在「選擇要比較的屬性」欄位中選取特定屬性,並在下表中比較所有 TPU 版本之間的這些屬性。
| 加速器最佳化 | 加速器最佳化 | 加速器最佳化 |
| VM | VM | VM |
| Intel Emerald Rapids | AMD EPYC Genoa | Intel Sapphire Rapids |
| x86 | x86 | x86 |
| 224 | 44 到 180 | 208 |
| 討論串 | 討論串 | 討論串 |
| 960 GB | 176 至 1440 GB | 448 GB |
| NUMA | NUMA | NUMA |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| NVMe | NVMe | NVMe |
| — | ||
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| — | — | — |
| — | — | — |
| gVNIC | gVNIC | gVNIC |
| 400 Gbps | 50 到 400 Gbps | 200 Gbps |
| 4 | 8 | 4 |
| — | — | — |
| — | — | — |
TPU 架構規格
下表列出各個 TPU 版本的關鍵規格。
| 規格 | TPU7x | TPU v6e | TPU v5p |
|---|---|---|---|
| 每個 Pod 的晶片數量 | 9216 | 256 | 8960 |
| 每顆晶片的尖峰運算效能 (BF16) (TFLOPs) | 2307 | 918 | 459 |
| 每顆晶片的尖峰運算效能 (FP8) (TFLOPs) | 4614 | 918 | 459 |
| 每個晶片的 HBM 容量 (GiB) | 192 | 32 | 95 |
| 每個晶片的 HBM 頻寬 (GBps) | 7380 | 1638 | 2765 |
| vCPU 數量 (4 晶片 VM) | 224 | 180 | 208 |
| RAM (GiB) (4 晶片 VM) | 960 | 720 | 448 |
| 每個晶片的 TensorCore 數量 | 2 | 1 | 2 |
| 每個晶片的 SparseCore 數量 | 4 | 2 | 4 |
| 每個晶片的雙向晶片間互連 (ICI) 頻寬 (GBps) | 1200 | 800 | 1200 |
| 每個晶片的資料中心網路 (DCN) 頻寬 (Gbps) | 100 | 100 | 50 |
TPU 機型
以下各節說明每個 TPU 版本適用的機器類型。
TPU7x (Ironwood)
每個 TPU7x 虛擬機器 (VM) 包含 4 個 TPU 晶片。所有 TPU7x 配量都使用完整主機的 4 晶片 VM。
每顆 TPU7x 晶片包含兩個 TensorCore 和四個 SparseCore。
Ironwood 程式設計模型可讓您存取兩部 TPU 裝置,而非前幾代使用的單一邏輯核心架構。詳情請參閱 Cloud TPU 說明文件中的「雙晶片架構」。
| 機型 | vCPU 數量 | 執行個體記憶體 (GiB) | 實體 NIC 數量 | 網路頻寬上限 (Gbps) | 每個 VM 的 TPU 晶片數量 | NUMA 節點數量 | TPU 記憶體總量 (GiB HBM) |
|---|---|---|---|---|---|---|---|
tpu7x-standard-4t |
224 | 960 | 2 | 400 | 4 | 2 | 768 |
如要進一步瞭解 TPU7x 架構,請參閱 Cloud TPU 說明文件中的「TPU7x (Ironwood)」。
TPU v6e (Trillium)
每個 TPU v6e VM 可含有 1、4 或 8 顆 TPU 晶片。含 4 顆以下晶片的配量具有相同的非統一記憶體存取 (NUMA) 節點。
v6e 配量是使用半主機 VM 建立,每個 VM 都有 4 個 TPU 晶片,但下列情況除外:
ct6e-standard-1t僅含單一 TPU 晶片,主要用於測試。ct6e-standard-8t是針對推論用途最佳化的完整主機 VM,可讓附加至單一 VM 的所有 8 個 TPU 晶片,用於單一服務工作負載。
| 機型 | vCPU 數量 | 執行個體記憶體 (GB) | 實體 NIC 數量 | 網路頻寬上限 (Gbps) | 每個 VM 的 TPU 晶片數量 | NUMA 節點數量 | TPU 記憶體總量 (GiB HBM) |
|---|---|---|---|---|---|---|---|
ct6e-standard-1t |
44 | 176 | 1/4 | 50 | 1 | 1 | 32 |
ct6e-standard-4t |
180 | 720 | 2 | 400 | 4 | 1 | 128 |
ct6e-standard-8t |
360 | 1440 | 1 | 200 | 8 | 2 | 256 |
如要進一步瞭解 TPU v6e 架構,請參閱 Cloud TPU 說明文件中的「TPU v6e」。
TPU v5p
TPU v5p Pod 包含 8,960 顆 TPU 晶片,並透過可重新設定的高速連結互連。TPU v5p 的彈性網路可讓您以多種方式,連結相同大小配量中的 TPU 晶片。單一配量訓練最多可支援 6,144 個 TPU 晶片。
| 機型 | vCPU 數量 | 執行個體記憶體 (GB) | 實體 NIC 數量 | 網路頻寬上限 (Gbps) | 每個 VM 的 TPU 晶片數量 | NUMA 節點數量 | TPU 記憶體總量 (GiB HBM) |
|---|---|---|---|---|---|---|---|
ct5p-hightpu-4t |
208 | 448 | 1 | 200 | 4 | 2 | 380 |
如要進一步瞭解 TPU v5p 架構,請參閱 Cloud TPU 說明文件中的「TPU v5p」。
TPU 拓撲
拓撲會定義 TPU 配量中 TPU 的實體排列方式。 拓撲為二維或三維,視 TPU 版本而定。如要找出配量中的 TPU 晶片數量,請計算拓撲中每個大小的乘積。例如:
tpu7x-standard-4t機型搭配2x2x2拓撲是 8 晶片多主機 TPU7x 配量。
下表列出各個 TPU 版本適用的拓撲。
| TPU 版本 | 機型 | 範圍 | 技術規格 |
|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard-4t |
單一主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
多主機 |
|
| TPU v6e (Trillium) | ct6e-standard-1t |
單一主機 |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
單一主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
單一主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
多主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
多主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
多主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
多主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
多主機 |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
多主機 |
|
| TPU v5p | ct5p-hightpu-4t |
單一主機 |
|
| TPU v5p | ct5p-hightpu-4t |
多主機 |
|
| TPU v5p | ct5p-hightpu-4t |
多主機 |
|
| TPU v5p | ct5p-hightpu-4t |
多主機 |
|
| TPU v5p | ct5p-hightpu-4t |
多主機 |
|
-
計算方式為拓撲產品除以四。 ↩
後續步驟
- 瞭解 Compute Engine 中的 TPU 資源
- 請參閱快速入門導覽課程:建立單一 TPU VM