TPU v5p
本文档介绍了 Cloud TPU v5p 的架构和支持的配置。
系统架构
本部分介绍了特定于 v5p 版本的系统架构。每个 TensorCore 都有四个矩阵乘法单元 (MXU)、一个矢量单元和一个标量单元。
一个 v5p Pod 中有 8960 个芯片。可调度的最大作业是 96 个立方体(6144 条状标签)作业。
下表显示了 v5p 的关键规范。
密钥规范 | v5p 值 |
---|---|
每个芯片的峰值计算 (bf16) | 459 个 TFLOP |
HBM2e 容量和带宽 | 95GB、2765 GBps |
TPU Pod 大小 | 8960 芯片 |
互连拓扑 | 3D 环面* |
芯片间互连 BW | 4800 Gbps |
配置
TPU v5p Pod 由 8960 个芯片组成,这些芯片通过可重新配置的高速链路互连。TPU v5p 的灵活网络可让您以多种方式连接相同大小的切片中的芯片。使用 gcloud compute tpus tpu-vm create
命令创建 TPU 切片时,您可以使用 AcceleratorType
或 AcceleratorConfig
参数指定其类型和形状。
下表显示了 v5p 支持的最常见单切片形状,以及大多数(但非全部)大于 1 个立方体的完整立方体形状。最大 v5p 形状为 16x16x24(6144 个芯片,96 个立方体)。
切片形状 | 虚拟机大小 | 核心数量 | 条状标签数量 | 机器数量 | 立方数 | 是否支持 Twisted? |
2x2x1 | 完整主机 | 8 | 4 | 1 | 不适用 | 不适用 |
2x2x2 | 完整主机 | 16 | 8 | 2 | 不适用 | 不适用 |
2x4x4 | 完整主机 | 64 | 32 | 8 | 不适用 | 不适用 |
4x4x4 | 完整主机 | 128 | 64 | 16 | 1 | 不适用 |
4x4x8 | 完整主机 | 256 | 128 | 32 | 2 | 是 |
4x8x8 | 完整主机 | 512 | 256 | 64 | 4 | 是 |
8x8x8 | 完整主机 | 1024 | 512 | 128 | 8 | 不适用 |
8x8x16 | 完整主机 | 2048 | 1024 | 256 | 16 | 是 |
8x16x16 | 完整主机 | 4096 | 2048 | 512 | 32 | 是 |
16x16x16 | 完整主机 | 8192 | 4096 | 1024 | 64 | 不适用 |
16x16x24 | 完整主机 | 12,288 | 6144 | 1536 | 96 个字符 | 不适用 |
单个切片训练最多支持 6144 个芯片。它可扩展至使用多切片的 18432 个芯片。如需详细了解多切片,请参阅 Cloud TPU 多切片概览。
使用 AcceleratorType 参数
分配 TPU 资源时,您可以使用 --accelerator-type
参数指定切片中 TensorCore 的数量。--accelerator-type
是带格式的字符串“v$VERSION_NUMBER
p-$CORES_COUNT
”。
例如,v5p-32
指定具有 32 个 TensorCore(16 个芯片)的 v5p TPU 切片。
如需为 v5p 训练作业预配 TPU,请在 CLI 或 TPU API 创建请求中使用以下加速器类型之一:
- v5p-8
- v5p-16
- v5p-32
- v5p-64
- v5p-128(一个完整的立方体/机架)
- v5p-256(2 个立方体)
- v5p-512
- v5p-1024 ... v5p-12288
使用 AcceleratorConfig 参数
对于 v5p 及更高版本的 Cloud TPU,AcceleratorConfig 的使用方式与 Cloud TPU v4 的使用方式大致相同。不同之处在于,您需要将 TPU 类型指定为 --type=v4
,而是将其指定为要使用的 TPU 版本(例如,指定 v5p 版本为 --type=v5p
)。
Cloud TPU ICI 弹性
ICI 弹性有助于提高在立方体之间连接 TPU 的光纤链路和光学电路交换机 (OCS) 的容错能力。(立方体内的 ICI 连接使用的是不受影响的铜制链路)。 ICI 弹性允许 ICI 连接围绕 OCS 和光学 ICI 故障进行路由。因此,它可以提高 TPU 切片的调度可用性,但代价是 ICI 性能会暂时下降。
与 Cloud TPU v4 类似,对于一个或更大的 v5p 切片,系统会默认启用 ICI 弹性:
- v5p-128(在指定加速器类型时)
- 4x4x4(指定加速器配置时)
虚拟机、主机和切片属性
属性 | TPU 中的值 |
v5p 芯片数量 | 4 |
vCPU 数量 | 208(如果使用 NUMA 绑定来避免跨 NUMA 性能损失,则只有一半可用) |
RAM (GB) | 448(如果使用 NUMA 绑定来避免跨 NUMA 性能损失,则只有一半可用) |
NUMA 节点数量 | 2 |
NIC 吞吐量 (Gbps) | 200 |
Pod 中 TensorCore、芯片、主机/虚拟机和立方体的数量之间的关系:
核心 | 条状标签 | 主机/虚拟机 | 立方体 | |
---|---|---|---|---|
主机 | 8 | 4 | 1 | |
Cube(也称为机架) | 128 | 64 | 16 | 1 |
支持的最大切片 | 12,288 | 6144 | 1536 | 96 个 |
v5p 完整 Pod | 17920 | 8960 | 2,240 | 140 个 |