Ce document décrit les instances Compute Engine de la famille de machines optimisées pour les accélérateurs qui disposent d'unités de traitement Tensor (TPU). Les TPU sont des circuits intégrés propres à une application (ASIC) spécifiquement développés par Google et optimisés pour les charges de travail d'intelligence artificielle (IA) et de machine learning (ML).
Compute Engine est compatible avec les versions de TPU suivantes :
- TPU7x
- TPU v6e
- TPU v5p
Chaque type de machine d'une version est associé à une topologie spécifique et à un nombre de puces TPU.
Principes de base de l'architecture TPU
Comprendre les principes fondamentaux de l'architecture TPU vous aide à choisir la version et le type de machine TPU pour votre charge de travail.
Puce TPU : accélérateur spécialisé conçu par Google pour le machine learning. Chaque puce TPU contient un ou plusieurs TensorCores pour gérer les opérations matricielles massives. Chaque TensorCore se compose d'une ou plusieurs unités de multiplication matricielle (MXU), qui utilisent une architecture de tableau systolique pour effectuer des milliers d'opérations de multiplication-accumulation par cycle sans accès constant à la mémoire. Bien qu'elle soit principalement utilisée pour le traitement matriciel à haute vitesse, la puce TPU comprend également des unités vectorielles et scalaires pour les opérations de calcul général et de flux de contrôle.
Pod TPU : un pod TPU est un ensemble contigu de TPU regroupés sur un réseau spécialisé. Le nombre de puces TPU dans un pod TPU dépend de la version du TPU.
VM TPU : une VM TPU est une machine virtuelle Linux qui s'exécute sur un hôte TPU et a accès aux TPU sous-jacents. Vous pouvez vous connecter directement aux VM TPU à l'aide de SSH. Vous disposez d'un accès root à la VM, ce qui vous permet d'exécuter le code de votre choix. Vous pouvez accéder aux journaux de débogage du compilateur et de l'environnement d'exécution, ainsi qu'aux messages d'erreur.
Tranche de TPU : groupe logique de puces TPU interconnectées, accessible via une ou plusieurs VM TPU. Les tranches ont l'une des portées suivantes :
- Tranche à hôte unique : tranche composée d'une seule machine hôte. En général, cela correspond à une VM TPU.
- Tranche multi-hôte : tranche composée de plusieurs VM TPU interconnectées à l'aide d'une interconnexion entre puces (ICI) à haut débit.
Cube TPU : topologie 4x4x4 de puces TPU interconnectées. Cela ne s'applique qu'aux topologies 3D.
SparseCore : les SparseCores sont des processeurs Dataflow qui accélèrent les modèles à l'aide d'opérations éparses. L'un des principaux cas d'utilisation est l'accélération des modèles de recommandation qui reposent fortement sur les embeddings.
Versions de TPU : l'architecture exacte d'une puce TPU dépend de la version de TPU que vous utilisez. Chaque version de TPU prend aussi en charge différentes tailles et configurations de tranche.
Pour en savoir plus sur le fonctionnement des TPU, consultez le document Architecture des TPU dans la documentation Cloud TPU.
Versions de TPU recommandées par type de charge de travail
| Version du TPU | Principaux types de charges de travail |
|---|---|
| TPU7x (Ironwood) |
|
| TPU v6e (Trillium) |
|
| TPU v5p |
|
Options de consommation
Pour optimiser l'utilisation des ressources et les coûts tout en équilibrant les performances des charges de travail, Compute Engine propose les options de consommation de TPU suivantes :
À la demande : pour consommer des TPU sans avoir à organiser la capacité à l'avance. Avant de demander des ressources, vous devez disposer d'un quota à la demande suffisant pour le type et la quantité spécifiques de VM TPU. L'option à la demande est la plus flexible. Toutefois, il n'est pas garanti que suffisamment de ressources à la demande seront disponibles pour répondre à votre demande.
VM Spot : vous pouvez bénéficier de remises importantes pour provisionner des VM Spot, mais celles-ci peuvent être préemptées à tout moment, avec un avertissement de 30 secondes. Pour en savoir plus, consultez À propos des VM Spot.
Démarrage flexible : pour provisionner des VM à démarrage flexible pendant sept jours maximum, Compute Engine alloue automatiquement le matériel au mieux en fonction de la disponibilité. Pour en savoir plus, consultez À propos des VM à démarrage flexible.
Réservation future : pour demander une réservation future pour un an ou plus. Pour en savoir plus, consultez Demander une réservation future pour un an ou plus dans la documentation Cloud TPU.
Réservation future en mode Agenda : permet de provisionner des ressources TPU pour une durée maximale de 90 jours, pour une période spécifiée. Pour en savoir plus, consultez À propos des demandes de réservations futures en mode Agenda.
Le modèle de consommation à la demande est défini par défaut pour les TPU si vous ne spécifiez pas d'autre option.
Pour en savoir plus sur le modèle de provisionnement sous-jacent qui permet l'option de consommation, consultez À propos des modèles de provisionnement de VM.
Options de consommation disponibles par version de TPU
Le tableau suivant récapitule les options de consommation disponibles par version de TPU.
| Version du TPU | À la demande | Spot | Démarrage flexible | Réservations à la demande | Réservations futures | Réservations futures en mode Agenda |
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | ||||
1 Les réservations Spot, à démarrage flexible et futures en mode Agenda pour les TPU7x sont limitées par une liste d'autorisation. Pour demander l'accès, contactez votre équipe chargée du compte ou l'équipe commerciale.
Comparaison des versions de TPU
Comparer les caractéristiques des différentes versions de TPU Vous pouvez sélectionner des propriétés spécifiques dans le champ Choisir les propriétés à comparer, afin de comparer ces propriétés sur toutes les versions de TPU dans le tableau ci-dessous.
| Optimisé pour les accélérateurs | Optimisé pour les accélérateurs | Optimisé pour les accélérateurs |
| VM | VM | VM |
| Intel Emerald Rapids | AMD EPYC Genoa | Intel Sapphire Rapids |
| x86 | x86 | x86 |
| 224 | De 44 à 180 | 208 |
| Fil de discussion | Fil de discussion | Fil de discussion |
| 960 Go | 176 à 1 440 Go | 448 Go |
| NUMA | NUMA | NUMA |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| NVMe | NVMe | NVMe |
| — | ||
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| — | — | — |
| — | — | — |
| gVNIC | gVNIC | gVNIC |
| 400 Gbit/s | 50 à 400 Gbit/s | 200 Gbit/s |
| 4 | 8 | 4 |
| — | — | — |
| — | — | — |
Spécifications de l'architecture des TPU
Le tableau suivant répertorie les principales spécifications pour chaque version de TPU.
| Spécification | TPU7x | TPU v6e | TPU v5p |
|---|---|---|---|
| Nombre de puces par pod | 9216 | 256 | 8 960 |
| Puissance de calcul maximale par puce (BF16) (TFLOPS) | 2307 | 918 | 459 |
| Puissance de calcul maximale par puce (FP8) (TFLOPS) | 4614 | 918 | 459 |
| Capacité de mémoire HBM par puce (Gio) | 192 | 32 | 95 |
| Bande passante HBM par puce (Gio/s) | 7380 | 1638 | 2575 |
| Nombre de vCPU (VM à quatre puces) | 224 | 180 | 208 |
| RAM (Gio) (VM à quatre puces) | 960 | 720 | 448 |
| Nombre de TensorCores par puce | 2 | 1 | 2 |
| Nombre de SparseCores par puce | 4 | 2 | 4 |
| Bande passante bidirectionnelle d'interconnexion entre puces (ICI) par puce (Go/s) | 1200 | 800 | 1200 |
| Bande passante réseau de centre de données (DCN) par puce (Gbit/s) | 100 | 100 | 50 |
Types de machines TPU
Les sections suivantes décrivent les types de machines disponibles pour chaque version de TPU.
TPU7x (Ironwood)
Chaque machine virtuelle (VM) TPU7x contient quatre puces TPU. Toutes les tranches TPU7x utilisent des VM à hôte complet et à quatre puces.
Chaque puce TPU7x contient deux TensorCores et quatre SparseCores.
Le modèle de programmation Ironwood vous permet d'accéder à deux appareils TPU au lieu d'une seule architecture de cœur logique utilisée dans les générations précédentes. Pour en savoir plus, consultez Architecture à double chiplet dans la documentation Cloud TPU.
| Type de machine | Nombre de processeurs virtuels | Mémoire de l'instance (Gio) | Nombre de cartes d'interface réseau physiques | Bande passante réseau maximale (Gbit/s) | Nombre de puces TPU par VM | Nombre de nœuds NUMA | Mémoire TPU totale (Gio HBM) |
|---|---|---|---|---|---|---|---|
tpu7x-standard-4t |
224 | 960 | 2 | 400 | 4 | 2 | 768 |
Pour en savoir plus sur l'architecture TPU7x, consultez TPU7x (Ironwood) dans la documentation Cloud TPU.
TPU v6e (Trillium)
Chaque VM TPU v6e peut contenir une, quatre ou huit puces TPU. Les tranches de quatre puces ou moins ont le même nœud NUMA (Non-Uniform Memory Access).
Les tranches v6e sont créées à l'aide de VM à demi-hôte, chacune avec quatre puces TPU, à l'exception des suivantes :
ct6e-standard-1tavec une seule puce TPU est principalement destiné aux tests.ct6e-standard-8test une VM à hôte complet optimisée pour un cas d'utilisation d'inférence, ce qui permet d'utiliser les huit puces TPU associées à une seule VM dans une même charge de travail de diffusion.
| Type de machine | Nombre de processeurs virtuels | Mémoire de l'instance (Go) | Nombre de cartes d'interface réseau physiques | Bande passante réseau maximale (Gbit/s) | Nombre de puces TPU par VM | Nombre de nœuds NUMA | Mémoire TPU totale (Gio 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 |
Pour en savoir plus sur l'architecture TPU v6e, consultez TPU v6e dans la documentation Cloud TPU.
TPU v5p
Un pod TPU v5p est composé de 8 960 puces TPU interconnectées par des liaisons reconfigurables à haut débit. La mise en réseau flexible des TPU v5p permet de connecter les puces TPU d'une tranche de même taille de plusieurs façons. L'entraînement utilisant une seule tranche est pris en charge jusqu'à un maximum de 6 144 puces TPU.
| Type de machine | Nombre de processeurs virtuels | Mémoire de l'instance (Go) | Nombre de cartes d'interface réseau physiques | Bande passante réseau maximale (Gbit/s) | Nombre de puces TPU par VM | Nombre de nœuds NUMA | Mémoire TPU totale (Gio HBM) |
|---|---|---|---|---|---|---|---|
ct5p-hightpu-4t |
208 | 448 | 1 | 200 | 4 | 2 | 380 |
Pour en savoir plus sur l'architecture TPU v5p, consultez TPU v5p dans la documentation Cloud TPU.
Topologie de TPU
La topologie définit la disposition physique des TPU dans une tranche de pod TPU. En fonction de la version du TPU, la topologie est bidimensionnelle ou tridimensionnelle. Vous pouvez identifier le nombre de puces TPU dans une tranche en calculant le produit de chaque taille dans la topologie. Exemple :
- Le type de machine
tpu7x-standard-4tavec une topologie2x2x2est une tranche TPU7x multihôte à huit puces.
Le tableau suivant répertorie les topologies disponibles pour chaque version de TPU.
| Version du TPU | Type de machine | Champ d'application | Spécifications techniques |
|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Hôte unique |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Multi-hôtes |
|
| TPU v6e (Trillium) | ct6e-standard-1t |
Hôte unique |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
Hôte unique |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Hôte unique |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-hôtes |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-hôtes |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-hôtes |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-hôtes |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-hôtes |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Multi-hôtes |
|
| TPU v5p | ct5p-hightpu-4t |
Hôte unique |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-hôtes |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-hôtes |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-hôtes |
|
| TPU v5p | ct5p-hightpu-4t |
Multi-hôtes |
|
-
Calcul effectué en divisant le produit de topologie par quatre. ↩
Étapes suivantes
- En savoir plus sur les ressources TPU dans Compute Engine
- Essayez le guide de démarrage rapide : Créer une VM TPU unique