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 à vous 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. Nous appelons ces VM des valeurs aberrantes dans l'ensemble de cette documentation.
Voici le workflow général de dépannage:
- Afficher les métriques Cloud TPU pour rechercher des VM TPU atypiques
- Afficher les journaux Cloud TPU des VM TPU atypiques
- Analyser 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 des tableaux de bord de surveillance et de journalisation pour collecter toutes les métriques et les journaux liés à Cloud TPU dans des tableaux de bord individuels.
Métriques de VM Cloud TPU
Cloud Monitoring collecte automatiquement des métriques à partir de vos TPU et de leurs VM Compute Engine hôtes. Les métriques permettent de suivre des 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 section Surveiller les VM TPU.
Journaux Cloud TPU
Cloud Logging collecte automatiquement les journaux de vos TPU et de leurs VM Compute Engine hôtes. 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. Cloud TPU génère deux types de journaux:
- Journaux du nœud de calcul TPU
- Journaux des ressources auditées
Les journaux des nœuds de calcul TPU contiennent des informations sur un nœud de calcul TPU spécifique dans une zone spécifique, par exemple la quantité de mémoire disponible sur le nœud de calcul TPU (system_available_memory_GiB).
Les journaux de ressources audités contiennent des informations sur le moment où une API Cloud TPU spécifique a été appelée et sur l'auteur de l'appel. Par exemple, 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 section Déboguer des VM TPU.
Pour en savoir plus sur les journaux, consultez la section Journalisation.
Tableaux de bord de surveillance et de journalisation
Une seule page dans la console Google Cloud peut faciliter l'affichage et l'interprétation des métriques et des journaux liés aux 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 les journaux liés à Cloud TPU. Pour configurer ces tableaux de bord dans votre Google Cloud projet, consultez la section Tableaux de bord de surveillance et de journalisation.
Profilage de 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. Vous utilisez TensorBoard et le plug-in TensorBoard TPU pour profiler votre modèle. Pour en savoir plus sur le profilage de votre charge de travail, consultez Profiler votre modèle sur des VM TPU.
Pour en savoir plus sur l'utilisation de TensorBoard avec l'un des frameworks compatibles, consultez les documents suivants: