设置 Cloud TPU 环境

您需要先执行以下步骤,然后才能使用 Cloud TPU 资源在模型上训练或运行推理:

设置 Google Cloud 项目

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

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

  2. 创建 Google Cloud 项目。如需了解详情,请参阅创建项目

  3. 为您的 Google Cloud 项目启用结算功能

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

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

  4. 安装 Google Cloud CLI。 Google Cloud CLI 是一组用于访问和管理 Google Cloud 资源及服务的库和工具。

  5. 配置您作为 Google Cloud CLI 的一部分安装的 gcloud 命令。

    运行以下命令,将 gcloud 配置为使用您的 Google Cloud项目。

    $ gcloud config set project PROJECT_ID
  6. 确保您的 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. 创建 Cloud TPU 服务代理:

    服务代理是一种服务身份,由 Google 维护,供 Cloud TPU 服务用于在您的 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 容量的方法。根据以下因素选择使用选项:

    • 您需要容量的速度
    • 您需要容量的时长
    • 您需要固定还是灵活时间段的容量
    • 您的容量是否可能被抢占
    • 价格

    如需了解详情,请参阅 Cloud TPU 使用选项

  2. 申请配额:

    TPU 配额是指您可在Google Cloud 项目中使用的 Cloud TPU 核心数的限制。每个版本的 TPU 都与自己的配额相关联。如需创建 Cloud TPU,您的 Google Cloud 项目必须拥有您要创建的 TPU 的版本和大小以及您要在其中创建 TPU 的可用区的配额。如需详细了解配额分配、配额类型以及如何申请配额,请参阅配额

    如果您使用 Google Kubernetes Engine 或 Vertex AI 创建 TPU,则需要改为拥有这些服务的配额。如需详细了解 GKE 配额,请参阅使用 GKE 规划 TPU 配置。如需详细了解 Vertex AI 配额,请参阅 Vertex AI 配额和限制

  3. 确定您是否要使用已排队的资源

    最佳实践是创建 Cloud TPU 作为已排队的资源。通过已排队的资源,您可以在容量可用时接收容量。您可以指定应完成请求的可选开始时间和结束时间。

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

  4. 确定 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
      抢占式(不适用于已排队的资源;请改用 --spot --preemptible
      按需 无需额外标志
    • 高级配置:您可以向请求添加其他标志,以配置 TPU。如需了解详情,请参阅 gcloud compute tpus tpu-vm create 文档以及以下部分:

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

后续步骤

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