设置 Cloud TPU 环境
在使用 Cloud TPU 资源训练或运行模型之前, 您需要执行以下设置步骤:
设置您的 Google Cloud 项目
您必须拥有 Google Cloud 账号和项目,才能使用 Cloud TPU。
在 Google Cloud 控制台中,登录您的 Google 账号或注册新账号。
安装 Google Cloud CLI。 Google Cloud CLI 是一个用于访问和管理 Google Cloud 资源和服务的界面。
选择或创建 Google Cloud 项目:
在 Google Cloud 控制台中,选择或创建一个 Cloud 项目 从项目选择器中选择。
在 Cloud Shell 中,使用 gcloud CLI 设置项目 ID。项目 ID 是 Google Cloud 控制台中显示的项目的名称。
$ gcloud config set project PROJECT-ID
-
所有 Google Cloud 使用都需要进行结算设置。只有在开始使用 Google Cloud 资源后,您才需要付费。如需了解详情,请参阅 Cloud Billing 文档。
所有 Cloud TPU 版本的用量的计费均遵循标准区域价格 如 Cloud TPU 价格页面所示。
设置环境以使用 Cloud TPU
在申请 Cloud TPU 之前,您必须激活 Cloud TPU API 并 请确保您有权管理项目中的访问权限 Cloud TPU我们还建议您创建一个用户管理的服务账号,以便将其附加到 TPU。
通过 Google Cloud 控制台或使用 在 Cloud Shell 中运行 gcloud CLI:
gcloud
$ gcloud services enable tpu.googleapis.com
控制台
- 在 Google Cloud 控制台中,前往 Cloud TPU API 页面。
- 点击启用。
确保您对项目具有以下角色:
- Service Account Admin:创建服务账号所需的权限
- Project IAM Admin:授予项目中角色所需的权限
- TPU Admin:创建 TPU 时需要
请按照 查看当前访问权限以查看 有权访问您的项目、文件夹或组织的用户。如需查看您自己的访问权限,请在主账号列中,找到您的电子邮件地址所在的行。如果该列中没有显示您的电子邮件地址,则表示您不具有任何角色。 在电子邮件地址所在行的角色列中,查看 角色列表包含所需角色。
如果您没有所需的角色 授予角色 或请求管理员执行此操作。
创建 Cloud TPU 服务代理:
服务代理是一种服务身份,由 Google 维护,供 Cloud TPU 服务在您的 Google Cloud 项目中执行操作。例如,服务代理用于创建和管理 Cloud TPU 资源。
$ gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
创建 TPU 服务账号:
服务账号充当 TPU 虚拟机的凭据。与服务账号关联的角色可授予对 Google Cloud 资源的访问权限。我们建议您使用用户管理的服务账号,仅授予 TPU VM 所需的权限。使用用户代管式服务账号时,您必须在 您要使用
--service-account
标志创建一个 TPU 虚拟机。按照创建服务账号中的说明操作 创建用户代管式服务账号。
按照管理对项目、文件夹和组织的访问权限中的说明,向您的服务账号授予对 TPU 将访问的 Google Cloud 服务的访问权限。建议您为 TPU 授予以下角色,以便其访问常用的 Google Cloud 服务。
- TPU Admin:需要拥有 TPU 管理员权限才能完全访问 TPU 资源
- Storage Admin:需要此角色才能访问 Cloud Storage
- Logs Writer:使用 Logging API 写入日志时需要用到
- Monitoring Metric Writer:用于将指标写入 Cloud Monitoring
准备创建 Cloud TPU
在创建 Cloud TPU 之前,您必须先申请配额。您还应考虑使用队列化资源,以及要使用哪些参数来配置 TPU。
请求配额:
如需创建 Cloud TPU,您的 Google Cloud 项目必须拥有配额 您要创建的 TPU 版本和大小,以及您要在哪个可用区创建 自己想创建的内容例如,如果要在
us-central2-b
中创建 TPU v4-8, 您会在us-central2-b
中申请 8 个 TPU v4 核心的配额。有关 提供 Cloud TPU 的可用区的相关信息,请参阅 TPU 区域和可用区。配额的分配方式因 TPU 版本而异。不同类型的配额具有不同的可用性预期。如需详细了解 配额分配、配额类型以及如何申请配额,请参阅配额。
确定是否要使用已加入队列的资源。
最佳做法是将 Cloud TPU 创建为排队资源。已加入队列 资源可让您在可用容量时立即获得容量。您可以 用于指定填充请求对应的开始时间和结束时间(可选)。
可使用不同的 gcloud CLI 命令来处理队列 资源。如需了解详情,请参阅队列化资源用户指南。
确定 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 的示例,请参阅使用入门。
后续步骤
- 了解如何创建和管理虚拟机和 TPU 资源
- 运行 Cloud TPU 快速入门