设置 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 激活 Cloud TPU API:
gcloud
$ gcloud services enable tpu.googleapis.com
控制台
- 在 Google Cloud 控制台中,前往 Cloud TPU API 页面。
- 点击启用。
确保您在项目中拥有以下角色:
- Service Account Admin:创建服务账号所需的权限
- Project IAM Admin:需要此角色才能在项目中授予角色
- TPU 管理员:创建 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 资源
- Storage Admin:需要此角色才能访问 Cloud Storage
- 日志写入器:需要使用 Logging API 写入日志
- Monitoring Metric Writer:用于将指标写入 Cloud Monitoring
准备创建 Cloud TPU
您必须先申请配额,然后才能创建 Cloud TPU。您还应考虑使用队列化资源,以及要使用哪些参数来配置 TPU。
请求配额:
若要创建 Cloud TPU,您的 Google Cloud 项目必须针对您要创建的 TPU 的版本和大小以及要创建 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 快速入门