本文档介绍如何创建构成单主机 TPU 切片的代管式实例组 (MIG)。单主机 TPU 切片映射到一个 TPU 虚拟机 (VM) 实例。
您还可以将单主机 TPU 切片创建为独立的 TPU 实例。如需了解详情,请参阅 创建 TPU 虚拟机实例。
准备工作
- 查看创建具有 TPU 实例的 MIG 的 限制。
-
如果您尚未设置身份验证,请进行设置。
身份验证用于验证您的身份,以便访问 Cloud de Confiance by S3NS 服务和 API。
- 如需从本地开发环境运行
代码或示例,您可以通过选择以下选项之一向
Compute Engine 进行身份验证:
{1
-
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后, 运行以下命令来初始化 Google Cloud CLI:
gcloud init - 设置默认区域和可用区。
-
前提条件
在继续创建单主机 TPU 切片之前,您必须执行以下操作:
选择 TPU 版本:选择适合您的 工作负载的 TPU 版本。如需查看按工作负载类型列出的 TPU 版本,请参阅 按工作负载类型推荐的 TPU 版本。
验证 TPU 在首选位置的可用性:TPU 可在特定区域使用。 Cloud de Confiance by S3NS 如需使用某个 TPU 版本,请确保该版本在您的首选区域中可用。如需查看 TPU 位置列表,请参阅 TPU 可用性。
确保您的项目有足够的 TPU 配额:如果您要创建 具有按需或 Spot 虚拟机的单主机 TPU 切片,则必须在您要使用的区域中拥有足够的 TPU 配额。创建使用 TPU 预留的单主机 TPU 切片不需要任何 TPU 配额,因为配额是在创建预留时使用的。如需查看 TPU 配额名称列表,请参阅TPU 配额;如需了解如何 查看配额,请参阅查看和管理配额
选择 TPU 使用情况选项:选择最符合您的工作负载、持续时间和费用需求的消费选项。如需查看按 TPU 版本列出的 消费选项可用性列表,请参阅 TPU 消费选项。
选择拓扑:选择所选 TPU 版本支持的拓扑。如需查看每个 TPU 版本可用的拓扑列表,请参阅 TPU 拓扑。
创建具有多个单主机 TPU 切片的 MIG
如需在 MIG 中创建多个独立的 TPU 虚拟机,请执行以下操作:
- 创建一个实例模板。
- 创建 MIG。
创建实例模板
实例模板配置因您使用的消费选项而异:按需、Spot、预留或灵活启动。如需详细了解 消费选项,请参阅 虚拟机预配模型简介 。
为按需 TPU 虚拟机创建实例模板
以下命令会创建一个使用“按需”消费选项的实例模板:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替换以下占位符:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:TPU 虚拟机的机器类型(例如ct6e-standard-8t)。IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列 。如果您要安装特定操作系统版本,请使用--image标志。如需详细了解操作系统映像,请参阅操作系统映像。IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为ubuntu-os-accelerator-images。
为 TPU Spot 虚拟机创建实例模板
以下命令会创建一个使用“Spot”消费选项的实例模板:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=STOP \
--provisioning-model=SPOT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替换以下占位符:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:TPU 虚拟机的机器类型(例如ct6e-standard-8t)。IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列 。如果您要安装特定操作系统版本,请使用--image标志。如需详细了解操作系统映像,请参阅操作系统映像。IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为ubuntu-os-accelerator-images。
为受预留约束的 TPU 虚拟机创建实例模板
以下命令会创建一个使用“受预留约束”消费选项的实例模板:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--reservation-affinity=specific \
--provisioning-model=reservation-bound \
--reservation=RESERVATION_NAME \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替换以下占位符:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:TPU 虚拟机的机器类型 (例如ct6e-standard-8t)。RESERVATION_NAME:您要使用的特定预留的名称。IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列 。如果您要安装特定操作系统版本,请使用--image标志。如需详细了解操作系统映像,请参阅操作系统映像。IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为ubuntu-os-accelerator-images。
为 TPU 灵活启动型虚拟机创建实例模板
以下命令会创建一个使用“灵活启动”消费选项的实例模板:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--provisioning-model=FLEX_START \
--max-run-duration=DURATION \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
替换以下占位符:
INSTANCE_TEMPLATE_NAME:实例模板的名称。MACHINE_TYPE:TPU 虚拟机的机器类型 (例如ct6e-standard-8t)。DURATION:TPU 虚拟机的最长运行时间(例如1h)。IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列 。如果您要安装特定操作系统版本,请使用--image标志。如需详细了解操作系统映像,请参阅操作系统映像。IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为ubuntu-os-accelerator-images。
创建 MIG
使用
gcloud compute instance-groups managed create 命令创建可用区级或区域级 MIG,如下所示:
如需创建包含单主机 TPU 切片的可用区级 MIG,请使用以下命令:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONE如需创建包含单主机 TPU 切片的区域级 MIG,请使用以下命令:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --target-distribution-shape=ANY_SINGLE_ZONE \ --instance-redistribution-type=none
替换以下占位符:
MIG_NAME:MIG 的名称。MIG_SIZE:MIG 中的虚拟机数量。INSTANCE_TEMPLATE_URL:您要用于在 MIG 中创建实例的实例模板的网址。网址可以包含实例模板的 ID 或名称。请指定以下某个值:- 对于区域级实例模板:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 对于全球实例模板:
INSTANCE_TEMPLATE_ID
- 对于区域级实例模板:
ZONE:您希望在其中预配 MIG 的可用区 。REGION:您希望在其中预配 MIG 的区域 。
在 MIG 中创建具有自定义名称的虚拟机
您可以在 MIG 中创建虚拟机,并为每个虚拟机指定自定义名称。这对于调试和确保实例按特定顺序创建非常有用。
gcloud
使用
create-instance命令
创建具有自定义名称的虚拟机,并指定 --instance 标志。如需创建多个虚拟机,请为每个虚拟机重复该命令。否则,请使用 REST API 方法在单个请求中指定多个虚拟机。
对于可用区级 MIG,请使用以下命令:
gcloud compute instance-groups managed create-instance MIG_NAME \ --zone=ZONE \ --instance=INSTANCE_NAME对于区域级 MIG,请使用以下命令:
gcloud compute instance-groups managed create-instance MIG_NAME \ --region=REGION \ --instance=INSTANCE_NAME
替换以下占位符:
REST
使用以下 REST API 方法之一创建具有自定义名称的虚拟机:
对于可用区级 MIG,请使用
instanceGroupManagers.createInstances。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }对于区域级 MIG,请使用
regionInstanceGroupManagers.createInstances。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }
替换以下占位符: