使用 Compute Engine 创建 Cloud TPU 虚拟机实例
本文档介绍了如何使用 Compute Engine gcloud compute instances create 命令创建单个 TPU 虚拟机。您还可以通过指定 实例模板来创建 TPU 虚拟机实例
。如需了解详情,请参阅通过实例模板创建虚拟机。
前提条件
完成以下前提条件:
按照为 TPU 设置项目中所述,为您的 TPU 创建 Google Cloud 项目。 Google Cloud
按照规划 Cloud TPU 资源中所述,确定您的 TPU 要求。
创建 TPU 虚拟机实例
用于创建 TPU 虚拟机实例的参数取决于您使用的使用选项:按需、Spot、受预留约束或灵活启动。如需了解详情,请参阅 规划 TPU 资源 。
创建按需 TPU 虚拟机实例
如需创建按需 TPU 虚拟机实例,请使用
gcloud compute instances create 命令:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
替换以下占位符:
- PROJECT_ID:您的 Google Cloud 项目的 ID。
- TPU_NAME:TPU 虚拟机的名称。
- MACHINE_TYPE:TPU 虚拟机的机器类型
(例如
ct6e-standard-8t)。 - IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列
。如果您想安装特定的操作系统版本,请使用
--image标志。如需详细了解操作系统映像,请参阅操作系统映像。 - IMAGE_PROJECT:包含操作系统映像的项目。
对于 TPU 映像,此值为
ubuntu-os-accelerator-images。 - ZONE:TPU 虚拟机的可用区
(例如
us-central1-b)。
创建 TPU Spot 虚拟机实例
如需创建 TPU Spot 虚拟机实例,请将
gcloud compute instances create命令
与 --provisioning-model=SPOT 标志搭配使用:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=SPOT \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
替换以下占位符:
- PROJECT_ID:您的 Google Cloud 项目的 ID。
- TPU_NAME:TPU 虚拟机的名称。
- MACHINE_TYPE:TPU 虚拟机的机器类型
(例如
ct6e-standard-8t)。 - IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列
。如果您想安装特定的操作系统版本,请使用
--image标志。如需详细了解操作系统映像,请参阅操作系统映像。 - IMAGE_PROJECT:包含操作系统映像的项目。
对于 TPU 映像,此值为
ubuntu-os-accelerator-images。 - ZONE:TPU 虚拟机的可用区
(例如
us-central1-b)。
使用预留创建 TPU 虚拟机实例
如需使用受预留约束的使用选项创建 TPU 虚拟机实例,
请将
gcloud compute instances create 命令
与 --reservation-affinity=specific 和 --reservation 标志搭配使用:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=reservation-bound \
--reservation-affinity=specific \
--reservation=RESERVATION_NAME \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME"
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
替换以下占位符:
- PROJECT_ID:您的 Google Cloud 项目的 ID。
- TPU_NAME:TPU 虚拟机的名称。
- MACHINE_TYPE:TPU 虚拟机的机器类型
(例如
ct6e-standard-8t)。 - IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列
。如果您想安装特定的操作系统版本,请使用
--image标志。如需详细了解操作系统映像,请参阅操作系统映像。 - IMAGE_PROJECT:包含操作系统映像的项目。
对于 TPU 映像,此值为
ubuntu-os-accelerator-images。 - ZONE:TPU 虚拟机的可用区
(例如
us-central1-b)。 - RESERVATION_NAME:预留的名称。
创建 TPU 灵活启动型虚拟机
如需创建 TPU 弹性启动虚拟机实例,请将
gcloud compute instances create命令
与 --provisioning-model=FLEX_START标志搭配使用:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=FLEX_START \
--max-run-duration=MAX_RUN_DURATION \
--request-valid-for-duration=VALID_DURATION \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"params": {
"requestValidForDuration": {
"seconds": VALID_DURATION
}
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
替换以下占位符:
- PROJECT_ID:您的 Google Cloud 项目的 ID。
- TPU_NAME:TPU 虚拟机的名称。
- MACHINE_TYPE:TPU 虚拟机的机器类型
(例如
ct6e-standard-8t)。 - IMAGE_FAMILY:TPU 虚拟机的 操作系统映像系列
。如果您想安装特定的操作系统版本,请使用
--image标志。如需详细了解操作系统映像,请参阅操作系统映像。 - IMAGE_PROJECT:包含操作系统映像的项目。
对于 TPU 映像,此值为
ubuntu-os-accelerator-images。 - ZONE:TPU 虚拟机的可用区
(例如
us-central1-b)。 - MAX_RUN_DURATION:TPU 虚拟机的最长运行时间(例如
6h)。对于 REST,请以秒为单位指定此值(例如,6 小时为21600)。 - VALID_DURATION:请求的有效期限上限。对于 REST,请以秒为单位指定此值(例如,1 小时为
3600)。 请求有效。
如需详细了解如何创建 Compute Engine 实例,请参阅 创建和启动 Compute Engine 实例。
后续步骤
- 了解如何使用单主机 Cloud TPU 切片创建 MIG。
- 了解如何使用多主机 Cloud TPU 切片创建 MIG。
- 了解如何管理 TPU 虚拟机。
- 了解 GKE 中的 TPU。
- 了解如何在 TPU 上运行机器学习工作负载,例如在 TPU 上使用 vLLM 部署 Qwen2-72B-Instruct。