Le Tensor Processing Unit (TPU) sono circuiti integrati specifici per le applicazioni (ASIC) sviluppati da Google e progettati per accelerare i workload di machine learning (ML) e intelligenza artificiale (AI). Che tu stia addestrando modelli di base complessi per settimane o eseguendo inferenze su larga scala, le TPU offrono risorse di computing specializzate e scalabili, ottimizzate per framework come JAX e PyTorch.
Le Cloud TPU sono progettate per gestire i workload AI più impegnativi. I vantaggi principali includono:
Ottimizzazione per i calcoli matriciali: le TPU sono progettate specificamente con unità di moltiplicazione a matrice (MXU) per eseguire le enormi operazioni matriciali fondamentali per gli algoritmi di ML con un'efficienza eccezionale.
Memoria a larghezza di banda elevata (HBM): la memoria a larghezza di banda elevata on-chip consente di addestrare e pubblicare modelli più grandi e di utilizzare in modo efficace dimensioni di batch più grandi.
Grande scalabilità con le sezioni: i chip TPU possono essere collegati in gruppi chiamati sezioni. Le sezioni consentono ai tuoi workload di scalare fino a migliaia di chip TPU per job di addestramento di grandi dimensioni.
Quando utilizzare le TPU
Le TPU sono ottimizzate per workload specifici, ad esempio:
- Modelli dominati da calcoli di matrici
- Modelli senza operazioni PyTorch/JAX personalizzate all'interno del loop di addestramento principale
- Modelli che vengono addestrati per settimane o mesi
- Modelli di grandi dimensioni con grandi dimensioni di batch effettive
- Modelli con embedding ultra-large comuni nei workload di ranking e suggerimenti avanzati
Le TPU non sono adatte ai seguenti workload:
- Programmi di algebra lineare che richiedono frequenti ramificazioni o contengono molte operazioni di algebra element-wise
- Workload che richiedono calcoli aritmetici ad alta precisione
- Workload di reti neurali che contengono operazioni personalizzate nel loop di addestramento principale
Opzioni di provisioning su Google Cloud
Puoi accedere alle TPU ed eseguirne il provisioning utilizzando i seguenti prodotti Google Cloud a seconda delle tue esigenze operative.
Compute Engine
Compute Engine consente di creare e gestire singole VM o sezioni TPU, offrendo la possibilità di gestire l'intero ciclo di vita delle VM TPU. Google consiglia di utilizzare Compute Engine anziché l'API Cloud TPU legacy per eseguire il provisioning delle risorse TPU.
Per saperne di più, consulta Risorse Cloud TPU in Compute Engine.
Google Kubernetes Engine
Google Kubernetes Engine (GKE) fornisce un ambiente Kubernetes multi-tenant completamente gestito per l'orchestrazione di workload di AI su larga scala. GKE supporta la gestione del ciclo di vita dei nodi e dei pool di nodi TPU, inclusa la creazione, la configurazione e l'eliminazione delle VM TPU.
Per saperne di più, consulta Informazioni sulle TPU in GKE.
Batch
Batch è un servizio completamente gestito che consente di pianificare, inserire in coda ed eseguire workload containerizzati o basati su script eseguiti su VM TPU di Compute Engine.
Per scoprire di più, consulta Crea ed esegui un job Batch che utilizza le TPU.
Cloud TPU
L'API Cloud TPU, incluse Google Cloud CLI e le librerie client di Cloud per Cloud TPU, non è più in fase di sviluppo. Per il provisioning e la gestione delle risorse TPU, Google consiglia di utilizzare Compute Engine o GKE, in base alle tue esigenze di orchestrazione e workload.
Per saperne di più, consulta Esegui la migrazione dall'API Cloud TPU.
Versioni TPU supportate in Compute Engine
Compute Engine supporta le seguenti versioni di TPU:
- TPU7x (Ironwood)
- TPU v6e (Trillium)
- TPU v5p
Per ulteriori informazioni su ogni versione di TPU, consulta Macchine TPU.
Passaggi successivi
- Scopri di più sulle risorse Cloud TPU in Compute Engine
- Scopri di più sull'hardware TPU