Types et zones des TPU

Aperçu

Lorsque vous créez des nœuds TPU pour traiter vos charges de travail de machine learning, vous devez sélectionner un type de TPU. Le type de TPU définit la version de TPU, le nombre de cœurs de TPU et la quantité de mémoire de TPU disponible pour votre charge de travail de machine learning.

Par exemple, le type de TPU v2-8 définit un nœud TPU avec 8 cœurs TPU v2 et 64 Gio de mémoire TPU totale. Le type de TPU v3-2048 définit un nœud TPU avec 2 048 cœurs TPU v3 et 32 Tio de mémoire TPU totale.

Pour en savoir plus sur les différences matérielles entre les versions et les configurations de TPU, consultez la documentation sur l'architecture du système.

Pour connaître les tarifs des types de TPU dans chaque région, reportez-vous à la page Tarifs.

Un modèle qui s'exécute sur un type de TPU doit pouvoir s'exécuter sur un autre type de TPU sans aucun changement au code TensorFlow. Par exemple, le code v2-8 peut être exécuté sans modifications sur un code v3-8. Toutefois, la transition d'un type de TPU v2-8 ou v3-8 à un type de TPU plus grand, tel que v2-32 ou v3-128, nécessite un important travail d'ajustement et d'optimisation.

Types et zones des TPU

Les principales différences entre les types de TPU concernent le prix, les performances, la capacité de mémoire et la disponibilité de la zone.

Google Cloud Platform définit l'emplacement géographique des ressources de calcul physiques à l'aide de régions subdivisées en zones. Par exemple, la région us-central1 indique une région proche du centre géographique des États-Unis qui comporte les zones suivantes : us-central1-a, us-central1-b, us-central1-c et us-central1-f. Lorsque vous créez un nœud TPU, vous spécifiez la zone dans laquelle vous souhaitez le créer. Consultez la documentation relative aux ressources globales, régionales et zonales de Compute Engine pour en savoir plus sur les ressources régionales et zonales.

Vous pouvez configurer vos nœuds TPU avec les types de TPU suivants :

US

Type de TPU (v2) Cœurs de TPU v2 Mémoire de TPU totale Région/Zone
v2-8 8 64 Gio us-central1-b
us-central1-c
us-central1-f
v2-32 32 256 Gio us-central1-a
v2-128 128 1 Tio us-central1-a
v2-256 256 2 Tio us-central1-a
v2-512 512 4 Tio us-central1-a
Type de TPU (v3) Cœurs de TPU v3 Mémoire de TPU totale Zones disponibles
v3-8 8 128 Gio us-central1-a
us-central1-b
us-central1-f

Europe

Type de TPU (v2) Cœurs de TPU v2 Mémoire de TPU totale Région/Zone
v2-8 8 64 Gio europe-west4-a
v2-32 32 256 Gio europe-west4-a
v2-128 128 1 Tio europe-west4-a
v2-256 256 2 Tio europe-west4-a
v2-512 512 4 Tio europe-west4-a
Type de TPU (v3) Cœurs de TPU v3 Mémoire de TPU totale Zones disponibles
v3-8 8 128 Gio europe-west4-a
v3-32 32 512 Gio europe-west4-a
v3-64 64 1 Tio europe-west4-a
v3-128 128 2 Tio europe-west4-a
v3-256 256 4 Tio europe-west4-a
v3-512 512 8 Tio europe-west4-a
v3-1024 1 024 16 Tio europe-west4-a
v3-2048 2 048 32 Tio europe-west4-a

Asie-Pacifique

Type de TPU (v2) Cœurs de TPU v2 Mémoire de TPU totale Région/Zone
v2-8 8 64 Gio asia-east1-c

Les types de TPU doté d'un grand nombre de cœurs ne sont disponibles qu'en quantités limitées. Les types de TPU comprenant un plus faible nombre de cœurs sont plus généralement disponibles.

Pour connaître les tarifs des types de TPU dans chaque région, reportez-vous à la page Tarifs.

Pour en savoir plus sur les différences matérielles entre les versions et les configurations de TPU, consultez la documentation sur l'architecture du système.

Identifier le meilleur compromis prix/performances

Pour vous aider à choisir le type de TPU à utiliser, vous pouvez effectuer des tests à l'aide d'un tutoriel Cloud TPU afin d'entraîner un modèle semblable à votre application.

Exécutez le tutoriel pour 5 à 10 % du nombre de pas que vous utiliserez pour exécuter l'entraînement complet sur un type de TPU v2-8 et un type de TPU v3-8. Le résultat vous indique le temps nécessaire à l'exécution de ce nombre de pas sur votre modèle pour chaque type de TPU.

Les performances des différents types de TPU évoluent de façon linéaire. Ainsi, si vous connaissez le temps nécessaire à l'exécution d'une tâche sur un type de TPU v2-8 ou v3-8, vous pouvez estimer le temps que cette tâche prendra avec un type de TPU plus grand doté de davantage de cœurs.

Par exemple, si un type de TPU v2-8 met 60 minutes pour 10 000 pas, un nœud v2-32 devrait effectuer la même tâche en 15 minutes environ.

Pour déterminer la différence de coût dans votre région entre les différents types de TPU pour Cloud TPU et la VM Compute Engine associée, consultez la page des tarifs de Cloud TPU. Lorsque vous connaissez la durée d'entraînement approximative de votre modèle sur différents types de TPU, vous pouvez comparer le coût VM/TPU par rapport à la durée d'entraînement afin de décider du meilleur compromis.

Spécifier le type de TPU

Vous spécifiez un type de TPU lors de la création d'un nœud TPU. Par exemple, vous pouvez sélectionner un type de TPU à l'aide de l'une des méthodes suivantes :

Utilitaire ctpu

Commande gcloud

  • Exécutez la commande gcloud compute tpus create :

    $ gcloud compute tpus create [TPU name] \
     --zone us-central1-b \
     --range '10.240.0.0' \
     --accelerator-type 'v2-8' \
     --network my-tf-network \
     --version '2.1'
    

    où :

    • TPU name est un nom permettant d'identifier le TPU que vous créez.
    • --zone est la zone de calcul de Compute Engine. Vérifiez que le type d'accélérateur demandé est disponible dans votre zone.
    • --range spécifie l'adresse de la ressource Cloud TPU créée et peut être n'importe quelle valeur dans la plage 10.240.*.*.
    • --accelerator-type correspond au type d'accélérateur et au nombre de cœurs que vous souhaitez utiliser, par exemple, v2-32 (32 cœurs).
    • --network spécifie le nom du réseau utilisé par votre instance de VM Compute Engine. Vous devez pouvoir vous connecter aux instances de ce réseau via SSH. Dans la plupart des cas, vous pouvez utiliser le réseau par défaut que votre projet Google Cloud a créé automatiquement. Cependant, une erreur se produit si le réseau par défaut est un ancien réseau.
    • --version spécifie la version de TensorFlow à utiliser avec le TPU.

Cloud Console

  1. Dans le menu de navigation à gauche, sélectionnez Compute Engine > TPU.
  2. Sur l'écran TPU, cliquez sur Créer un nœud TPU. La page de configuration de votre TPU s'affiche.
  3. Sous Type de TPU, sélectionnez l'une des versions compatibles de TPU.
  4. Cliquez sur le bouton Créer.

Étape suivante