TPU v3
Questo documento descrive l'architettura e le configurazioni supportate di Cloud TPU v3.
Architettura di sistema
Ogni chip TPU v3 contiene due TensorCore. Ogni Tensor Core ha due unità di moltiplicazione a matrice (MXU), un'unità vettoriale e un'unità scalare. La seguente tabella mostra le specifiche chiave e i relativi valori per un pod di TPU v3.
| Specifiche principali | Valori del pod v3 |
|---|---|
| Picco di calcolo per chip | 123 teraflops (bf16) |
| Capacità e larghezza di banda HBM2 | 32 GiB, 900 GBps |
| Potenza minima/media/massima misurata | 123/220/262 W |
| Dimensioni del pod di TPU | 1024 chip |
| Topologia di interconnessione | Toro 2D |
| Picco di computing per pod | 126 petaFLOPS (bf16) |
| Larghezza di banda di All-reduce per pod | 340 TB/s |
| Larghezza di banda bisezionale per pod | 6,4 TB/s |
Il seguente diagramma illustra un chip TPU v3.

I dettagli dell'architettura e le caratteristiche di rendimento della TPU v3 sono disponibili in A Domain Specific Supercomputer for Training Deep Neural Networks.
Vantaggi in termini di prestazioni della TPU v3 rispetto alla v2
L'aumento dei FLOPS per TensorCore e della capacità di memoria nelle configurazioni TPU v3 può migliorare le prestazioni dei tuoi modelli nei seguenti modi:
Le configurazioni TPU v3 offrono vantaggi significativi in termini di prestazioni per TensorCore per i modelli con limiti di calcolo. I modelli con limiti di memoria nelle configurazioni TPU v2 potrebbero non ottenere lo stesso miglioramento delle prestazioni se hanno anche limiti di memoria nelle configurazioni TPU v3.
Nei casi in cui i dati non rientrano nella memoria delle configurazioni TPU v2, TPU v3 può fornire prestazioni migliori e ridurre il ricalcolo dei valori intermedi (rematerializzazione).
Le configurazioni TPU v3 possono eseguire nuovi modelli con dimensioni batch che non rientravano nelle configurazioni TPU v2. Ad esempio, la TPU v3 potrebbe consentire modelli ResNet più profondi e immagini più grandi con RetinaNet.
I modelli quasi vincolati all'input ("infeed") su TPU v2 perché i passaggi di addestramento sono in attesa dell'input potrebbero essere vincolati all'input anche con Cloud TPU v3. La guida al rendimento della pipeline può aiutarti a risolvere i problemi relativi ai feed.
Configurazioni
Un pod TPU v3 è composto da 1024 chip interconnessi con link ad alta velocità. Per
creare un dispositivo o una sezione TPU v3, utilizza il flag --accelerator-type
nel comando di creazione della TPU (gcloud compute tpus tpu-vm). Specifica il tipo di acceleratore indicando la
versione della TPU e il numero di core TPU. Ad esempio, per una singola TPU v3, utilizza
--accelerator-type=v3-8. Per una sezione v3 con 128 TensorCore, utilizza
--accelerator-type=v3-128.
La tabella seguente elenca i tipi di TPU v3 supportati:
| Versione TPU | Termine del supporto |
|---|---|
| v3-8 | (Data di fine non ancora impostata) |
| v3-32 | (Data di fine non ancora impostata) |
| v3-128 | (Data di fine non ancora impostata) |
| v3-256 | (Data di fine non ancora impostata) |
| v3-512 | (Data di fine non ancora impostata) |
| v3-1024 | (Data di fine non ancora impostata) |
| v3-2048 | (Data di fine non ancora impostata) |
Il seguente comando mostra come creare uno slice TPU v3 con 128 TensorCore:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=europe-west4-a \ --accelerator-type=v3-128 \ --version=tpu-ubuntu2204-base
Per saperne di più sulla gestione delle TPU, consulta Gestire le TPU. Per saperne di più sull'architettura di sistema di Cloud TPU, consulta la sezione Architettura di sistema.