TPU v5e
Ce document décrit l'architecture et les configurations compatibles de Cloud TPU v5e.
Le TPU v5e est compatible avec l'entraînement à hôte unique et multi-hôte, ainsi qu'avec l'inférence à hôte unique. L'inférence multi-hôte est compatible avec Sax. Pour en savoir plus, consultez Diffusion de grands modèles de langage.
Architecture du système
Chaque puce v5e contient un TensorCore. Chaque TensorCore possède quatre unités de multiplication de matrice (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.
Principales caractéristiques des puces | Valeurs v5e |
Calcul de pointe par puce (bf16) | 197 TFLOPS |
Capacité et bande passante de la mémoire HBM2 | 16 Go, 819 Gbit/s |
Bande passante de l'interconnexion entre puces | 1 600 Gbit/s |
Le tableau suivant présente les spécifications des pods et leurs valeurs pour la version v5e.
Principales caractéristiques du pod | Valeurs v5e |
Taille du pod TPU | 256 chips |
Topologie d'interconnexion | Torus 2D |
Calcul de pointe par pod | 100 péta-OPS(Int8) |
Bande passante de réduction globale par pod | 51,2 To/s |
Bande passante bisectionnelle par pod | 1,6 To/s |
Bande passante du réseau du centre de données par pod | 6,4 Tbit/s |
Configurations
Cloud TPU v5e est un produit combiné d'entraînement et d'inférence (inférence). Pour distinguer un environnement d'entraînement d'un environnement d'inférence, utilisez les options AcceleratorType
ou AcceleratorConfig
avec l'API TPU ou l'option --machine-type
lorsque vous créez un pool de nœuds GKE.
Les jobs d'entraînement sont optimisés pour le débit et la disponibilité, tandis que les jobs de diffusion sont optimisés pour la latence. Une tâche d'entraînement sur des TPU provisionnés pour la diffusion peut avoir une disponibilité plus faible. De même, une tâche de diffusion exécutée 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 AcceleratorType
lorsque vous créez un TPU à l'aide de gcloud CLI ou de la console Google Cloud. La valeur que vous spécifiez pour AcceleratorType
est une chaîne au format v$VERSION_NUMBER-$CHIP_COUNT
.
Vous pouvez également utiliser AcceleratorConfig
pour spécifier le nombre de TensorCores que vous souhaitez utiliser. Toutefois, comme il n'existe pas de variantes de topologie 2D personnalisées pour le TPU v5e, il n'y a aucune différence entre l'utilisation de AcceleratorConfig
et de AcceleratorType
.
Pour configurer un TPU v5e à l'aide de AcceleratorConfig
, utilisez les options --version
et --topology
. Définissez --version
sur la version de TPU que vous souhaitez utiliser et --topology
sur la disposition physique des puces de TPU dans la tranche. La valeur que vous spécifiez pour AcceleratorConfig
est une chaîne au format AxB
, où A
et B
sont les nombres de puces dans chaque direction.
Les formes de tranche 2D suivantes sont compatibles avec 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 |
Chaque VM TPU d'une tranche TPU v5e contient une, quatre ou huit puces. Dans les tranches à quatre puces et plus petites, toutes les puces TPU partagent le même nœud d'accès à la mémoire non uniforme (NUMA).
Pour les VM TPU v5e à 8 puces, la communication CPU-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
.
Types de Cloud TPU v5e pour la diffusion
La diffusion sur un seul hôte est compatible avec jusqu'à huit puces v5e. Les configurations suivantes sont acceptées: 1x1, 2x2 et 2x4. Chaque tranche comporte respectivement une, quatre et huit puces.
Pour provisionner des TPU pour une tâche de diffusion, utilisez l'un des types d'accélérateurs suivants dans votre demande 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 diffusion sur plus de huit puces v5e, également appelée diffusion multi-hôte, est prise en charge à l'aide de Sax. Pour en savoir plus, consultez la section Service de grands modèles de langage.
Types de Cloud TPU v5e pour l'entraînement
L'entraînement est accepté pour un maximum de 256 puces.
Pour provisionner des TPU pour une tâche d'entraînement v5e, utilisez l'un des types d'accélérateurs 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 |
Comparaison des types de VM TPU v5e:
Type de VM | n2d-48-24-v5lite-tpu | n2d-192-112-v5lite-tpu | n2d-384-224-v5lite-tpu |
Nombre de puces v5e | 1 | 4 | 8 |
Nombre de vCPU | 24 | 112 | 224 |
RAM (Go) | 48 | 192 | 384 |
Nombre de nœuds NUMA | 1 | 1 | 2 |
Applicable à | v5litepod-1 | v5litepod-4 | v5litepod-8 |
Interruption | Élevée | Moyenne | Faible |
Pour libérer de l'espace pour les charges de travail qui nécessitent plus de puces, les planificateurs peuvent préempter les VM avec moins de puces. Les VM à 8 chips sont donc susceptibles de préempter les VM à 1 et 4 chips.