Gérer les événements de maintenance pour les TPU en mode de capacité gérée

Les VM TPU sont des instances de VM Compute Engine associées à du matériel TPU. Les VM Compute Engine sont sujettes à des événements de maintenance de VM Compute Engine. Chaque TPU est connecté à une VM Compute Engine. Par conséquent, l'utilisation de plusieurs TPU (par exemple, dans une tranche TPU) augmente la probabilité que l'une de vos VM soit soumise à un événement de maintenance.

Ce document présente des approches de gestion des événements de maintenance pour les jobs d'entraînement de longue durée sur les TPU. Pour en savoir plus sur la gestion des événements de maintenance pour les TPU dans Google Kubernetes Engine (GKE), consultez Gérer les interruptions des nœuds GKE pour les GPU et les TPU.

Afficher les notifications pour les opérations de maintenance à venir

En surveillant les intervalles de maintenance à venir concernant votre instance, vous pouvez préparer vos charges de travail de manière proactive pour gérer les prochaines opérations de maintenance en subissant une durée d'interruption minimale. Pour en savoir plus, consultez Surveiller et planifier un événement de maintenance de l'hôte dans la documentation Compute Engine.

Utiliser des points de contrôle pour une récupération rapide après des événements de maintenance

Les points de contrôle sont essentiels pour récupérer rapidement après un événement de maintenance et doivent être enregistrés fréquemment. Nous vous recommandons d'enregistrer les points de contrôle environ toutes les heures. Le fait de ne pas effectuer de points de contrôle assez souvent peut faire perdre une grande partie de la progression de l'entraînement en cas de survenue d'événements de maintenance ou d'autres interruptions de l'entraînement.

Les points de contrôle font généralement référence à tous les paramètres enregistrés utilisés lors de l'entraînement (tels que les pondérations du modèle). Le temps nécessaire pour enregistrer un point de contrôle peut varier de quelques secondes à quelques minutes.

Bien que les TPU récupèrent souvent automatiquement des événements de maintenance, il existe des cas extrêmes où le job ne redémarre pas automatiquement. Dans ce cas, vous devez supprimer et recréer les ressources TPU, puis redémarrer le job d'entraînement à partir d'un point de contrôle enregistré. Pour savoir comment détecter les échecs de récupération automatique et résoudre ces problèmes, consultez Détecter et résoudre les défaillances de TPU.

Il existe différents mécanismes permettant d'enregistrer et de charger des points de contrôle pour chaque framework de ML. Les modèles Cloud TPU acceptés intègrent généralement des points de contrôle. Pour en savoir plus sur les points de contrôle, consultez la documentation suivante :

Détecter les événements de maintenance

Pour détecter si et quand un événement de maintenance s'est produit sur votre TPU, consultez les journaux d'audit des événements système dans Cloud Logging. Pour en savoir plus, consultez Afficher les journaux des événements de maintenance.

Vous pouvez également rechercher les événements de maintenance à venir à l'aide de la gcloud compute instances describe commande. Pour en savoir plus, consultez Surveiller et planifier un événement de maintenance de l'hôte dans la documentation Compute Engine.

Afficher les journaux des événements de maintenance

Vous pouvez consulter les journaux historiques des événements de maintenance sur votre TPU dans les journaux d'audit des événements système.

  1. Dans le menu de navigation de la console Google Cloud , accédez à la page "Explorateur de journaux" :

    Accéder à l'explorateur de journaux

  2. Utilisez la requête de recherche suivante pour afficher les VM TPU qui ont été arrêtées pour maintenance :

    "compute.instances.terminateOnHostMaintenance"

    Les résultats affichent les journaux de toutes les interruptions et réparations concernant vos nœuds de calcul TPU pour la période de recherche. Les journaux incluent les éléments suivants :

    • Date et heure de l'événement
    • Type d'événement
    • Raison de l'arrêt dans le champ protoPayload.metadata.terminateReason

Démarrer manuellement la maintenance

Vous pouvez démarrer manuellement un événement de maintenance de l'hôte en attente sur votre VM TPU pour gérer de manière proactive la maintenance à venir avec un minimum d'interruption. Pour en savoir plus, consultez Démarrer manuellement un événement de maintenance de l'hôte dans la documentation Compute Engine.

Étape suivante