Informationen zum serverlosen Trainingsdienst der Gemini Enterprise Agent Platform

Auf dieser Seite wird der Status eines Trainingsclusters im Lebenszyklus eines Trainingsjobs erläutert und erklärt, wie Agent Platform mit Trainingsfehlern verfährt. Sie können diese Informationen verwenden, um den Trainingscode entsprechend anzupassen.

Lebenszyklus eines Trainingsjobs

In diesem Abschnitt wird erläutert, wie Agent Platform Worker-VMs über den Lebenszyklus eines Trainingsjobs verarbeitet.

Neuen Job in die Warteschlange stellen

Wenn Sie einen CustomJob oder HyperparameterTuningJob erstellen, verbleibt der Job möglicherweise noch einige Zeit im Status JOB_STATE_QUEUED, bevor er von Agent Platform ausgeführt wird. Dieser Zeitraum ist in der Regel nicht lang. Wenn Ihr Google Cloud Projekt jedoch nicht genügend verbleibende benutzerdefinierte Trainings Kontingente für Ihren Job hat, wird er von Agent Platform in die Warteschlange gestellt, bis Sie ausreichend Kontingente haben.

Worker parallel starten

Wenn ein Trainingsjob gestartet wird, plant Agent Platform so viele Worker wie möglich innerhalb kurzer Zeit. Das bedeutet, dass Worker parallel und nicht nacheinander ausgeführt werden können. Zur Verringerung der Startlatenz startet Agent Platform die Ausführung Ihres Codes auf jedem Worker, sobald er verfügbar ist. Wenn alle Worker verfügbar sind, setzt Agent Platform den Jobstatus auf JOB_STATE_RUNNING.

In den meisten Fällen verarbeitet Ihr ML-Framework automatisch die Worker, die parallel gestartet werden. Wenn Sie eine Trainingsstrategie in Ihrem Trainingscode verwenden, müssen Sie diese unter Umständen manuell anpassen, um die Worker zu verarbeiten, die parallel gestartet werden. Weitere Informationen zu Verteilungsstrategien finden Sie in TensorFlow und in PyTorch.

Worker während des Trainingsjobs neu starten

Während eines Trainingsjobs kann Agent Platform Ihre Worker aus jedem Worker-Pool mit demselben Hostnamen neu starten. Das kann folgende Ursachen haben:

  • VM-Wartung: Wird bei einer VM, auf der ein Worker ausgeführt wird, eine VM Wartung vorgenommen, startet Agent Platform den Worker auf einer anderen VM neu. Weitere Informationen zur Live-Migration bei der VM-Wartung.
  • Beenden ungleich null: Wenn Worker mit einem Exit-Code ungleich null beendet werden, startet Agent Platform diesen Worker auf derselben VM sofort neu.

    • Wenn ein Worker aufgrund von einem häufigen Fehler fehlschlägt, wird dieser als permanenter Fehler behandelt und der gesamte Job wird in Agent Platform heruntergefahren. Wenn Container noch einmal gestartet werden, bevor Agent Platform den gesamten Job beendet, generieren diese Container eventuell Logs in Cloud Logging.
    • Wenn ein Worker aufgrund eines nicht permanenten Fehlers, also eines Fehlers, der nicht in den häufigen Fehlern aufgeführt ist, fehlschlägt, kann der neu gestartete Worker in Agent Platform weiter ausgeführt werden, wobei bis zu fünf Neustarts pro Worker möglich sind. Wenn ein Worker nach fünf Neustarts noch einmal fehlschlägt, wiederholt Agent Platform den gesamten Job bis zu dreimal, bevor er endgültig fehlschlägt.

Speichern Sie Prüfpunkte regelmäßig während des Trainings, um Worker-Neustarts im Trainingscode zu verarbeiten, sodass beim Neustart eines Workers eine Wiederherstellung von den Prüfpunkten möglich ist. Wenn das Training voraussichtlich mehr als vier Stunden dauert, sollten Sie mindestens alle vier Stunden einen Prüfpunkt speichern. Informationen zur Verwendung von Trainingsprüfpunkten in TensorFlow und PyTorch.

Job erfolgreich abgeschlossen

Ein Trainingsjob wird erfolgreich abgeschlossen, wenn sein primäres Replikat mit Exit-Code 0 beendet wird. An diesem Punkt beendet Agent Platform alle anderen ausgeführten Worker.

Verarbeitung von Trainingsjobfehlern mit Agent Platform

In diesem Abschnitt wird der Umgang von Agent Platform mit häufigen Fehlern bei Trainingsjobs sowie internen Fehler erläutert.

Etwa eine Minute nach dem Ende eines Jobs legt Agent Platform den Fehlercode für das Trainingsjobobjekt anhand des Exit-Codes fest.

Häufig auftretende Fehler beheben

Agent Platform fährt alle Worker herunter, wenn eines der folgenden Probleme auftritt:

Fehlertyp Fehlermeldung/Log Hinweis
Ausnahme für Nutzercode Das Replikat REPLICA_NAME wurde mit dem Status „EXIT_CODE“ ungleich null beendet. Grund für Beendigung: REASON. Wenn der Job Exit-Codes erkannt hat, die eventuell vorübergehender Natur sind, Agent Platform versucht, den Job bis zu dreimal neu zu starten. Mögliche vorübergehende Fehlercodes, die dazu führen, dass Agent Platform versucht, den Job noch einmal auszuführen:
  • SIGABRT
    • ExitCode 6
    • ExitCode 134 (benutzerdefinierte Container)
  • SIGSEGV
    • ExitCode 11
    • ExitCode 139 (benutzerdefinierte Container)
Nicht genügend Arbeitsspeicher Für das Replikat REPLICA_NAME ist nicht mehr genügend Arbeitsspeicher vorhanden und es wurde mit dem Status „EXIT_CODE“ ungleich null beendet. GKE reserviert Speicher auf Agent Platform-Knoten. Auf den kleinsten Maschinentypen (z. B. n1-standard-4) können Agent Platform-System-Agents bis zu 40% des Gesamtspeichers belegen. Bei größeren VMs ist der operative Aufwand relativ gering. Vergleichen Sie den zuweisbaren Speicher für n1-standard Maschinentypen.
Unzureichende Kapazität in Ihrer Region (Compute Engine-Verfügbarkeit) Ressourcen sind in der folgenden Region nicht ausreichend: REGION_NAME. Versuchen Sie es mit einer anderen Region oder verwenden Sie einen anderen Beschleuniger. Ein Mangel tritt auf, wenn Compute Engine die Kapazität für die ausgewählte CPU oder GPU in Ihrer Region ausgeschöpft hat. Dies hängt nicht mit Ihrem Projektkontingent zusammen. In diesem Fall versucht Agent Platform bis zu dreimal, den Job neu zu starten.

Bei Jobs, die auf A2- und A3-VMs ausgeführt werden, können Sie mit Dynamic Workload Scheduler Jobs planen, die ausgeführt werden, wenn die angeforderten GPU-Ressourcen verfügbar werden, anstatt mit einem Fehler aufgrund von Ressourcenmangel zu fehlschlagen. Weitere Informationen finden Sie unter Trainingsjobs basierend auf der Ressourcenverfügbarkeit planen.

Interne Fehler beheben

Wenn bei Agent Platform ein interner Fehler auftritt, wird zweimal versucht, einen Job neu zu starten (insgesamt drei Versuche). Wenn auch der Neustart fehlschlägt, gibt Agent Platform einen internen Fehler mit der folgenden Meldung zurück: Internal error occurred for the current attempt.