TPU 虚拟机映像

创建 TPU 资源时,您需要传递 --version--runtime-version 该参数用于指定 TPU 虚拟机映像。TPU 虚拟机映像包含操作系统 (Ubuntu) 和 在 TPU 上运行代码所需的其他软件(可选)。此文档 提供有关在创建 Cloud Storage 时选择适合的 TPU 虚拟机映像的指南。 Cloud TPU

PyTorch 和 JAX

将以下通用 TPU 虚拟机基础映像用于 PyTorch 和 JAX,然后安装 您要使用的框架

  • tpu-ubuntu2204-base(默认)
  • v2-alpha-tpuv5 (TPU v5p)
  • v2-alpha-tpuv5-lite (TPU v5e)

如需了解安装说明,请参阅 PyTorch/XLA 和 JAX 的快速入门文档。

TensorFlow

每个 TensorFlow 版本都有专用的 TPU 虚拟机映像。通过 Cloud TPU 支持以下 TensorFlow 版本:

  • 2.17.0
  • 2.16.2
  • 2.16.1
  • 2.15.1
  • 2.15.0
  • 2.14.1
  • 2.14.0
  • 2.13.1
  • 2.13.0
  • 2.12.1
  • 2.12.0
  • 2.11.1
  • 2.11.0
  • 2.10.1
  • 2.10.0
  • 2.9.3
  • 2.9.1
  • 2.8.4
  • 2.8.3
  • 2.8.0
  • 2.7.4
  • 2.7.3

如需详细了解 TensorFlow 补丁版本,请参阅 支持的 TensorFlow 补丁版本

对于 TensorFlow 2.15.0 及更高版本,有 TPU 虚拟机映像变体 PJRT 或 Stream Executor)。

v5p 和 v5e 培训

TPU v5e 和 v5p 支持 TensorFlow 2.15.0 及更高版本。您需要指定 TPU 虚拟机 使用以下格式的图片:tpu-vm-tf-x.y.z-{pod}-pjrt,其中 x 是主图片 TensorFlow 版本,y 为次要版本,z 为 TensorFlow 补丁版本。在 TensorFlow 版本后面添加 pod 请使用多主机 TPU。例如,如果你使用 TensorFlow 2.16.0 在多主机 TPU 上运行,请使用 tpu-vm-tf-2.16.0-pod-pjrt TPU 虚拟机映像。对于 其他版本的 TensorFlow,请将 2.16.0 替换为主要版本和补丁 所用的 TensorFlow 版本。如果您使用的是单个主机 TPU, 省略 pod

在 v5e 上投放

目前提供的 Docker 映像包含部署应用所需的所有软件要求 支持 TensorFlow、PyTorch 和 JAX。如需了解详情,请参阅 Cloud TPU v5e 推理简介

TPU v4

如果您使用的是 TPU v4 和 TensorFlow 2.15.0 或更高版本,请遵循 v5p 和 v5e 培训的说明。如果您使用的是 TensorFlow 2.10.0 或更早版本,请使用特定于 v4 的 TPU 虚拟机映像:

TensorFlow 版本 TPU 虚拟机映像版本
2.10.0 tpu-vm-tf-2.10.0-v4
tpu-vm-tf-2.10.0-pod-v4
2.9.3 tpu-vm-tf-2.9.3-v4
tpu-vm-tf-2.9.3-pod-v4
2.9.2 tpu-vm-tf-2.9.2-v4
tpu-vm-tf-2.9.2-pod-v4
2.9.1 tpu-vm-tf-2.9.1-v4
tpu-vm-tf-2.9.1-pod-v4

TPU v2 和 v3

如果您使用的是 TPU v2 或 v3,请使用与 正在使用的 TensorFlow。例如,如果你使用 2.14.1,使用 tpu-vm-tf-2.14.1 TPU 映像。对于其他版本 请将 2.14.1 替换为您之前使用的 TensorFlow 版本, 使用的技术。如果您使用的是多主机 TPU,请将 Pod 附加到 TPU 末尾 图片,例如 tpu-vm-tf-2.14.1-pod

从 TensorFlow 2.15.0 开始,您还必须指定设备 API。 例如,如果您将 TensorFlow 2.16.1 与 PJRT API 结合使用,请使用 TPU 映像 tpu-vm-tf-2.16.1-pjrt。如果您使用的是数据流执行器 API 请使用 tpu-vm-tf-2.16.1-se TPU 图片。2.15.0 之前的 TensorFlow 版本仅支持流执行器。

TensorFlow PJRT 支持

从 TensorFlow 2.15.0 开始,您可以使用 PJRT 接口 在 TPU 上使用 TensorFlow。PJRT 具有自动设备内存碎片整理功能 并简化硬件与框架的集成。更多信息 关于 PJRT,请参阅 PJRT:简化机器学习硬件和框架集成

加速器 特征 PJRT 支持 流执行器支持
TPU v2 - v4 密集计算(无 TPU 嵌入 API)
TPU v2 - v4 密集计算 API + TPU 嵌入 API
TPU v2 - v4 使用软设备放置的 tf.summary/tf.print
TPU v5e 密集计算(无 TPU 嵌入 API)
TPU v5e TPU 嵌入 API 不适用
TPU v5p 密集计算(无 TPU 嵌入 API)
TPU v5p TPU 嵌入 API

Libtpu 版本

TPU 虚拟机 TensorFlow 映像包含特定的 TensorFlow 版本 以及相应的 libtpu 库如果您要创建自己的虚拟机映像 使用以下 TensorFlow TPU 软件版本及相应的 libtpu 版本:

TensorFlow 版本 libtpu.so 版本
2.17.0 1.11.0
2.16.2 1.10.1
2.16.1 1.10.1
2.15.1 1.9.0
2.15.0 1.9.0
2.14.1 1.8.1
2.14.0 1.8.0
2.13.1 1.7.1
2.13.0 1.7.0
2.12.1 1.6.1
2.12.0 1.6.0
2.11.1 1.5.1
2.11.0 1.5.0
2.10.1 1.4.1
2.10.0 1.4.0
2.9.3 1.3.2
2.9.1 1.3.0
2.8.3 1.2.3
2.8.0 1.2.0
2.7.3 1.1.2

后续步骤