TPU v6e

Ce document décrit l'architecture et les configurations compatibles de Cloud TPU v6e (Trillium).

Trillium est la dernière génération d'accélérateurs d'IA Cloud TPU. Sur toutes les surfaces techniques, telles que l'API et les journaux, et tout au long de ce document, Trillium sera désigné par le terme "v6e".

Avec une empreinte de 256 puces par pod, la v6e présente de nombreuses similitudes avec la v5e. Ce système est optimisé pour être le produit le plus intéressant pour l'entraînement, le réglage fin et le service des transformateurs, des réseaux de neurones convolutifs (CNN) et des modèles de conversion de texte en image.

Architecture du système

Chaque puce v6e contient un TensorCore. Chaque TensorCore comporte deux unités de multiplication de matrice (MXU), une unité vectorielle et une unité scalaire. Le tableau suivant présente les principales spécifications et leurs valeurs pour les TPU v6e par rapport aux TPU v5e.

Spécification v5e v6e
Performances/coût total de possession (TCO) (attendu) x 0,65 1
Puissance de calcul maximale par puce (bf16) 197 TFLOPS 918 TFLOPS
Puissance de calcul maximale par puce (Int8) 393 TOPS 1836 TOPS
Capacité HBM par puce 16 Go 32 Go
Bande passante HBM par puce 819 Gbit/s 1 640 Go/s
Bande passante d'interconnexion entre puces (ICI) 1 600 Gbit/s 3 584 Gbit/s
Ports ICI par puce 4 4
DRAM par hôte 512 Gio 1536 GiB
Chips par hôte 8 8
Taille du pod TPU 256 jetons 256 jetons
Topologie d'interconnexion Tore 2D Tore 2D
Puissance de calcul maximale BF16 par pod 50,63 PFLOPS 234,9 PFLOPS
Bande passante All-Reduce par pod 51,2 To/s 102,4 To/s
Bande passante bissectionnelle par pod 1,6 To/s 3,2 To/s
Configuration des cartes d'interface réseau par hôte 2 cartes d'interface réseau 100 Gbit/s 4 cartes d'interface réseau de 200 Gbit/s
Bande passante du réseau du centre de données par pod 6,4 Tbit/s 25,6 Tbit/s
Fonctionnalités spéciales - SparseCore

Configurations compatibles

Le tableau suivant présente les formes de tranche 2D compatibles avec v6e :

Topologie Puces TPU Hôtes VM Type d'accélérateur (API TPU) Type de machine (API GKE) Champ d'application
1x1 1 1/8 1 v6e-1 ct6e-standard-1t Sous-hôte
2x2 4 1/2 1 v6e-4 ct6e-standard-4t Sous-hôte
2x4 8 1 1 v6e-8 ct6e-standard-8t Un seul hôte
2x4 8 1 2 - ct6e-standard-4t Un seul hôte
4x4 16 2 4 v6e-16 ct6e-standard-4t Hôte multiple
4x8 32 4 8 v6e-32 ct6e-standard-4t Hôte multiple
8x8 64 8 16 v6e-64 ct6e-standard-4t Hôte multiple
8x16 128 16 32 v6e-128 ct6e-standard-4t Hôte multiple
16x16 256 32 64 v6e-256 ct6e-standard-4t Hôte multiple

Les tranches comportant huit puces (v6e-8) associées à une seule VM sont optimisées pour l'inférence, ce qui permet d'utiliser les huit puces dans une même charge de travail de diffusion. Vous pouvez effectuer une inférence multi-hôte à l'aide de Pathways on Cloud. Pour en savoir plus, consultez Effectuer une inférence multihôte à l'aide de Pathways.

Pour en savoir plus sur le nombre de VM pour chaque topologie, consultez Types de VM.

Types de VM

Chaque VM TPU v6e peut contenir une, quatre ou huit puces. Les tranches de quatre puces ou moins ont le même nœud NUMA (Non-Uniform Memory Access). Pour en savoir plus sur les nœuds NUMA, consultez Non-uniform memory access sur Wikipédia.

Schéma d'un hôte v6e

Les tranches v6e sont créées à l'aide de VM à demi-hôte, chacune avec quatre puces TPU. Il existe deux exceptions à cette règle :

  • v6e-1 : VM avec un seul processeur, principalement destinée aux tests
  • v6e-8 : VM hôte complet optimisée pour un cas d'utilisation d'inférence avec les huit puces associées à une seule VM.

Le tableau suivant compare les types de VM TPU v6e :

Type de VM Nombre de processeurs virtuels par VM RAM (Go) par VM Nombre de nœuds NUMA par VM
VM à un seul processeur 44 176 1
VM à quatre puces 180 720 1
VM à huit puces 180 1440 2

Spécifier la configuration v6e

Lorsque vous allouez une tranche TPU v6e à l'aide de l'API TPU, vous spécifiez sa taille et sa forme à l'aide du paramètre AcceleratorType.

Si vous utilisez GKE, utilisez l'indicateur --machine-type pour spécifier un type de machine compatible avec le TPU que vous souhaitez utiliser. Pour en savoir plus, consultez la section Planifier les TPU dans GKE de la documentation GKE.

Utiliser AcceleratorType

Lorsque vous allouez des ressources TPU, vous utilisez AcceleratorType pour spécifier le nombre de TensorCores dans une tranche. La valeur que vous spécifiez pour AcceleratorType est une chaîne au format v$VERSION-$TENSORCORE_COUNT. Par exemple, v6e-8 spécifie une tranche TPU v6e avec huit TensorCores.

L'exemple suivant montre comment créer une tranche de TPU v6e avec 32 TensorCores à l'aide de AcceleratorType :

gcloud

    $ gcloud compute tpus tpu-vm create tpu-name \
        --zone=zone \
        --accelerator-type=v6e-32 \
        --version=v2-alpha-tpuv6e

Console

  1. Dans la console Google Cloud , accédez à la page TPU :

    Accéder aux TPU

  2. Cliquez sur Créer un TPU.

  3. Dans le champ Nom, saisissez le nom de votre TPU.

  4. Dans le champ Zone, sélectionnez la zone dans laquelle vous souhaitez créer le TPU.

  5. Dans le champ Type de TPU, sélectionnez v6e-32.

  6. Dans le champ Version logicielle du TPU, sélectionnez v2-alpha-tpuv6e. Lorsque vous créez une VM Cloud TPU, la version logicielle TPU spécifie la version de l'environnement d'exécution TPU à installer. Pour en savoir plus, consultez Images de VM TPU.

  7. Cliquez sur le bouton Activer la mise en file d'attente.

  8. Dans le champ Nom de la ressource mise en file d'attente, saisissez le nom de votre demande de ressource mise en file d'attente.

  9. Cliquez sur Créer.

Étapes suivantes