Machines TPU dans la famille de machines optimisées pour les accélérateurs

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)
  • Modèles denses et MoE (Mixture-of-Experts) à grande échelle
  • Pré-entraînement intensif pour les modèles de fondation massifs
  • Échantillonnage et inférence avec décodage intensif
TPU v6e (Trillium)
  • Entraînement et réglage fin (Transformers, CNN)
  • Inférence à grande échelle (Gemma 2, Llama, modèles de diffusion)
  • Moteurs de recommandation et personnalisation (avec SparseCore)
TPU v5p
  • Performances optimales pour l'entraînement de modèles de fondation à grande échelle
  • Entraînement d'IA multimodale à grande échelle
  • Charges de travail à forte densité d'embedding, comme les grands systèmes de recommandation

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
remises remises remises
remises remises remises

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-1t avec une seule puce TPU est principalement destiné aux tests.
  • ct6e-standard-8t est 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-4t avec une topologie 2x2x2 est 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
  • Topologie : 2x2x1
  • Nombre de puces TPU pour la topologie : 4
  • Nombre d'hôtes : 1
  • Nombre de VM : 1
  • Nombre de cubes : 1/16
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 2x2x2
  • Nombre de puces TPU pour la topologie : 8
  • Nombre d'hôtes : 2
  • Nombre de VM : 2
  • Nombre de cubes : 1/8
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 2x2x4
  • Nombre de puces TPU pour la topologie : 16
  • Nombre d'hôtes : 4
  • Nombre de VM : 4
  • Nombre de cubes : 1/4
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 2x4x4
  • Nombre de puces TPU pour la topologie : 32
  • Nombre d'hôtes : 8
  • Nombre de VM : 8
  • Nombre de cubes : 1/2
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 4x4x4
  • Nombre de puces TPU pour la topologie : 64
  • Nombre d'hôtes : 16
  • Nombre de VM : 16
  • Nombre de cubes : 1
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 4x4x8
  • Nombre de puces TPU pour la topologie : 128
  • Nombre d'hôtes : 32
  • Nombre de VM : 32
  • Nombre de cubes : 2
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 4x8x8
  • Nombre de puces TPU pour la topologie : 256
  • Nombre d'hôtes : 64
  • Nombre de VM : 64
  • Nombre de cubes : 4
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 8x8x8
  • Nombre de puces TPU pour la topologie : 512
  • Nombre d'hôtes : 128
  • Nombre de VM : 128
  • Nombre de cubes : 8
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : 8x8x16
  • Nombre de puces TPU pour la topologie : 1 024
  • Nombre d'hôtes : 256
  • Nombre de VM : 256
  • Nombre de cubes : 16
TPU7x (Ironwood) tpu7x-standard-4t Multi-hôtes
  • Topologie : {A}x{B}x{C} (où A, B et C sont des multiples de deux)
  • Nombre de puces TPU pour la topologie : A*B*C
  • Nombre d'hôtes : (A*B*C)/4
  • Nombre de VM : (A*B*C/4)
  • Nombre de cubes : (A*B*C/64)
TPU v6e (Trillium) ct6e-standard-1t Hôte unique
  • Topologie : 1x1
  • Nombre de puces TPU pour la topologie : 1
  • Nombre de VM : 1
TPU v6e (Trillium) ct6e-standard-8t Hôte unique
  • Topologie : 2x4
  • Nombre de puces TPU pour la topologie : 8
  • Nombre de VM : 1
TPU v6e (Trillium) ct6e-standard-4t Hôte unique
  • Topologie : 2x2
  • Nombre de puces TPU pour la topologie : 4
  • Nombre de VM : 1
TPU v6e (Trillium) ct6e-standard-4t Multi-hôtes
  • Topologie : 2x4
  • Nombre de puces TPU pour la topologie : 8
  • Nombre de VM : 2
TPU v6e (Trillium) ct6e-standard-4t Multi-hôtes
  • Topologie : 4x4
  • Nombre de puces TPU pour la topologie : 16
  • Nombre de VM : 4
TPU v6e (Trillium) ct6e-standard-4t Multi-hôtes
  • Topologie : 4x8
  • Nombre de puces TPU pour la topologie : 32
  • Nombre de VM : 8
TPU v6e (Trillium) ct6e-standard-4t Multi-hôtes
  • Topologie : 8x8
  • Nombre de puces TPU pour la topologie : 64
  • Nombre de VM : 16
TPU v6e (Trillium) ct6e-standard-4t Multi-hôtes
  • Topologie : 8x16
  • Nombre de puces TPU pour la topologie : 128
  • Nombre de VM : 32
TPU v6e (Trillium) ct6e-standard-4t Multi-hôtes
  • Topologie : 16x16
  • Nombre de puces TPU pour la topologie : 256
  • Nombre de VM : 64
TPU v5p ct5p-hightpu-4t Hôte unique
  • Topologie : 2x2x1
  • Nombre de puces TPU pour la topologie : 4
  • Nombre de VM : 1
TPU v5p ct5p-hightpu-4t Multi-hôtes
  • Topologie : 2x2x2
  • Nombre de puces TPU pour la topologie : 8
  • Nombre de VM : 2
TPU v5p ct5p-hightpu-4t Multi-hôtes
  • Topologie : 2x2x4
  • Nombre de puces TPU pour la topologie : 16
  • Nombre de VM : 4
TPU v5p ct5p-hightpu-4t Multi-hôtes
  • Topologie : 2x4x4
  • Nombre de puces TPU pour la topologie : 32
  • Nombre de VM : 8
TPU v5p ct5p-hightpu-4t Multi-hôtes
  • Topologie : {A}x{B}x{C} (où A, B et C sont des multiples de deux)
  • Nombre de puces TPU pour la topologie : A*B*C
  • Nombre de VM : (A*B*C/4)1
  1. Calcul effectué en divisant le produit de topologie par quatre.

Étapes suivantes