TPU v5e
Ce document décrit l'architecture et les configurations compatibles de Cloud TPU v5e.
Les TPU v5e sont compatibles avec l'entraînement à hôte unique et multi-hôtes, ainsi qu'avec l'inférence à hôte unique. L'inférence multi-hôtes est prise en charge à l'aide de Sax. Pour en savoir plus, consultez Inférence Cloud TPU.
Architecture du système
Chaque puce v5e contient un TensorCore. Chaque TensorCore comporte quatre unités de multiplication matricielle (MXU), une unité vectorielle et une unité scalaire.
Le schéma suivant illustre une puce TPU v5e.
Le tableau suivant présente les principales spécifications de la puce et leurs valeurs pour la version v5e.
Caractéristiques techniques de la puce | Valeurs v5e |
---|---|
Puissance de calcul maximale par puce (bf16) | 197 TFLOPS |
Capacité et bande passante HBM2 | 16 Go, 819 Gbit/s |
Bande passante d'interconnexion entre puces | 1 600 Gbit/s |
Le tableau suivant présente les spécifications des pods et leurs valeurs pour la version 5e.
Caractéristiques techniques des pods | Valeurs v5e |
---|---|
Taille du pod TPU | 256 puces |
Topologie d'interconnexion | Tore 2D |
Puissance de calcul maximale par pod | 100 PétaOps (Int8) |
Bande passante All-Reduce par pod | 51,2 To/s |
Bande passante bissectionnelle par pod | 1,6 To/s |
Bande passante réseau de centre de données par pod | 6,4 Tbit/s |
Configurations
Cloud TPU v5e est un produit combinant entraînement et inférence (mise en service). Pour faire la distinction entre un environnement d'entraînement et un environnement d'inférence, utilisez le paramètre AcceleratorType
avec l'API TPU ou le flag --machine-type
lors de la création d'un pool de nœuds Google Kubernetes Engine (GKE).
Les jobs d'entraînement sont optimisés pour le débit et la disponibilité, tandis que les jobs de mise en service sont optimisés pour la latence. Un job d'entraînement sur des TPU provisionnés pour la mise en service peut avoir une disponibilité plus faible. De même, un job de mise en service exécuté sur des TPU provisionnés pour l'entraînement peut avoir une latence plus élevée.
Vous utilisez AcceleratorType
pour spécifier le nombre de TensorCores que vous souhaitez utiliser.
Vous spécifiez le paramètre AcceleratorType
lorsque vous créez un TPU à l'aide de la gcloud CLI ou de la consoleGoogle Cloud . La valeur que vous spécifiez pour AcceleratorType
est une chaîne au format suivant : v$VERSION_NUMBER-$CHIP_COUNT
.
Les formes de tranche 2D suivantes sont prises en charge pour la version 5e :
Topologie | Nombre de puces TPU | Nombre d'hôtes |
---|---|---|
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 |
Types de VM
Chaque VM TPU dans une tranche TPU v5e contient 1, 4 ou 8 puces. Dans les tranches de quatre puces ou moins, toutes les puces TPU partagent le même nœud NUMA (Non-Uniform Memory Access).
Pour les VM TPU v5e à huit puces, la communication entre le processeur et le TPU sera plus efficace dans les partitions NUMA. Par exemple, dans la figure suivante, la communication CPU0-Chip0
sera plus rapide que la communication CPU0-Chip4
.
Le tableau suivant présente une comparaison des types de VM TPU v5e :
Type de VM | Type de machine (API GKE) | Nombre de processeurs virtuels par VM | RAM (Go) par VM | Nombre de nœuds NUMA par VM |
---|---|---|---|---|
VM à une seule puce | ct5lp-hightpu-1t |
24 | 48 | 1 |
VM à quatre puces | ct5lp-hightpu-4t |
112 | 192 | 1 |
VM à huit puces | ct5lp-hightpu-8t |
224 | 384 | 2 |
Types de Cloud TPU v5e pour la mise en service
La mise en service à hôte unique est prise en charge avec un maximum de huit puces v5e. Les configurations suivantes sont acceptées : 1x1, 2x2 et 2x4 tranches. Chaque tranche comporte respectivement 1, 4 et 8 puces.
Pour provisionner des TPU pour un job de mise en service, utilisez l'un des types d'accélérateur suivants dans votre requête de création de TPU via la CLI ou l'API :
AcceleratorType (API TPU) | Type de machine (API GKE) |
---|---|
v5litepod-1 |
ct5lp-hightpu-1t |
v5litepod-4 |
ct5lp-hightpu-4t |
v5litepod-8 |
ct5lp-hightpu-8t |
La commande suivante crée une tranche TPU v5e avec huit puces v5e pour la mise en service :
$ gcloud compute tpus tpu-vm create your-tpu-name \ --zone=us-central1-a \ --accelerator-type=v5litepod-8 \ --version=v2-alpha-tpuv5-lite
Pour en savoir plus sur la gestion des TPU, consultez Gérer des TPU. Pour en savoir plus sur l'architecture système de Cloud TPU, consultez Architecture système.
La mise en service sur plus de huit puces v5e, également appelée mise en service multi-hôtes, est prise en charge à l'aide de Sax. Pour en savoir plus, consultez Inférence Cloud TPU.
Types de Cloud TPU v5e pour l'entraînement
L'entraînement est pris en charge avec un maximum de 256 puces.
Pour provisionner des TPU pour un job d'entraînement v5e, utilisez l'un des types d'accélérateur suivants dans votre requête de création de TPU via la CLI ou l'API :
AcceleratorType (API TPU) | Type de machine (API GKE) | Topologie |
---|---|---|
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 |
La commande suivante crée une tranche TPU v5e avec 256 puces v5e pour l'entraînement :
$ gcloud compute tpus tpu-vm create your-tpu-name \ --zone=us-east5-a \ --accelerator-type=v5litepod-256 \ --version=v2-alpha-tpuv5-lite
Pour en savoir plus sur la gestion des TPU, consultez Gérer des TPU. Pour en savoir plus sur l'architecture système de Cloud TPU, consultez Architecture système.