TPU v3

Ce document décrit l'architecture et les configurations compatibles 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 spécifications de clé 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 du HBM2 32 Gio, 900 Gbit/s
Puissance minimale/moyenne/maximale mesurée 123/220/262 W
Taille du pod TPU 1024 puces
Topologie d'interconnexion Tore 2D
Pic de calcul par pod 126 pétaflops (bf16)
Bande passante entièrement réduite 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 sur la page Un superordinateur spécifique à un domaine pour l'entraînement de réseaux de neurones profonds.

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

L'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 des avantages significatifs en termes de performances par TensorCore pour les modèles subordonnés au calcul. Les modèles subordonnés à la mémoire sur les configurations TPU v2 peuvent ne pas obtenir cette même amélioration des performances s'ils sont également limités à la mémoire sur les configurations TPU v3.

  • Dans les cas où les données ne tiennent pas en mémoire sur les configurations TPU v2, TPU v3 peut améliorer les performances et réduire le recalcul 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, 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. Ce guide peut vous aider à résoudre les problèmes de flux d'entrée.

Configurations

Un pod TPU v3 est composé de 1 024 puces interconnectées avec des liaisons à haut débit. Pour créer un appareil ou une tranche de pod TPU v3, utilisez l'option --accelerator-type dans la commande de création TPU (gcloud compute tpus tpu-vm). Spécifiez le type d'accélérateur en spécifiant la version de TPU et le nombre de cœurs de TPU. Par exemple, pour un seul TPU v3, utilisez --accelerator-type=v3-8. Pour une tranche de pod v3 comportant 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 la page Architecture système.