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ô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 Inférer avec Cloud TPU.

Architecture du système

Chaque puce v5e contient un TensorCore. Chaque TensorCore comporte quatre unités de multiplication de matrice (MXU), une unité vectorielle et une unité scalaire.

Le schéma suivant illustre un chip TPU v5e.

Schéma d'une puce v5e

Le tableau suivant indique les principales caractéristiques de la puce et leurs valeurs pour la v5e.

Caractéristiques de la puce de la clé 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 les puces 1 600 Gbit/s

Le tableau suivant présente les spécifications des pods et leurs valeurs pour la version 5e.

Spécifications principales du Nest Key Valeurs v5e
Taille du pod TPU 256 jetons
Topologie d'interconnexion Tore 2D
Puissance de calcul maximale par pod 100 PetaOps (Int8)
Bande passante All-Reduce par pod 51,2 To/s
Bande passante bissectionnelle 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 combinant entraînement et inférence (diffusion). Pour faire la différence entre un environnement d'entraînement et un environnement d'inférence, utilisez le paramètre AcceleratorType avec l'API TPU ou l'indicateur --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 diffusion sont optimisés pour la latence. Un job d'entraînement sur des TPU provisionnés pour le service peut avoir une disponibilité plus faible. De même, un job de 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 AcceleratorType lorsque vous créez une TPU à l'aide de 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 acceptées 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 d'une tranche de 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.

Communication des nœuds NUMA

Le tableau suivant compare les 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 à un seul processeur 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 le serving

Le serving à hôte unique est compatible 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.

Configurations de TPU v5e compatibles avec le service : 1x1, 2x2 et 2x4.

Pour provisionner des TPU pour une tâche de diffusion, utilisez l'un des types d'accélérateurs suivants dans votre requête de création de TPU CLI ou 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 un slice TPU v5e avec huit puces v5e pour le 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 les TPU. Pour en savoir plus sur l'architecture système de Cloud TPU, consultez Architecture système.

La diffusion sur plus de huit puces v5e, également appelée diffusion multi-hôte, est compatible avec Sax. Pour en savoir plus, consultez Inférence Cloud TPU.

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érateur suivants dans votre requête de création de TPU CLI ou 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 un slice 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 les TPU. Pour en savoir plus sur l'architecture système de Cloud TPU, consultez Architecture système.