Criar uma instância de VM de TPU do Cloud TPU usando o Compute Engine
Este documento mostra como criar uma única VM de TPU com o comando gcloud compute instances create do Compute Engine. Também é possível criar uma instância de VM de TPU
especificando um modelo de instância. Para mais
informações, consulte Criar uma VM a partir de um modelo de instância.
Pré-requisitos
Atenda aos seguintes pré-requisitos:
Crie um Google Cloud projeto para suas TPUs, conforme descrito em Configurar um Google Cloud projeto para TPUs.
Determine os requisitos de TPU, conforme descrito em Planejar seus recursos do Cloud TPU.
Criar uma instância de VM de TPU
Os parâmetros usados para criar uma instância de VM de TPU dependem da opção de consumo que você está usando: sob demanda, spot, vinculada à reserva ou de início flexível. Para mais informações, consulte Planejar seus recursos de TPU .
Criar uma instância de VM de TPU sob demanda
Para criar uma instância de VM de TPU sob demanda, use o
gcloud compute instances create comando:
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"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do Google Cloud projeto.
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a
--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b).
Criar uma instância de VM spot de TPU
Para criar uma instância de VM spot de TPU, use o
gcloud compute instances create comando
com a --provisioning-model=SPOT flag:
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"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do Google Cloud projeto.
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a
--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b).
Criar uma instância de VM de TPU usando uma reserva
Para criar uma instância de VM de TPU usando a opção de consumo vinculada à reserva,
use o
gcloud compute instances create comando
com as flags --reservation-affinity=specific e --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"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do Google Cloud projeto.
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a
--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b). - RESERVATION_NAME: o nome da sua reserva.
Criar uma VM flex-start de TPU
Para criar uma instância de VM de TPU de início flexível, use o
gcloud compute instances create comando
com a --provisioning-model=FLEX_START flag:
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"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: ID do Google Cloud projeto.
- TPU_NAME: um nome para sua VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a
--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b). - MAX_RUN_DURATION: a duração máxima de execução da VM de TPU (por exemplo,
6h). Para REST, especifique isso como um número de segundos (por exemplo,21600para 6 horas). - VALID_DURATION: a duração máxima em que a
solicitação é válida. Para REST, especifique isso como um número de segundos (por exemplo,
3600para 1 hora). A solicitação é válida.
Para mais informações sobre como criar instâncias do Compute Engine, consulte Criar e iniciar uma instância do Compute Engine.
A seguir
- Saiba como criar um MIG com fatias de Cloud TPU de host único.
- Saiba como criar um MIG com uma fatia de Cloud TPU de vários hosts.
- Saiba como gerenciar VMs de TPU.
- Saiba mais sobre TPUs no GKE.
- Saiba como executar uma carga de trabalho de ML em TPUs, por exemplo, Disponibilizar o Qwen2-72B-Instruct com o vLLM em TPUs.