Crea un MIG con una sezione Cloud TPU multi-host
Questo documento descrive come creare un gruppo di istanze gestite (MIG) con uno slice TPU multi-host.
Prerequisiti
Completa i seguenti prerequisiti:
- Crea un progetto per le tue TPU come descritto in Configurare un progetto per le TPU.
- Determina i requisiti della TPU come descritto in Pianificare le risorse.
Crea un MIG con sezioni TPU multi-host
- Crea un template di istanza.
- Crea una policy del workload.
- Crea il MIG.
Crea un template di istanza
Il comando per creare un template di istanza dipende dall'opzione di consumo che utilizzi: on demand, Spot, con prenotazione o avvio flessibile. Per saperne di più sulle opzioni di consumo, consulta Pianificare le risorse TPU.
Crea un modello di istanza per una VM TPU on demand
Il seguente comando crea un template di istanza utilizzando l'opzione di consumo on demand:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
Sostituisci i seguenti segnaposto:
INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.MACHINE_TYPE: il tipo di macchina per la VM TPU, ad esempioct6e-standard-8t.IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore èubuntu-os-accelerator-images.
Crea un modello di istanza per una VM spot TPU
Il seguente comando crea un template di istanza utilizzando l'opzione di 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
Sostituisci i seguenti segnaposto:
INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.MACHINE_TYPE: il tipo di macchina per la VM TPU, ad esempioct6e-standard-8t.IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore èubuntu-os-accelerator-images.
Crea un modello di istanza per una VM associata a una prenotazione TPU
Il seguente comando crea un template di istanza utilizzando l'opzione di consumo vincolata alla prenotazione:
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
Sostituisci i seguenti segnaposto:
INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.MACHINE_TYPE: il tipo di macchina per la VM TPU, ad esempioct6e-standard-8t.RESERVATION_NAME: il nome della prenotazione specifica da utilizzare.IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore èubuntu-os-accelerator-images.
Crea un modello di istanza per una VM TPU con avvio flessibile
Il seguente comando crea un template di istanza utilizzando l'opzione di consumo avvio flessibile:
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
Sostituisci i seguenti segnaposto:
INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.MACHINE_TYPE: il tipo di macchina per la VM TPU, ad esempioct6e-standard-8t.DURATION: la durata massima per cui la VM TPU può essere eseguita.IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag--image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore èubuntu-os-accelerator-images.
Crea una policy del workload
Devi creare una policy del workload con il parametro accelerator-topology (ad esempio, 4x4, 8x8 o 4x4x4). La topologia dell'acceleratore configura il MIG in modo che tratti le istanze come una singola sezione interconnessa.
Il seguente comando crea una policy del workload:
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
--type=high-throughput \
--accelerator-topology=TOPOLOGY \
--region=REGION
Sostituisci i seguenti segnaposto:
WORKLOAD_POLICY_NAME: Il nome della policy del workload.TOPOLOGY: la topologia delle VM TPU, ad esempio4x4x8. Per maggiori informazioni sulla topologia per ogni versione di TPU, vedi Architettura di sistema.REGION: la regione per la policy del tuo carico di lavoro.
Crea un MIG
Crea un MIG a livello di zona o di regione utilizzando il
comando gcloud compute instance-groups managed create
come segue:
Per creare un MIG a livello di zona contenente una sezione TPU multi-host, utilizza il seguente comando:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONE \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URLPer creare un MIG a livello di regione contenente una sezione TPU multi-host, utilizza il seguente comando:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URL \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none
Sostituisci i seguenti segnaposto:
MIG_NAME: il nome del tuo MIG.MIG_SIZE: il numero di VM nel MIG.INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un template di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Per un template di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un template di istanza regionale:
ZONE: La zona per il tuo MIG.REGION: La regione per il tuo MIG.WORKLOAD_POLICY_URL: l'URL del criterio del workload che vuoi utilizzare per creare istanze nel MIG. Ad esempio:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.
Crea VM con nomi personalizzati in un MIG
Puoi creare VM in un MIG specificando nomi personalizzati per ogni VM. Questa attività è utile per il debug e per garantire che le istanze vengano create in un ordine specifico.
I MIG che contengono una sezione TPU multi-host utilizzano la modalità in blocco della policy di dimensione target. Quando crei VM con nomi personalizzati in un MIG di questo tipo, si applica quanto segue:
Devi prima verificare che il MIG non contenga VM. Se il MIG ha VM, devi ridimensionare il MIG in modo che abbia le dimensioni target
0o creare un altro MIG con le dimensioni target0.Puoi utilizzare l'API REST solo per creare VM con nomi personalizzati.
Crea VM con nomi personalizzati utilizzando uno dei seguenti metodi dell'API REST:
Per un MIG a livello di zona, utilizza
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" }, ... ] }Per un MIG a livello di regione, utilizza
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" }, ... ] }
Sostituisci i seguenti segnaposto:
PROJECT_ID: l'ID del progetto in cui esiste il gruppo di istanze gestite.ZONE: la zona del gruppo di istanze gestite.REGION: la regione del gruppo di istanze gestite.INSTANCE_NAME_1,2,..: i nomi delle VM da aggiungere al MIG specificato.
Passaggi successivi
- Scopri di più sulle VM TPU e sui MIG.
- Scopri come creare un MIG con una sezione Cloud TPU a singolo host.
- Scopri come gestire le VM TPU.
- Scopri di più sulle TPU in GKE.
- Scopri come eseguire un workload ML sulle TPU, ad esempio Eroga Qwen2-72B-Instruct con vLLM sulle TPU.