Questo documento descrive le istanze di Compute Engine della famiglia di macchine ottimizzate per l'acceleratore con Tensor Processing Unit (TPU). Le TPU sono circuiti integrati per applicazioni specifiche (ASIC) sviluppati da Google e ottimizzati appositamente per i workload 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.
Nozioni di base sull'architettura TPU
Comprendere i concetti fondamentali 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 su matrici di grandi dimensioni. Ogni TensorCore è 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-accumulo per ciclo senza accesso costante alla memoria. Sebbene venga utilizzato principalmente per l'elaborazione di matrici ad alta velocità, il chip TPU include anche unità vettoriali e scalari per operazioni di calcolo generale e di flusso di controllo.
pod di TPU: un pod di TPU è un insieme contiguo di TPU raggruppate su una rete specializzata. Il numero di chip TPU in un pod di TPU dipende dalla versione di TPU.
Istanza TPU: un'istanza di computing Linux che viene eseguita su un host TPU e ha accesso diretto all'hardware TPU sottostante, offrendo accesso a librerie ad alte prestazioni, connettività SSH e log di debug di runtime.
Sezione TPU: un gruppo logico di chip TPU interconnessi, a cui si accede tramite una o più istanze TPU. Le sezioni hanno uno dei seguenti ambiti:
- Slice single-host: uno slice costituito da una macchina host. In generale, questo corrisponde a un'istanza TPU.
- Slice multi-host: una slice costituita da più istanze 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: gli SparseCore sono processori di flussi di dati che accelerano i modelli utilizzando operazioni sparse. Un caso d'uso principale è l'accelerazione dei modelli di suggerimento, che si basano molto sugli embedding.
Versioni TPU: l'architettura esatta di un chip TPU dipende dalla versione TPU che utilizzi. Ogni versione di 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 TPU consigliate per tipo di workload
La scelta del modello di TPU giusto dipende dalle caratteristiche di calcolo, dai requisiti di memoria e dalle esigenze di scalabilità del tuo workload. Seleziona una delle seguenti schede per visualizzare i suggerimenti.
Addestramento AI/ML
Pre-addestramento di modelli di grandi dimensioni: addestramento di modelli di grandi dimensioni da zero. Questi workload sono vincolati al calcolo e alla comunicazione.
Ottimizzazione e distillazione dei modelli: adattamento dei modelli esistenti utilizzando metodi efficienti in termini di parametri o addestramento di varianti di modelli più piccoli.
Inferenza AI/ML
Pubblicazione di modelli online: deployment di modelli per l'interazione in tempo reale in cui la bassa latenza è fondamentale. Questi workload sono limitati dalla larghezza di banda della memoria durante la generazione sequenziale dei token.
- Funzionalità TPU richiesta: larghezza di banda HBM elevata e SRAM on-chip di grandi dimensioni per ridurre al minimo la latenza di recupero dei dati.
- Versioni TPU consigliate:
Esecuzione dell'inferenza batch: elaborazione di set di dati di grandi dimensioni offline, dove l'obiettivo principale è un throughput elevato. Questi workload sono limitati dalla potenza di calcolo durante la fase di precompilazione del prompt.
- Funzionalità TPU richiesta: alta densità di calcolo per massimizzare il throughput per dollaro.
- Versioni TPU consigliate:
Sistemi del motore per suggerimenti
- Elaborazione di embedding di grandi dimensioni: addestramento e distribuzione di modelli di suggerimento che utilizzano tabelle di embedding di grandi dimensioni. Questi workload sono vincolati
alla capacità e alla comunicazione.
- Funzionalità TPU richiesta: hardware SparseCore specializzato per elaborare operazioni sparse in parallelo, grande capacità HBM e supporto per l'offload nella memoria host.
- Versioni TPU consigliate:
Apprendimento per rinforzo
Esecuzione di loop di apprendimento per rinforzo: gestione di workload ibridi che richiedono loop stretti di generazione di campioni e aggiornamento dei pesi delle policy.
Opzioni di consumo
Per ottimizzare l'utilizzo delle risorse e i costi, bilanciando al contempo le prestazioni dei workload, Compute Engine supporta le seguenti opzioni di consumo delle TPU:
Prima di richiedere le risorse, devi disporre di una quota on demand sufficiente per il tipo e la quantità specifici di istanze TPU. On demand è l'opzione di consumo più flessibile, ma non garantisce che siano disponibili risorse on demand sufficienti per soddisfare la tua richiesta.
Spot: per eseguire il provisioning di VM spot, puoi ottenere sconti significativi, ma le VM spot possono essere prerilasciate in qualsiasi momento, con un preavviso di 30 secondi. Per saperne di più, consulta Informazioni sulle VM spot.
Avvio flessibile: per eseguire il provisioning di {flex_start_vms_name} per un massimo di sette giorni, con Compute Engine che alloca automaticamente l'hardware secondo il principio del "best effort" in base alla disponibilità. Per ulteriori informazioni, consulta Informazioni sulle {flex_start_vms_name}.
Prenotazione futura per blocchi di capacità: per richiedere una prenotazione futura per un anno o più. Per saperne di più, consulta Richiedi 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ù, consulta 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 in base alle versioni di TPU
La tabella seguente riassume la disponibilità di ogni opzione di consumo in base alle versioni TPU.
| Versione TPU | On demand | Spot | Avvio flessibile | Prenotazioni on demand | Prenotazioni future | Prenotazioni future in modalità calendario1 | Prenotazioni future per blocchi di capacità |
|---|---|---|---|---|---|---|---|
| 2 | 2 | 2 | 2 | ||||
1 Non puoi creare richieste di prenotazione futura in modalità calendario quando utilizzi la modalità Capacità totale.
2 Le prenotazioni spot, con avvio flessibile e future in modalità calendario, nonché le prenotazioni future per i blocchi di capacità per TPU7x, sono limitate da una lista consentita. Per richiedere l'accesso, contatta il tuo team dedicato all'account o il team di vendita.
Modalità Tutta la capacità
Per impostazione predefinita, le prenotazioni di TPU includono il recupero automatico dagli errori. Cloud de Confiance gestisce questo processo sostituendo automaticamente le macchine TPU difettose con macchine integre della capacità prenotata per garantire che le risorse siano disponibili per riavviare le sezioni TPU.
In alternativa, per TPU v6e e TPU7x, puoi richiedere la capacità TPU in modalità All Capacity. Questa modalità concede l'accesso alla capacità riservata completa e alla visibilità completa della topologia. In questa modalità, puoi anche scegliere come target blocchi o sottoblocchi specifici per un posizionamento preciso dei workload sensibili alla topologia. Tuttavia, sei responsabile della gestione degli errori hardware e della manutenzione.
Per saperne di più su queste modalità, consulta Modalità di capacità TPU nella documentazione di Cloud TPU.
Confronto delle 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 di 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 | 44-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 principali per ogni versione di TPU.
| Specifica | TPU7x | TPU v6e | TPU v5p |
|---|---|---|---|
| Numero di chip per pod | 9216 | 256 | 8960 |
| Picco di computing per chip (BF16) (TFLOP) | 2307 | 918 | 459 |
| Calcolo di picco per chip (FP8) (TFLOP) | 4614 | 918 | 459 |
| Capacità HBM per chip (GiB) | 192 | 32 | 95 |
| Larghezza di banda HBM per chip (GBps) | 7380 | 1638 | 2765 |
| Numero di vCPU (VM a 4 chip) | 224 | 180 | 208 |
| RAM (GiB) (VM a 4 chip) | 960 | 720 | 448 |
| Numero di TensorCore per chip | 2 | 1 | 2 |
| Numero di SparseCore per chip | 4 | 2 | 4 |
| Larghezza di banda Inter-Chip Interconnect (ICI) bidirezionale 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 di TPU.
TPU7x (Ironwood)
Ogni macchina virtuale (VM) TPU7x contiene 4 chip TPU. Tutte le sezioni TPU7x utilizzano VM full-host con 4 chip.
Ogni chip TPU7x contiene due TensorCore e quattro SparseCore.
Il modello di programmazione di Ironwood ti consente di accedere a due dispositivi TPU anziché a un'architettura single-core logica utilizzata nelle generazioni precedenti. Per saperne di più, consulta 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 saperne di più 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 quanto segue:
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 singolo workload di distribuzione.
| 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 TPU v6e, consulta TPU v6e nella documentazione di Cloud TPU.
TPU v5p
Un pod TPU v5p è composto da 8960 chip TPU interconnessi con link ad alta velocità riconfigurabili. Il networking flessibile di TPU v5p ti consente di connettere i chip TPU in una sezione della stessa dimensione in diversi modi. L'addestramento a sezione singola è 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 |
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 |
Host singolo |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
Host singolo |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
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 |
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 |
|
-
Calcolato dividendo per quattro il prodotto della topologia. ↩
Passaggi successivi
- Scopri di più sulle risorse TPU in Compute Engine
- Prova la guida rapida: Crea una singola VM TPU