Wartungsarbeiten für TPUs in von Google verwalteter Infrastruktur verwalten
TPU-VMs sind Instanzen von Compute Engine-VMs mit angehängter TPU-Hardware. Compute Engine-VMs unterliegen den Wartungsereignissen der Compute Engine-VMs Jede TPU ist mit einer Compute Engine-VM verbunden, sodass die Verwendung von mehr TPUs (z. B. in einem TPU-Slice) die Wahrscheinlichkeit erhöht, dass eine Ihrer VMs von einem Wartungsereignis betroffen ist.
In diesem Dokument werden Ansätze zum Umgang mit Wartungsereignissen für Trainingsjobs mit langer Laufzeit auf TPUs beschrieben. Informationen zum Umgang mit Wartungsereignissen für TPUs in Google Kubernetes Engine (GKE) finden Sie unter GKE-Knotenstörung für GPUs und TPUs verwalten.
Benachrichtigungen zu anstehenden Wartungen ansehen
Wenn Sie die bevorstehenden Wartungsfenster Ihrer Instanz im Auge behalten, können Sie Ihre Arbeitslasten proaktiv so vorbereiten, dass die bevorstehende Wartung nur minimale Unterbrechungen verursacht. Weitere Informationen finden Sie in der Compute Engine-Dokumentation unter Wartungsereignis für Host überwachen und planen.
Prüfpunkte für eine schnelle Wiederherstellung nach Wartungsereignissen verwenden
Prüfpunkte sind entscheidend für die schnelle Wiederherstellung nach Wartungsereignissen und sollten regelmäßig gespeichert werden. Wir empfehlen, Prüfpunkte etwa einmal pro Stunde zu speichern. Wenn Sie Prüfpunkte nicht oft genug speichern, besteht die Gefahr, dass Sie durch Wartungsereignisse oder andere Trainingsunterbrechungen viele Trainingsfortschritte verlieren.
Prüfpunkte beziehen sich im Allgemeinen auf alle gespeicherten Parameter, die beim Training verwendet werden (z. B. Modellgewichtungen). Das Speichern eines Prüfpunkts kann zwischen einigen Sekunden und mehreren Minuten dauern.
Obwohl sich TPUs nach Wartungsereignissen oft automatisch wiederherstellen, gibt es Ausnahmefälle, in denen der Job nicht automatisch neu gestartet wird. In diesem Fall müssen Sie die TPU-Ressourcen löschen und neu erstellen und den Trainingsjob von einem gespeicherten Prüfpunkt aus neu starten.
Für jedes ML-Framework gibt es unterschiedliche Mechanismen zum Speichern und Laden von Prüfpunkten. Unterstützte Cloud TPU-Modelle haben in der Regel eine integrierte Prüfpunktfunktion. Weitere Informationen zu Checkpointing finden Sie in der folgenden Dokumentation:
Wartungsereignisse erkennen
Wenn Sie feststellen möchten, ob und wann ein Wartungsereignis auf Ihrer TPU aufgetreten ist, sehen Sie sich die Audit-Logs zu Systemereignissen in Cloud Logging an. Weitere Informationen finden Sie unter Wartungsereignis-Logs ansehen.
Mit dem Befehl gcloud compute
instances describe können Sie auch nach anstehenden Wartungsereignissen suchen.
Weitere Informationen finden Sie in der Compute Engine-Dokumentation unter Wartungsereignis für Host überwachen und planen.
Wartungsereignis-Logs ansehen
Sie können sich in den Audit-Logs zu Systemereignissen die historischen Logs der Wartungsereignisse auf Ihrer TPU anzeigen lassen.
Rufen Sie über das Navigationsmenü der Google Cloud Console die Seite „Log-Explorer“ auf:
Verwenden Sie die folgende Suchanfrage, um alle TPU-VMs aufzurufen, die aufgrund von Wartungsarbeiten beendet wurden:
"compute.instances.terminateOnHostMaintenance"Die Ergebnisse zeigen Logs für alle Unterbrechungen und Reparaturen Ihrer TPU-Worker innerhalb Ihres Suchzeitraums an. Die Logs enthalten:
- Datum und Uhrzeit des Ereignisses
- Art des Ereignisses
- Den Grund für die Beendigung im Feld
protoPayload.metadata.terminateReason
Wartung manuell starten
Sie können ein ausstehendes Host-Wartungsereignis auf Ihrer TPU-VM manuell starten, um anstehende Wartungen proaktiv mit minimalen Unterbrechungen zu bewältigen. Weitere Informationen finden Sie in der Compute Engine-Dokumentation unter Hostwartungsereignis manuell starten.