TPU7x (Ironwood)
本页面介绍了 TPU7x 的架构和可用配置。TPU7x 是目前 Google Cloud上提供的最新一代 TPU。 作为 Ironwood 系列的首款力作,TPU7x 是 Google Cloud推出的第七代 TPU。Ironwood 系列专为大规模 AI 训练和推理而设计。
TPU7x 的每个 Pod 拥有 9,216 个芯片,在诸多方面与 TPU v5p 一脉相承。TPU7x 可为大规模密集模型和 MoE 模型、预训练、采样以及解码密集型推理提供卓越的性能表现。
您可以结合 Google Kubernetes Engine (GKE) 或 Compute Engine 来使用 TPU7x。如需详细了解如何在 GKE 中使用 TPU,请参阅关于 GKE 中的 TPU。
您还可以通过 TPU Cluster Director 协同使用 TPU7x 与 GKE。TPU Cluster Director 通过“全容量”模式预留提供。该模式赋予您对所有预留容量的完全访问权限(无任何保留),并让您能够全方位洞察 TPU 硬件拓扑、利用率状态以及健康状况。如需了解详情,请参阅全容量模式概览。
系统架构
每个 TPU7x 芯片包含两个 TensorCore 和四个 SparseCore。下表列出了 TPU7x 的核心规格及相应参数值,并将其与前几代产品进行了对比。
| 规格 | v5p | v6e (Trillium) | TPU7x (Ironwood) |
|---|---|---|---|
| 每个 Pod 的芯片数 | 8960 | 256 | 9216 |
| 单芯片峰值算力 (BF16) (TFLOPs) | 459 | 918 | 2307 |
| 单芯片峰值算力 (FP8) (TFLOPs) | 459 | 918 | 4614 |
| 单芯片 HBM 容量 (GiB) | 95 | 32 | 192 |
| 单芯片 HBM 带宽 (GBps) | 2765 | 1638 | 7380 |
| vCPU 数量(4 芯片虚拟机) | 208 | 180 | 224 |
| RAM (GB)(4 芯片虚拟机) | 448 | 720 | 960 |
| 单芯片 TensorCore 数量 | 2 | 1 | 2 |
| 单芯片 SparseCore 数量 | 4 | 2 | 4 |
| 单芯片双向芯片间互连 (ICI) 带宽 (GBps) | 1200 | 800 | 1200 |
| 单芯片数据中心网络 (DCN) 带宽 (Gbps) | 50 | 100 | 100 |
下图展示了 Ironwood 的架构:

内存层次结构
TPU7x 采用多层级内存系统,管理这些层级之间的数据移动对于性能至关重要:
- 高带宽内存 (HBM):每个芯片都配备了 192 GB 的 HBM,带宽约为 7.37 TB/s。充足的 HBM 容量可支持更大的批次大小,从而有效提升吞吐量。然而,尽管 HBM 容量充足,但在面对受内存限制的向量运算或低效的数据访问模式时,它仍可能成为性能瓶颈。
- 向量内存 (VMEM):VMEM 是一种体积更小、集成在芯片上的 SRAM(静态随机存取存储器),其连接至矩阵乘法单元 (MXU) 的带宽远高于 HBM。此内存可充当自定义内核的高速暂存器。此缓冲区的大小是一个可调参数。优化缓冲区空间对于调优自定义 Pallas 内核至关重要,因为这些内核的块大小通常受限于可用的 VMEM。
- 主机内存和 PCIe:每四个 TPU 芯片为一组,通过 PCIe 网络连接到 CPU 主机。虽然此连接的带宽远低于 HBM,但您可以利用主机的主内存来分流激活或优化器状态,从而腾出 HBM 空间。在处理大型模型时,这项技术对于缓解内存压力尤为奏效。
如需详细了解如何高效管理 TPU7x 内存层次结构各层级之间的数据移动,请参阅 Ironwood 性能优化。
双芯粒架构
借助 Ironwood 编程模型,您可以调用两个 TPU 芯粒,而不再受限于前几代产品(TPU v4 和 v5p)所采用的单逻辑核心(也称为 MegaCore)架构。这一改进提升了芯片制造的成本效益与生产效率。虽然这标志着架构上的重大飞跃,但全新的设计方案确保了您只需进行微调,即可沿用现有的软件模型。
Ironwood TPU 由两个独立的芯粒组成,每个芯粒都拥有专属的内存空间。这与 MegaCore 架构所采用的统一内存空间设计有所不同。
芯粒构成:每个芯粒都是一个自包含单元,集成了 1 个 TensorCore、2 个 SparseCore 以及 96 GB 的高带宽内存 (HBM)。
高速互连:这两个芯粒通过裸片间 (D2D) 接口实现互连,其通信速度比一维芯片间互连 (ICI) 链路快 6 倍。芯粒间通信通过集体操作进行管理。
编程模型与框架呈现
Ironwood 的编程模型与 v4 之前的 TPU 系列产品(例如 TPU v3)类似。这种全新的架构通过以下方式呈现:
单芯片双设备:JAX 等框架会将每个 Ironwood 芯片呈现为两个独立的“设备”,分别对应其中的一个芯粒。
芯粒指定:您可以明确指定将哪个芯粒用于计算。JAX 在拓扑规范中引入了第四个维度,以便精准区分不同的芯粒。这种设计方案让您只需进行微调,即可复用现有的软件模型。
如需详细了解如何充分发挥双芯粒架构的极致性能,请参阅针对 Ironwood 双芯粒架构的性能建议
支持的配置
TPU7x 芯片在三个维度上均与最邻近的芯片直接相连,从而构建起一个 3D 网状网络连接体系。当芯片数量超过 64 个时,切片将由一个或多个 4x4x4 的芯片“立方体”构建而成。
TPU7x 芯片采用 3D 环面互连拓扑结构。借助这种拓扑结构,切片可纵向扩容至多达 9216 个芯片。该拓扑结构可为 Pod 内的芯片间通信提供每轴 200 GBps 的双向带宽。
下表列出了 TPU7x 支持的常见 3D 切片形状:
| 拓扑 | TPU 芯片数 | 主机数 | 虚拟机数 | 立方体数 | 范围 |
|---|---|---|---|---|---|
| 2x2x1 | 4 | 1 | 1 | 1/16 | 单主机 |
| 2x2x2 | 8 | 2 | 2 | 1/8 | 多主机 |
| 2x2x4 | 16 | 4 | 4 | 1/4 | 多主机 |
| 2x4x4 | 32 | 8 | 8 | 1/2 | 多主机 |
| 4x4x4 | 64 | 16 | 16 | 1 | 多主机 |
| 4x4x8 | 128 | 32 | 32 | 2 | 多主机 |
| 4x8x8 | 256 | 64 | 64 | 4 | 多主机 |
| 8x8x8 | 512 | 128 | 128 | 8 | 多主机 |
| 8x8x16 | 1024 | 256 | 256 | 16 | 多主机 |
| 8x16x16 | 2048 | 512 | 512 | 32 | 多主机 |
TPU7x 虚拟机
每台 TPU7x 虚拟机包含 4 个芯片。每台虚拟机均可访问两个 NUMA 节点。如需深入了解 NUMA 节点,请参阅维基百科上的非统一内存访问条目。
所有 TPU7x 切片均采用整机配置,由 4 芯片虚拟机组成。TPU7x 虚拟机的技术规格如下:
- 单台虚拟机的 vCPU 数量:224
- 单台虚拟机的 RAM:960 GB
- 单台虚拟机的 NUMA 节点数:2
Hyperdisk
默认情况下,TPU7x 的虚拟机启动磁盘为 Hyperdisk Balanced。您还可以为 TPU 虚拟机挂接更多磁盘,以获取额外的存储空间。TPU7x 支持以下磁盘类型:
- Hyperdisk Balanced
- Hyperdisk ML
如需详细了解 Hyperdisk,请参阅 Hyperdisk 概览。如需详细了解 Cloud TPU 的存储方案,请参阅 Cloud TPU 数据的存储选项。
后续步骤
- 在 GKE 上使用 TPU7x
- 通过 TPU Cluster Director 使用 TPU7x
- 使用 Google Cloud ML 诊断平台优化和诊断工作负载
- 使用针对 TPU7x 进行了优化的 recipe 运行训练工作负载
- 运行 TPU7x 微基准测试
- Ironwood 性能优化
- 在 GKE 上使用多层级检查点机制训练大规模机器学习模型