TPU prerilasciabili
Le TPU prerilasciabili hanno un costo notevolmente inferiore rispetto alle TPU non prerilasciabili. Il servizio Cloud TPU potrebbe prerilasciare (chiudere) queste TPU in qualsiasi momento, se richiede risorse TPU aggiuntive.
Se stai creando una VM TPU prerilasciabile, utilizza il comando gcloud
.
Se stai creando un nodo TPU prerilasciabile, puoi utilizzare il comando gcloud
o la console. Per informazioni sulle differenze tra VM TPU e nodi TPU, vedi Architettura di sistema.
Creazione di una VM TPU prerilasciabile
gcloud
$ gcloud compute tpus tpu-vm create demo-tpu \
--zone=europe-west4-a \
--accelerator-type=v3-8 \
--version=tpu-vm-tf-2.11.0 \
--preemptible
dove:
demo-tpu
è il nome della TPU.- `--accelerator-type specifica il tipo di TPU.
--version
specifica la versione del software delle VM TPU da installare.--preemptible
consente a Cloud TPU di prerilasciare la TPU.
Creazione di un nodo TPU prerilasciabile
Console
- Vai alla pagina TPU nella sezione Compute Engine della pagina principale.
- Fai clic su CREA NODO TPU per aprire la pagina di creazione del nodo TPU.
- Digita un nome per il nodo TPU.
- Seleziona la zona in cui creare il nodo TPU.
- Seleziona un tipo di TPU per il tuo nodo TPU.
- Fai clic su Attiva prerilasciabilità per questo nodo per rendere il tuo nodo TPU prerilasciabile.
- Seleziona la versione di Tensorflow o PyTorch da installare sulla tua VM.
gcloud
$ gcloud compute tpus execution-groups create \
--name=demo-tpu \
--zone=europe-west4-a \
--accelerator-type=v3-8 \
--tf-version=2.11.0 \
--preemptible
dove:
demo-tpu
è il nome della TPU.- `--accelerator-type specifica il tipo di TPU.
--tf-version
specifica la versione di Tensorflow o PyTorch da installare sulla VM.--preemptible
consente a Cloud TPU di prerilasciare la TPU.
Con i nodi TPU, lo stato prerilasciabile di una TPU è indipendente dallo stato prerilasciabile della tua istanza VM.
Prezzi e quota delle TPU prerilasciabili
Il prezzo delle TPU prerilasciabili è notevolmente inferiore rispetto alle TPU normali. Per i dettagli, consulta la pagina dei prezzi. Non viene addebitato alcun costo per le TPU se vengono prerilasciate nel primo minuto dopo la creazione.
La quota per le TPU prerilasciabili è generalmente superiore e separata dalla quota per le TPU normali. Consulta la pagina della quota.
Rilevamento se una TPU è stata prerilasciata
Utilizza il seguente comando gcloud
per verificare se il servizio Cloud TPU ha prerilasciato la tua TPU:
Elenca le tue TPU disponibili:
VM TPU
gcloud compute tpus tpu-vm list --zone=us-central1-b
Nodo TPU
(vm)$ gcloud compute tpus list --zone=us-central1-b
Il comando sopra mostra i dettagli delle TPU create nel tuo progetto. Se una
TPU è stata prerilasciata, lo stato passa da READY
a PREEMPTED
.
Ad esempio:
NAME ZONE ACCELERATOR_TYPE NETWORK_ENDPOINT NETWORK RANGE STATUS demo-tpu us-central1-b v2-8 10.240.1.2:8470 default 10.240.1.0/29 PREEMPTED
TPU e VM prerilasciabili (solo nodi TPU)
Come descritto nella guida rapida per il tuo framework, è necessaria una macchina virtuale (VM) di Compute Engine per connetterti a una TPU. Tieni presente che lo stato prerilasciabile della TPU è indipendente dallo stato prerilasciabile della VM. Puoi definire la tua TPU come prerilasciabile e la VM come non prerilasciabile, o viceversa. Puoi anche definire entrambi gli elementi come prerilasciabili.
La combinazione più probabile è una TPU prerilasciabile e una VM non prerilasciabile. Tieni presente quanto segue:
- I costi per la VM probabilmente sono bassi rispetto a quelli per la TPU. I costi delle VM dipendono dal tipo di macchina utilizzato. Consulta la pagina dei prezzi per un semplice esempio dei costi relativi.
- Cloud TPU non coordina il prerilascio della VM e della TPU. Se le definisci come prerilasciabili, la VM e la TPU possono essere prerilasciate in momenti diversi.
- Se Compute Engine prerilascia la tua VM, ti viene comunque addebitato il costo della TPU (a meno che non venga prerilasciata). Tieni presente che la TPU è inattiva mentre la VM viene prerilasciata.
- Le istanze prerilasciabili, sia per le VM Compute Engine sia per le istanze Cloud TPU, vengono sempre prerilasciate dopo che sono state eseguite per 24 ore. determinate azioni hanno reimpostato questo contatore di 24 ore.
Rilevamento se un'istanza VM è stata prerilasciata (solo nodi TPU)
Per verificare se l'istanza VM è stata prerilasciata, utilizza il comando gcloud compute operations list
per ottenere un elenco di operazioni recenti del sistema. Aggiungi un filtro name
per visualizzare solo le istanze attualmente in esecuzione o aggiungi il filtro operationType
per visualizzare solo le risorse prerilasciate.
Ad esempio, utilizza il comando seguente per visualizzare solo le istanze con il nome specificato:
$ gcloud compute operations list--filter="name=( 'NAME' my-vm)"
L'esempio seguente mostra solo le risorse che sono state prerilasciate:
$ gcloud compute operations list --filter="operationType=compute.instances.preempted"
Per maggiori dettagli, consulta la guida di Compute Engine.
Progettazione dell'applicazione di machine learning per l'esecuzione su TPU prerilasciabili
Assicurati che la tua applicazione sia resiliente ai riavvii di VM e TPU, salvando regolarmente i checkpoint del modello e configurando l'applicazione in modo che ripristini il checkpoint più recente al riavvio.