Tensor Processing Unit (TPU) 是 Google 開發的客製化特殊應用積體電路 (ASIC),專門用來加速機器學習 (ML) 和人工智慧 (AI) 工作負載。無論您是訓練複雜的基礎模型,還是執行大規模推論,TPU 都能提供可擴充的專用運算資源,並針對進階 AI 架構進行最佳化。
本文說明 TPU 在 Google Cloud中的角色、各個可用 TPU 版本的技術規格、效能特徵、定價考量事項,以及如何對應至 Compute Engine 機器系列。
什麼是 TPU?
TPU 是專為處理機器學習演算法核心的大型矩陣運算需求而設計的 ASIC。
TPU 系統的主要架構元件包括:
TensorCore:TPU 晶片的處理單元。每個 TensorCore 包含一或多個矩陣乘法單元 (MXU),這些單元使用脈動陣列架構執行矩陣乘法,效率極高,此外還有純量和向量單元,用於控制流程和一般運算。
SparseCore:專門的資料流處理器,可加快稀疏運算。SparseCores 會與 TensorCores 搭配運作,有效處理大型嵌入資料表,因此非常適合加速建議模型和大規模嵌入作業。
高頻寬記憶體 (HBM):附加至 TPU 晶片的大型實體記憶體,提供大量記憶體頻寬。HBM 可訓練及服務較大的模型,並使用較大的批次大小。
TPU 執行個體:在 TPU 主機上執行的 Linux 運算執行個體,可直接存取底層 TPU 硬體,並提供高效能程式庫、SSH 連線能力和執行階段偵錯記錄檔。
TPU 配量和 Pod:TPU Pod 是實體連結 TPU 晶片的大型連續叢集。TPU 配量是 Pod 的邏輯分割區 (包含一或多個透過高速互連網路連線的主機),用於執行單一工作負載。
XLA 編譯器:加速線性代數 (XLA) 編譯器會將機器學習計算圖編譯為最佳化的機器指令,在 TPU TensorCore 上執行。
TPU 版本和機器系列
Compute Engine 支援多個世代和版本的 TPU。下表列出各支援 TPU 版本的關鍵規格:
| TPU 版本 | 機器系列 | 每顆晶片的尖峰運算效能 (TFLOP) | TPU 記憶體和頻寬 | 每個晶片的核心數 | 每個晶片的互連 (ICI) 頻寬 | 每個晶片的網路頻寬 (DCN) | 每個 Pod 的晶片數 |
|---|---|---|---|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard |
BF16:2,307 FP8:4,614 |
192 GiB (7,380 GBps) |
2 個 TensorCore 4 個 SparseCore |
1,200 GBps | 100 Gbps | 9,216 |
| TPU v6e (Trillium) | ct6e-standard |
BF16:918 FP8:918 |
32 GiB (1,638 GBps) |
1 個 TensorCore 2 個 SparseCore |
800 GBps | 100 Gbps | 256 |
| TPU v5p | ct5p-hightpu |
BF16:459 FP8:459 |
95 GiB (2,765 GBps) |
2 個 TensorCore 4 個 SparseCore |
1,200 GBps | 50 Gbps | 8,960 |
TPU 效能特徵
TPU 經過最佳化調整,可盡可能有效率地執行密集矩陣代數運算。如要選擇何時最適合使用 TPU 處理機器學習工作負載,請參考下列準則。
理想用途和工作負載需求
選擇合適的 TPU 模型取決於工作負載的運算特性、記憶體需求和擴充性需求。選取下列任一分頁標籤,即可查看建議。
AI/機器學習訓練
AI/機器學習推論
線上提供模型:部署模型以進行即時互動,延遲時間至關重要。在連續產生權杖期間,這些工作負載會受到記憶體頻寬限制。
執行批次推論:離線處理大型資料集,主要目標是提高輸送量。在提示預先填入階段,這些工作負載會受到運算限制。
推薦系統
強化學習
工作負載考量事項
TPU 可能不是下列工作負載的最佳選擇:
- 需要頻繁邏輯分支或包含許多元素級別代數運算的線性代數程式。
- 工作負載依附於 JAX 或 PyTorch 中的自訂運算子,且在 CPU 上執行。
- 需要雙精度浮點 (FP64) 算術運算的工作負載。
費用考量事項
Google Cloud的 TPU 定價取決於下列因素:
TPU 版本
位置
計費模式
如需完整的定價詳細資料,請參閱「TPU 定價」頁面。
使用和購買模式
您可以根據可用性需求和成本容許度,使用下列任一消耗選項佈建 TPU 執行個體:
- 隨選:標準即付即用 (PAYG) 計費,可立即執行。提供最大的生命週期彈性,但供應情形取決於實體資源限制。
- Spot:以大幅折扣 (最高 70%) 價格提供多餘的 Google Cloud 容量。因為 Google Cloud 可以停止或刪除 Spot VM,並在 30 秒內取回容量,因此這些運算執行個體非常適合容錯和檢查點工作負載。
- 彈性啟動: 可從專屬集區要求運算執行個體,最多七天,且可用性較高。
- 未來預留項目:預留項目可確保容量,且與隨選價格相比,可享有折扣價。預留指定未來日期和時間的 TPU 容量,最長可達 90 天 (日曆模式),或 1 年以上。如果Google Cloud 核准您的要求,您就能在預留期間使用容量。
承諾使用折扣 (CUD)
如果要求未來預留項目期限為 1 年以上,您可針對預留的 TPU 容量取得 CUD。將 CUD 套用至運算執行個體,即可在承諾使用期間內,享有比隨選費率更低的價格。
詳情請參閱「Compute Engine 適用的 CUD」。
後續步驟
- 查看加速器最佳化機器家族中的 TPU 機器。
- 瞭解如何建立 TPU 執行個體。