TPU v5e
Questo documento descrive l'architettura e le configurazioni supportate di Cloud TPU v5e.
TPU v5e supporta l'addestramento con host singolo e multiplo e l'inferenza con host singolo. L'inferenza multi-host è supportata utilizzando Sax. Per ulteriori informazioni, consulta la sezione Pubblicazione di modelli linguistici di grandi dimensioni.
Architettura di sistema
Ogni chip v5e contiene un Tensor Core. Ogni Tensor Core ha quattro unità di moltiplicazione a matrice (MXU), un'unità vettoriale e un'unità scalare.
Il seguente diagramma illustra un chip TPU v5e.
La tabella seguente mostra le specifiche principali del chip e i relativi valori per la versione v5e.
Specifiche principali del chip | Valori v5e |
Potenza di calcolo di picco per chip (bf16) | 197 TFLOP |
Capacità e larghezza di banda HBM2 | 16 GB, 819 GB/s |
Interchip Interconnect BW | 1600 Gbps |
La seguente tabella mostra le specifiche dei pod e i relativi valori per la versione 5e.
Specifiche principali del pod | Valori v5e |
Dimensioni pod di TPU | 256 chip |
Topologia dell'interconnessione | Toroide 2D |
Potenza di picco per pod | 100 PetaOps(Int8) |
Larghezza di banda all-reduce per pod | 51,2 TB/s |
Larghezza di banda bisezionale per pod | 1,6 TB/s |
Larghezza di banda della rete del data center per pod | 6,4 Tbps |
Configurazioni
Cloud TPU v5e è un prodotto combinato di addestramento e inferenza (pubblicazione). Per distinguere un ambiente di addestramento da un ambiente di inferenza, utilizza i flag AcceleratorType
o AcceleratorConfig
con l'API TPU o il flag --machine-type
quando crei un pool di nodi GKE.
I job di addestramento sono ottimizzati per la velocità in transito e la disponibilità, mentre i job di pubblicazione sono ottimizzati per la latenza. Un job di addestramento su TPU di cui è stato eseguito il provisioning per l'erogazione potrebbe avere una disponibilità inferiore e, analogamente, un job di erogazione eseguito su TPU di cui è stato eseguito il provisioning per l'addestramento potrebbe avere una latenza più elevata.
Utilizza AcceleratorType
per specificare il numero di TensorCore che vuoi utilizzare.
Specifica AcceleratorType
quando crei una TPU utilizzando gcloud CLI o la console Google Cloud. Il valore specificato per AcceleratorType
è una stringa con il formato:v$VERSION_NUMBER-$CHIP_COUNT
.
Puoi anche utilizzare AcceleratorConfig
per specificare il numero di TensorCore che vuoi utilizzare. Tuttavia, poiché non esistono varianti di topologia 2D personalizzate per la TPU v5e, non c'è differenza tra l'utilizzo di AcceleratorConfig
e AcceleratorType
.
Per configurare una TPU v5e utilizzando AcceleratorConfig
, utilizza i flag --version
e --topology
. Imposta --version
sulla versione di TPU che vuoi utilizzare e
--topology
sulla disposizione fisica dei chip TPU nella sezione. Il valore specificato per AcceleratorConfig
è una stringa con il formato AxB
, dove A
e B
sono i conteggi dei chip in ogni direzione.
Per la versione 5e sono supportate le seguenti forme di slice 2D:
Topologia | Numero di chip TPU | Numero di host |
1x1 | 1 | 1/8 |
2x2 | 4 | 1/2 |
2x4 | 8 | 1 |
4x4 | 16 | 2 |
4x8 | 32 | 4 |
8x8 | 64 | 8 |
8x16 | 128 | 16 |
16x16 | 256 | 32 |
Ogni VM TPU in una sezione TPU v5e contiene 1, 4 o 8 chip. Nelle sezioni con 4 chip o meno, tutti i chip TPU condividono lo stesso nodo NUMA (Non Uniform Memory Access).
Per le VM TPU v5e a 8 chip, la comunicazione CPU-TPU sarà più efficiente all'interno delle partizioni NUMA. Ad esempio, nella figura seguente, la comunicazione CPU0-Chip0
sarà più rapida della comunicazione CPU0-Chip4
.
Tipi di Cloud TPU v5e per la pubblicazione
La pubblicazione su un singolo host è supportata per un massimo di 8 chip v5e. Sono supportate le seguenti configurazioni: slice 1x1, 2x2 e 2x4. Ogni sezione ha rispettivamente 1, 4 e 8 chip.
Per eseguire il provisioning delle TPU per un job di pubblicazione, utilizza uno dei seguenti tipi di acceleratore nella richiesta di creazione di TPU tramite l'API o la CLI:
AcceleratorType (API TPU) | Tipo di macchina (API GKE) |
---|---|
v5litepod-1 |
ct5lp-hightpu-1t |
v5litepod-4 |
ct5lp-hightpu-4t |
v5litepod-8 |
ct5lp-hightpu-8t |
La pubblicazione su più di 8 chip v5e, chiamata anche pubblicazione multi-host, è supportata utilizzando Sax. Per ulteriori informazioni, consulta la sezione Pubblicazione di modelli linguistici di grandi dimensioni.
Tipi di Cloud TPU v5e per l'addestramento
L'addestramento è supportato per un massimo di 256 chip.
Per eseguire il provisioning delle TPU per un job di addestramento v5e, utilizza uno dei seguenti tipi di acceleratore nella richiesta di creazione di TPU tramite CLI o API:
AcceleratorType (API TPU) | Tipo di macchina (API GKE) | Topologia |
---|---|---|
v5litepod-16 |
ct5lp-hightpu-4t |
4x4 |
v5litepod-32 |
ct5lp-hightpu-4t |
4x8 |
v5litepod-64 |
ct5lp-hightpu-4t |
8x8 |
v5litepod-128 |
ct5lp-hightpu-4t |
8x16 |
v5litepod-256 |
ct5lp-hightpu-4t |
16x16 |
Confronto dei tipi di VM TPU v5e:
Tipo di VM | n2d-48-24-v5lite-tpu | n2d-192-112-v5lite-tpu | n2d-384-224-v5lite-tpu |
N° di chip v5e | 1 | 4 | 8 |
Numero di vCPU | 24 | 112 | 224 |
RAM (GB) | 48 | 192 | 384 |
# of NUMA Nodes | 1 | 1 | 2 |
Si applica a | v5litepod-1 | v5litepod-4 | v5litepod-8 |
Interruzione | Alta | Medie | Bassa |
Per fare spazio ai carichi di lavoro che richiedono più chip, gli schedulatori possono eseguire l'anticipo delle VM con meno chip. Pertanto, le VM a 8 chip hanno maggiori probabilità di prelevare le VM a 1 e 4 chip.