设置 Cloud TPU 环境

您需要先执行以下设置步骤,然后才能使用 Cloud TPU 资源对模型进行训练或运行推断:

设置您的 Google Cloud 项目

您必须拥有 Google Cloud 帐号和项目才能使用 Cloud TPU。

  1. Google Cloud 控制台中,登录您的 Google 账号或注册新账号

  2. 安装 Google Cloud CLI。 Google Cloud CLI 是用于访问和管理 Google Cloud 资源及服务的接口。

  3. 选择或创建 Google Cloud 项目:

    Google Cloud 控制台中,从项目选择器中选择或创建一个 Cloud 项目。

    在 Cloud Shell 中,使用 gcloud CLI 设置项目 ID。 项目 ID 是 Google Cloud 控制台中显示的项目名称。

    $ gcloud config set project PROJECT-ID
    
  4. 确保已为您的 Google Cloud 项目启用结算

    使用 Google Cloud 时都需要进行结算设置。只有在您开始使用 Google Cloud 资源后,我们才会向您收费。如需了解详情,请参阅 Cloud Billing 文档

    所有 Cloud TPU 版本的用量结算都遵循 Cloud TPU 价格页面上显示的标准区域价格。

设置您的环境以使用 Cloud TPU

在请求 Cloud TPU 之前,您必须激活 Cloud TPU API,并确保您有权管理项目中的访问权限并创建 Cloud TPU。我们还建议您创建一个用户代管式服务帐号以连接到您的 TPU。

  1. 通过 Google Cloud 控制台或使用 Cloud Shell 中的 gcloud CLI 激活 Cloud TPU API:

    gcloud

    $ gcloud services enable tpu.googleapis.com
    

    控制台

    1. 在 Google Cloud 控制台中,转到 Cloud TPU API 页面。

    转到 Cloud TPU API 页面

    1. 点击启用
  2. 确保您在项目中拥有以下角色:

    按照查看当前访问权限中的说明查看谁有权访问您的项目、文件夹或组织。如需查看您自己的访问权限,请在主账号列中找到包含您的电子邮件地址的行。如果您的电子邮件地址不在此列,则表示您没有任何角色。 在电子邮件地址所在行的角色列中,检查角色列表是否包含所需的角色。

    如果您没有必需的角色,请授予该角色或请求管理员授予。

  3. 创建 TPU 服务帐号:

    服务帐号允许 Cloud TPU 服务访问其他 Google Cloud 服务。建议使用用户代管式服务帐号。使用 --service-account 标志创建 TPU 时,可将其附加至该 TPU。

    1. 按照创建服务帐号中的说明创建服务帐号。

    2. 按照管理对项目、文件夹和组织的访问权限中的说明,向您的服务帐号授予对 TPU 将访问的 Google Cloud 服务的访问权限。建议使用以下角色,以便 TPU 访问常用的 Google Cloud 服务。

准备创建 Cloud TPU

在创建 Cloud TPU 之前,您必须先申请配额。您还应考虑使用已加入队列的资源以及要用于配置 TPU 的参数。

  1. 申请配额:

    为了创建 Cloud TPU,您的 Google Cloud 项目必须具有要创建的 TPU 版本和大小的配额,以及要创建该 TPU 的可用区的配额。例如,如果您要在 us-central2-b 中创建 TPU v4-8,则应在 us-central2-b 中申请 8 个 TPU v4 核心的配额。如需详细了解提供 Cloud TPU 的地区,请参阅 TPU 区域和地区

    配额的分配方式因 TPU 版本而异。不同类型的配额具有不同的预期可用性。 如需详细了解配额分配、配额类型以及如何申请配额,请参阅配额

  2. 确定是否要使用已加入队列的资源

    最佳实践是创建 Cloud TPU 并将其作为排入队列的资源。已加入队列的资源可让您在可用时获得容量。您可以选择指定应填充请求的开始时间和结束时间。

    有不同的 gcloud CLI 命令可用于处理排队的资源。如需了解详情,请参阅已加入队列的资源用户指南

  3. 确定 Cloud TPU 创建参数:

    • 可用区:将 --zone 标志设置为您要创建 TPU 的可用区。您必须在此可用区中分配配额。如需了解详情,请参阅 TPU 区域和地区

    • TPU 配置:如果您不需要指定自定义拓扑,或者您使用的是 TPU v2 或 v3,请将 --accelerator-type 标志设置为 vVERSION-TENSORCORES。将 VERSION 替换为您要使用的 TPU 版本号。将 TENSORCORES 替换为您要使用的 TensorCore 数量。

      如果要自定义 TPU 的物理拓扑,请使用 --version--topology 标志。将 --version 标志设置为您要使用的 TPU 版本。将 --topology 标志设置为您要使用的拓扑。

      如需详细了解 TPU 配置,包括支持的配置和拓扑变体,请参阅 TPU 版本

    • 软件版本:如果您要请求已加入队列的资源,请将 --runtime-version 标志设置为您要使用的软件版本的名称。否则,请使用 --version 标志。TPU 软件版本适用于 TensorFlow、PyTorch 和 JAX 框架。如需详细了解受支持的软件版本,请参阅 TPU 虚拟机软件版本

    • 服务帐号:将 --service-account 设置为您服务帐号的电子邮件地址(如果您创建了服务帐号),以便将服务帐号附加到 TPU。如果为空,将使用默认 Compute Engine 服务帐号

    • 配额类型:如果要使用预留配额创建 TPU,请在请求中添加 --reserved 标志。

      如果您想使用抢占式配额创建 TPU,并且正在请求排队的资源,请在请求中添加 --best-effort 标志。

      如果要使用抢占式配额创建 TPU,并且您没有请求已加入队列的资源,请在请求中添加 --preemptible 标志。

      如果要使用按需配额创建 TPU,则无需添加任何额外的标志。

    • 高级配置:您可以在请求中添加其他标志以配置 TPU。如需了解详情,请参阅 gcloud compute tpus tpu-vm create 文档以及管理 TPU 中的以下部分:

如需查看如何创建 Cloud TPU 的示例,请参阅使用入门

后续步骤

  1. 了解如何创建和管理虚拟机和 TPU 资源
  2. 运行 Cloud TPU 快速入门