Résoudre les problèmes liés à votre workflow Cloud TPU

Une fois que votre charge de travail d'entraînement ou d'inférence s'exécute sur des TPU, l'étape suivante consiste à s'assurer qu'elle fonctionne comme prévu. Cloud TPU génère des métriques et des journaux qui vous permettent de rechercher et de déboguer les VM TPU qui ne se comportent pas comme prévu. Dans cette documentation, nous faisons référence à ces VM comme des anomalies.

Voici le workflow général de dépannage:

  1. Afficher les métriques Cloud TPU pour rechercher des VM TPU aberrantes
  2. Afficher les journaux Cloud TPU pour les VM TPU présentant des anomalies
  3. Profiler votre charge de travail

Vous pouvez afficher les métriques et les journaux dans l'Explorateur de métriques et l'Explorateur de journaux de la console Google Cloud. Vous pouvez également utiliser les tableaux de bord de surveillance et de journalisation pour collecter toutes les métriques et journaux associés à Cloud TPU dans des tableaux de bord individuels.

Métriques de VM Cloud TPU

Cloud Monitoring collecte automatiquement les métriques de vos TPU et de leurs VM Compute Engine hôtes. Les métriques suivent les quantités numériques au fil du temps, par exemple l'utilisation du processeur, l'utilisation du réseau ou la durée d'inactivité de TensorCore. Pour en savoir plus sur les métriques Cloud TPU, consultez la page Surveiller des VM TPU.

Journaux Cloud TPU

Cloud Logging collecte automatiquement les journaux de vos TPU et de leurs VM hôtes Compute Engine. Cloud Logging suit les événements générés par Cloud TPU. Vous pouvez également instrumenter votre code pour générer des journaux. Deux types de journaux sont générés par Cloud TPU:

  • Journaux des nœuds de calcul TPU
  • Journaux de ressources auditées

Les journaux d'un nœud de calcul TPU contiennent des informations sur un travailleur TPU spécifique dans une zone spécifique, par exemple la quantité de mémoire disponible sur celui-ci (system_available_memory_GiB).

Les journaux de ressources auditées contiennent des informations sur le moment où une API Cloud TPU spécifique a été appelée et sur l'auteur de l'appel. Exemples : CreateNode, UpdateNode et DeleteNode.

Vous pouvez également utiliser le package PyPi cloud-tpu-diagnostics pour écrire des traces de pile dans les journaux. Pour en savoir plus, consultez la page Déboguer des VM TPU.

Pour en savoir plus sur les journaux, consultez la section Journalisation.

Tableaux de bord de surveillance et de journalisation

Le fait de disposer d'une seule page dans la console Google Cloud peut faciliter l'affichage et l'interprétation des métriques et des journaux associés à Cloud TPU. Le dépôt GitHub monitoring-debugging contient un ensemble de scripts et de fichiers de configuration qui utilisent Terraform pour déployer automatiquement des tableaux de bord contenant toutes les métriques et tous les journaux associés à Cloud TPU. Pour configurer ces tableaux de bord dans votre projet Google Cloud, consultez la page Tableaux de bord Monitoring et Logging.

Profiler vos charges de travail sur des VM TPU

Le profilage vous permet d'optimiser les performances d'entraînement de votre modèle sur des VM TPU. Profilez votre modèle à l'aide de TensorBoard et du plug-in TPU TensorBoard. Pour en savoir plus sur le profilage de votre charge de travail, consultez la section Profiler votre modèle sur des VM TPU.

Pour en savoir plus sur l'utilisation de TensorBoard avec l'un des frameworks acceptés, consultez les documents suivants: