本文說明加速器最佳化機器家族中,搭載張量處理單元 (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 VM:TPU VM 是在 TPU 主機上執行的 Linux 虛擬機器,可存取基礎 TPU。您可以使用 SSH 直接連線至 TPU VM。您擁有 VM 的根目錄存取權,因此可以執行任意程式碼。您可以存取編譯器和執行階段的偵錯記錄檔和錯誤訊息。
TPU 配量:互連 TPU 晶片的邏輯群組,可透過一或多個 TPU VM 存取。切片具有下列其中一個範圍:
- 單一主體機器配量:由一部主體機器組成的配量。一般來說,這會對應至一個 TPU VM。
- 多主機配量:由多個 TPU VM 組成的配量,透過高速晶片間互連 (ICI) 網路互連。
TPU 立方體:互連 TPU 晶片的 4x4x4 拓撲。這只適用於 3D 拓撲。
SparseCore:SparseCore 是資料流處理器,可加快使用稀疏運算的模型。主要用途是加速推薦模型,這類模型非常依賴嵌入。
TPU 版本:TPU 晶片的確切架構取決於您使用的 TPU 版本。每個 TPU 版本也支援不同的切片大小和設定。
如要瞭解 TPU 的運作方式,請參閱 Cloud TPU 說明文件中的「TPU 架構」文件。
依工作負載類型建議使用的 TPU 版本
| TPU 版本 | 主要工作負載類型 |
|---|---|
| TPU7x (Ironwood) |
|
| TPU v6e (Trillium) |
|
| TPU v5p |
|
用量方案
為盡量提高資源使用率和降低成本,同時兼顧工作負載效能,Compute Engine 支援下列 TPU 消耗選項:
隨選:使用 TPU 時不必預先安排容量。要求資源前,您必須有足夠的隨選配額,才能使用特定類型和數量的 TPU VM。以量計價是最具彈性的消耗選項,但無法保證有足夠的以量計價資源可滿足您的要求。
Spot VM:您可以大幅折扣的價格佈建 Spot VM,但 Spot VM 可能隨時遭到先占,且只會提前 30 秒發出警告。詳情請參閱「關於 Spot VM」。
彈性啟動:佈建彈性啟動 VM 最多七天,Compute Engine 會根據可用性,盡可能自動分配硬體。詳情請參閱「關於彈性啟動 VM」。
未來預留項目:要求一年以上預留項目。詳情請參閱 Cloud TPU 說明文件中的「要求一年以上未來預留項目」。
日曆模式的未來預留項目:在指定時間範圍內,最多可預留 90 天的 TPU 資源。詳情請參閱「日曆模式的未來預留項目要求簡介」。
如果您未指定其他選項,TPU 的預設計費模式為隨需。
如要瞭解啟用使用模式的基礎佈建模式,請參閱「關於 VM 佈建模式」。
各 TPU 版本的用量方案
下表摘要列出各個 TPU 版本適用的消費選項。
| TPU 版本 | 隨選 | Spot | 彈性啟動 | 隨需預留項目 | 未來預留項目 | 日曆模式的未來預留項目 |
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | ||||
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 頻寬 (GiBps) | 7380 | 1638 | 2575 |
| 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 晶片包含 2 個 TensorCore 和 4 個 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