Questo documento descrive le istanze Compute Engine nella famiglia di macchine ottimizzate per l'acceleratore che dispongono di Tensor Processing Unit (TPU). Le TPU sono circuiti integrati specifici per le applicazioni (ASIC) sviluppati da Google e ottimizzati appositamente per i carichi di lavoro di intelligenza artificiale (AI) e machine learning (ML).
Compute Engine supporta le seguenti versioni di TPU:
- TPU7x
- TPU v6e
- TPU v5p
Ogni tipo di macchina all'interno di una versione ha una topologia specifica e un numero di chip TPU collegati.
Concetti fondamentali dell'architettura TPU
Comprendere i fondamenti dell'architettura TPU ti aiuta a scegliere la versione della TPU e il tipo di macchina per il tuo workload.
Chip TPU: un chip TPU è un acceleratore specializzato progettato da Google per il machine learning. Ogni chip TPU contiene uno o più TensorCore per gestire operazioni con matrici di grandi dimensioni. Ogni Tensor Core è costituito da una o più unità di moltiplicazione a matrice (MXU), che utilizzano un'architettura di array sistolica per eseguire migliaia di operazioni di moltiplicazione e accumulo per ciclo senza accesso costante alla memoria. Sebbene utilizzato principalmente per l'elaborazione di matrici ad alta velocità, il chip TPU include anche unità vettoriali e scalari per operazioni di calcolo e flusso di controllo generali.
pod di TPU: un pod di TPU è un insieme contiguo di TPU raggruppate in una rete specializzata. Il numero di chip TPU in un pod di TPU dipende dalla versione di TPU.
VM TPU: una VM TPU è una macchina virtuale Linux che viene eseguita su un host TPU e ha accesso alle TPU sottostanti. Puoi connetterti direttamente alle VM TPU utilizzando SSH. Hai accesso root alla VM, quindi puoi eseguire codice arbitrario. Puoi accedere ai log di debug e ai messaggi di errore del compilatore e del runtime.
Sezione TPU: un gruppo logico di chip TPU interconnessi, a cui si accede tramite una o più VM TPU. Gli slice hanno uno dei seguenti ambiti:
- Slice a un solo host: uno slice costituito da una sola macchina host. In generale, questa operazione viene mappata a una VM TPU.
- Slice multi-host: una slice costituita da più VM TPU interconnesse tramite un'interconnessione inter-chip (ICI) ad alta velocità.
Cubo TPU: una topologia 4x4x4 di chip TPU interconnessi. Questo vale solo per le topologie 3D.
SparseCore: SparseCore sono processori di dataflow che accelerano i modelli utilizzando operazioni sparse. Un caso d'uso principale è l'accelerazione dei modelli di consigli, che si basano fortemente sugli incorporamenti.
Versioni TPU: l'architettura esatta di un chip TPU dipende dalla versione della TPU che utilizzi. Ogni versione della TPU supporta anche dimensioni e configurazioni di slice diverse.
Per informazioni sul funzionamento delle TPU, consulta il documento Architettura TPU nella documentazione di Cloud TPU.
Versioni di TPU consigliate per tipo di workload
| Versione TPU | Tipi di workload principali |
|---|---|
| TPU7x (Ironwood) |
|
| TPU v6e (Trillium) |
|
| TPU v5p |
|
Opzioni di consumo
Per ottimizzare l'utilizzo delle risorse e i costi bilanciando le prestazioni del workload, Compute Engine supporta le seguenti opzioni di consumo delle TPU:
On demand: per utilizzare le TPU senza organizzare la capacità in anticipo. Prima di richiedere risorse, devi disporre di una quota on demand sufficiente per il tipo e la quantità specifici di VM TPU. L'opzione di consumo su richiesta è la più flessibile, ma non è garantito che siano disponibili risorse su richiesta sufficienti per soddisfare la tua richiesta.
VM spot: per eseguire il provisioning delle VM spot, puoi ottenere sconti significativi, ma le VM spot possono essere prerilasciate in qualsiasi momento, con un avviso di 30 secondi. Per saperne di più, consulta Informazioni sulle VM spot.
Avvio flessibile: per eseguire il provisioning di VM con avvio flessibile per un massimo di sette giorni, con Compute Engine che alloca automaticamente l'hardware in base alla disponibilità. Per saperne di più, consulta Informazioni sulle VM con avvio flessibile.
Prenotazione futura: per richiedere una prenotazione futura per un anno o più. Per saperne di più, consulta Richiedere una prenotazione futura per un anno o più nella documentazione di Cloud TPU.
Prenotazione futura in modalità calendario: per eseguire il provisioning delle risorse TPU per un massimo di 90 giorni, per un periodo di tempo specificato. Per saperne di più, vedi Informazioni sulle richieste di prenotazione futura in modalità calendario.
On demand è il modello di consumo predefinito per le TPU se non specifichi un'altra opzione.
Per informazioni sul modello di provisioning sottostante che attiva l'opzione di consumo, consulta Informazioni sui modelli di provisioning delle VM.
Disponibilità delle opzioni di consumo per versione di TPU
La tabella seguente riassume la disponibilità di ciascuna opzione di consumo in base alle versioni della TPU.
| Versione TPU | On demand | Spot | Avvio flessibile | Prenotazioni on demand | Prenotazioni future | Prenotazioni future in modalità calendario |
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | ||||
1 Le prenotazioni spot, con avvio flessibile e future in modalità calendario per TPU7x sono limitate da una lista consentita. Per richiedere l'accesso, contatta il tuo team dedicato all'account o il team di vendita.
Confronto tra le versioni di TPU
Confronta le caratteristiche delle diverse versioni di TPU. Puoi selezionare proprietà specifiche nel campo Scegli le proprietà da confrontare per confrontarle in tutte le versioni della TPU riportate nella seguente tabella.
| Ottimizzata per l'acceleratore | Ottimizzata per l'acceleratore | Ottimizzata per l'acceleratore |
| VM | VM | VM |
| Intel Emerald Rapids | AMD EPYC Genoa | Intel Sapphire Rapids |
| x86 | x86 | x86 |
| 224 | Da 44 a 180 | 208 |
| Thread | Thread | Thread |
| 960 GB | 176-1440 GB | 448 GB |
| NUMA | NUMA | NUMA |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| NVMe | NVMe | NVMe |
| — | ||
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| — | — | — |
| — | — | — |
| gVNIC | gVNIC | gVNIC |
| 400 Gbps | 50-400 Gbps | 200 Gbps |
| 4 | 8 | 4 |
| — | — | — |
| — | — | — |
Specifiche dell'architettura TPU
La tabella seguente elenca le specifiche chiave per ogni versione della TPU.
| Specifica | TPU7x | TPU v6e | TPU v5p |
|---|---|---|---|
| Numero di chip per pod | 9216 | 256 | 8960 |
| Picco di calcolo per chip (BF16) (TFLOP) | 2307 | 918 | 459 |
| Picco di calcolo per chip (FP8) (TFLOP) | 4614 | 918 | 459 |
| Capacità HBM per chip (GiB) | 192 | 32 | 95 |
| Larghezza di banda HBM per chip (GiBps) | 7380 | 1638 | 2575 |
| Numero di vCPU (VM a 4 chip) | 224 | 180 | 208 |
| RAM (GiB) (VM a 4 chip) | 960 | 720 | 448 |
| Numero di Tensor Core per chip | 2 | 1 | 2 |
| Numero di SparseCore per chip | 4 | 2 | 4 |
| Larghezza di banda bidirezionale di interconnessione tra chip (ICI) per chip (GBps) | 1200 | 800 | 1200 |
| Larghezza di banda della rete del data center (DCN) per chip (Gbps) | 100 | 100 | 50 |
Tipi di macchine TPU
Le sezioni seguenti descrivono i tipi di macchine disponibili per ogni versione della TPU.
TPU7x (Ironwood)
Ogni macchina virtuale (VM) TPU7x contiene 4 chip TPU. Tutte le sezioni TPU7x utilizzano VM full-host a 4 chip.
Ogni chip TPU7x contiene due TensorCore e quattro SparseCore.
Il modello di programmazione Ironwood ti consente di accedere a due dispositivi TPU anziché a un'architettura con un singolo core logico utilizzata nelle generazioni precedenti. Per maggiori informazioni, consulta la sezione Architettura dual-chiplet nella documentazione di Cloud TPU.
| Tipo di macchina | Numero di vCPU | Memoria istanza (GiB) | Numero di NIC fisiche | Larghezza di banda massima della rete (Gbps) | Numero di chip TPU per VM | Numero di nodi NUMA | Memoria TPU totale (GiB HBM) |
|---|---|---|---|---|---|---|---|
tpu7x-standard-4t |
224 | 960 | 2 | 400 | 4 | 2 | 768 |
Per ulteriori informazioni sull'architettura TPU7x, consulta TPU7x (Ironwood) nella documentazione di Cloud TPU.
TPU v6e (Trillium)
Ogni VM TPU v6e può contenere 1, 4 o 8 chip TPU. Le sezioni a 4 chip e più piccole hanno lo stesso nodo NUMA (accesso alla memoria non uniforme).
Le sezioni v6e vengono create utilizzando VM half-host, ciascuna con 4 chip TPU, ad eccezione di:
ct6e-standard-1tcon un solo chip TPU è destinato principalmente ai test.ct6e-standard-8tè una VM full-host ottimizzata per un caso d'uso di inferenza, che consente di utilizzare tutti gli 8 chip TPU collegati a una singola VM in un unico workload di gestione.
| Tipo di macchina | Numero di vCPU | Memoria istanza (GB) | Numero di NIC fisiche | Larghezza di banda massima della rete (Gbps) | Numero di chip TPU per VM | Numero di nodi NUMA | Memoria TPU totale (GiB HBM) |
|---|---|---|---|---|---|---|---|
ct6e-standard-1t |
44 | 176 | 1/4 | 50 | 1 | 1 | 32 |
ct6e-standard-4t |
180 | 720 | 2 | 400 | 4 | 1 | 128 |
ct6e-standard-8t |
360 | 1440 | 1 | 200 | 8 | 2 | 256 |
Per saperne di più sull'architettura di TPU v6e, consulta la sezione TPU v6e nella documentazione di Cloud TPU.
TPU v5p
Un pod TPU v5p è composto da 8960 chip TPU interconnessi con link riconfigurabili ad alta velocità. La rete flessibile di TPU v5p ti consente di connettere i chip TPU in una slice delle stesse dimensioni in più modi. L'addestramento su una singola sezione è supportato per un massimo di 6144 chip TPU.
| Tipo di macchina | Numero di vCPU | Memoria istanza (GB) | Numero di NIC fisiche | Larghezza di banda massima della rete (Gbps) | Numero di chip TPU per VM | Numero di nodi NUMA | Memoria TPU totale (GiB HBM) |
|---|---|---|---|---|---|---|---|
ct5p-hightpu-4t |
208 | 448 | 1 | 200 | 4 | 2 | 380 |
Per saperne di più sull'architettura TPU v5p, consulta TPU v5p nella documentazione di Cloud TPU.
Topologia TPU
La topologia definisce la disposizione fisica delle TPU all'interno di una sezione TPU. A seconda della versione della TPU, la topologia è bidimensionale o tridimensionale. Puoi identificare il numero di chip TPU in una sezione calcolando il prodotto di ogni dimensione nella topologia. Ad esempio:
- Il tipo di macchina
tpu7x-standard-4tcon una topologia2x2x2è una sezione TPU7x multi-host a 8 chip.
La tabella seguente elenca le topologie disponibili per ogni versione di TPU.
| Versione TPU | Tipo di macchina | Ambito | Specifiche tecniche |
|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard-4t |
A host singolo |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-host |
|
| TPU v6e (Trillium) | ct6e-standard-1t |
A host singolo |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
A host singolo |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
A host singolo |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-host |
|
| TPU v5p | ct5p-hightpu-4t |
A host singolo |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-host |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-host |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-host |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-host |
|
-
Viene calcolato dividendo il prodotto della topologia per quattro. ↩
Passaggi successivi
- Scopri di più sulle risorse TPU in Compute Engine
- Prova la guida rapida: Crea una singola VM TPU