Criar um MIG com frações de Cloud TPU de host único
Este documento descreve como criar um grupo gerenciado de instâncias (MIG, na sigla em inglês) com várias frações de TPU de host único independentes.
Pré-requisitos
Atenda aos seguintes pré-requisitos:
- Crie um projeto para suas TPUs conforme descrito em Configurar um projeto para TPUs.
- Determine os requisitos de TPU conforme descrito em Planejar seus recursos.
Criar um MIG com várias frações de TPU de host único
Para criar várias VMs de TPU independentes em um MIG:
- Criar um modelo de instância.
- Criar o MIG.
Criar um modelo de instância
As configurações do modelo de instância variam de acordo com a opção de consumo usada: sob demanda, Spot, reservas ou Início flexível. Para mais informações sobre as opções de consumo, consulte Planejar seus recursos de TPU .
Criar um modelo de instância para uma VM de TPU sob demanda
O comando a seguir cria um modelo de instância que usa a opção de consumo sob demanda:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
Substitua os seguintes marcadores de posição:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.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.
Criar um modelo de instância para uma VM spot de TPU
O comando a seguir cria um modelo de instância que usa a opção de consumo 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
Substitua os seguintes marcadores de posição:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.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.
Criar um modelo de instância para uma VM de TPU vinculada à reserva
O comando a seguir cria um modelo de instância que usa a opção de consumo vinculada à reserva:
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
Substitua os seguintes marcadores de posição:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo,ct6e-standard-8t).RESERVATION_NAME: o nome de uma reserva específica que você quer consumir.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.
Criar um modelo de instância para uma VM flex-start de TPU
O comando a seguir cria um modelo de instância que usa a opção de consumo Início flexível:
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
Substitua os seguintes marcadores de posição:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo,ct6e-standard-8t).DURATION: a duração máxima da execução da VM de TPU (por exemplo,1h).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.
Criar um MIG
Crie um MIG zonal ou regional usando o
gcloud compute instance-groups managed create comando da seguinte maneira:
Para criar um MIG zonal que contenha uma fração de TPU de host único, use o seguinte comando:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONEPara criar um MIG regional que contenha uma fração de TPU de host único, use o seguinte comando:
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
Substitua os seguintes marcadores de posição:
MIG_NAME: o nome do MIG.MIG_SIZE: o número de VMs no MIG.INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID. - Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
ZONE: a zona em que você quer que o MIG seja provisionado.REGION: a região em que você quer que o MIG seja provisionado.
Criar VMs com nomes personalizados em um MIG
É possível criar VMs em um MIG especificando nomes personalizados para cada VM. Isso é útil para depuração e para garantir que as instâncias sejam criadas em uma ordem específica.
gcloud
Crie uma VM com um nome personalizado usando o
create-instance comando
e especifique a --instance flag. Para criar várias VMs, repita o comando para cada VM. Caso contrário, use o método da API REST para especificar várias VMs em uma única solicitação.
Para um MIG zonal, use o seguinte comando:
gcloud compute instance-groups managed create-instance MIG_NAME \ --zone=ZONE \ --instance=INSTANCE_NAMEPara um MIG regional, use o seguinte comando:
gcloud compute instance-groups managed create-instance MIG_NAME \ --region=REGION \ --instance=INSTANCE_NAME
Substitua os seguintes marcadores de posição:
REST
Crie VMs com nomes personalizados usando um dos seguintes métodos da API REST:
Para um MIG zonal, use o
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" }, ... ] }Para um MIG regional, use o
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" }, ... ] }
Substitua os seguintes marcadores de posição:
A seguir
- Saiba mais sobre VMs de TPU e MIGs.
- Saiba como criar um MIG com uma fração 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.