TPU v3

Ce document décrit l'architecture et les configurations prises en charge de Cloud TPU v3.

Architecture du système

Chaque puce TPU v3 contient deux TensorCores. Chaque TensorCore comporte deux unités de multiplication matricielle (MXU), une unité vectorielle et une unité scalaire. Le tableau suivant présente les principales caractéristiques et leurs valeurs pour un pod TPU v3.

Caractéristiques clés Valeurs des pods v3
Pic de calcul par puce 123 téraflops (bf16)
Capacité et bande passante HBM2 32 Gio, 900 Go/s
Puissance minimale/moyenne/maximale mesurée 123/220/262 O
Taille du pod TPU 1024 puces
Topologie d'interconnexion Tore 2D
Pic de calcul par pod 126 pétaflops (bf16)
Réduction globale de la bande passante par pod 340 To/s
Bande passante bissectionnelle par pod 6,4 To/s

Le schéma suivant illustre une puce TPU v3.

Schéma d'une puce TPU v3

Les détails de l'architecture et les caractéristiques de performances du TPU v3 sont disponibles dans Un superordinateur spécifique à un domaine pour l'entraînement des réseaux de neurones profonds

Avantages en termes de performances des TPU v3 par rapport aux TPU v2

Augmentation du nombre de FLOPS par TensorCore et de la capacité de mémoire dans les configurations TPU v3 peut améliorer les performances de vos modèles de différentes manières:

  • Les configurations TPU v3 offrent d'importants avantages en termes de performances par TensorCore pour les modèles subordonnés au calcul. Modèles subordonnés à la mémoire sur TPU v2 peuvent ne pas obtenir cette amélioration des performances sont également liées à la mémoire sur les configurations TPU v3.

  • Si les données ne tiennent pas dans la mémoire sur les configurations TPU v2, TPU v3 peut offrir de meilleures performances et réduire le recalcul des des valeurs intermédiaires (rematérialisation).

  • Les configurations TPU v3 peuvent exécuter de nouveaux modèles avec des tailles de lots supérieures à celles acceptées par les configurations TPU v2. Par exemple, le TPU v3 peut autoriser des modèles ResNet plus profonds et des images plus grandes avec RetinaNet.

Les modèles qui, avec un TPU v2, sont presque subordonnés au flux d'entrée ("infeed") parce que certaines étapes d'entraînement attendent une entrée, peuvent également être subordonnés aux entrées avec Cloud TPU v3. La le guide sur les performances du pipeline peut vous aider à résoudre les problèmes de flux d'alimentation.

Configurations

Un pod TPU v3 est composé de 1 024 puces interconnectées avec des liaisons à haut débit. À créer un appareil ou une tranche de pod TPU v3, utilisez --accelerator-type dans la commande de création de TPU (gcloud compute tpus tpu-vm). Pour spécifier le type d'accélérateur, vous devez spécifier la Version de TPU et nombre de cœurs de TPU. Par exemple, pour un seul TPU v3, utilisez --accelerator-type=v3-8 Pour une tranche de pod v3 avec 128 TensorCores, utilisez --accelerator-type=v3-128

La commande suivante montre comment créer une tranche de pod TPU v3 avec 128 TensorCores:

  $ gcloud compute tpus tpu-vm create tpu-name \
    --zone=zone \
    --accelerator-type=v3-128 \
    --version=tpu-vm-tf-2.16.1-pjrt

Le tableau suivant répertorie les types de TPU v3 compatibles:

Version du TPU Fin de la compatibilité
v3-8 (Date de fin pas encore fixée)
v3-32 (Date de fin pas encore fixée)
v3-128 (Date de fin pas encore fixée)
v3-256 (Date de fin pas encore fixée)
v3-512 (Date de fin pas encore fixée)
v3-1024 (Date de fin pas encore fixée)
v3-2048 (Date de fin pas encore fixée)

Pour en savoir plus sur la gestion des TPU, consultez la page Gérer les TPU. Pour en savoir plus sur l'architecture système de Cloud TPU, consultez Architecture du système.