设置 Cloud TPU 环境

在使用 Cloud TPU 资源训练或运行模型之前, 您需要执行以下设置步骤:

设置您的 Google Cloud 项目

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

  1. Google Cloud 控制台中,执行以下操作: 登录您的 Google 账号,或 注册新账号

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

    gcloud components update
  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:

    gcloud

    $ gcloud services enable tpu.googleapis.com
    

    控制台

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

    转到 Cloud TPU API 页面

    1. 点击启用
  2. 确保您对项目具有以下角色:

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

    如果您没有所需的角色 授予角色 或请求管理员执行此操作。

  3. 创建 Cloud TPU 服务代理:

    服务代理是一种服务身份, Cloud TPU 服务使用的由 Google 维护的服务身份 在 Google Cloud 项目中执行操作。例如,服务 来创建和管理 Cloud TPU 资源。

      $ gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
    
  4. 创建 TPU 服务账号:

    服务账号充当 TPU 虚拟机的凭据。附加到 服务账号授予对 Google Cloud 资源的访问权限。我们建议使用 用户代管式服务账号,仅授予您的 TPU 虚拟机。使用用户代管式服务账号时,您必须在 您要使用 --service-account 标志创建一个 TPU 虚拟机。

    1. 按照创建服务账号中的说明操作 创建用户代管式服务账号。

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

准备创建 Cloud TPU

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

  1. 请求配额:

    如需创建 Cloud TPU,您的 Google Cloud 项目必须拥有配额 您要创建的 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 服务账号

    • 配额类型:添加与所需配额类型对应的标志 以便使用:

      配额类型 标志
      已预留 --reserved
      Spot 虚拟机 --spot
      使用排队的资源可抢占 --best-effort
      不使用排队的资源的抢占式实例 --preemptible
      按需 无需添加额外标志
    • 高级配置:您可以向 配置 TPU。请参阅 gcloud compute tpus tpu-vm create 文档 以及管理 TPU 中的以下部分 了解详情:

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

后续步骤

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