Informationen zum AI Platform Training-Dienst

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

Lebenszyklus eines Trainingsjobs

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

Worker parallel starten

Wenn ein Trainingsjob gestartet wird, plant AI Platform Training 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 AI Platform Training Ihren Code auf jedem Worker, sobald er verfügbar ist. Wenn alle Worker verfügbar sind, setzt AI Platform Training den Jobstatus auf 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 AI Platform Training Ihre Master-, Worker- oder Parameterserver mit demselben Hostnamen neu starten. Das kann folgende Ursachen haben:

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

    • Wenn ein Worker aufgrund eines häufigen Fehlers fehlschlägt, wird er als permanenter Fehler behandelt und der gesamte Job wird in AI Platform Training heruntergefahren. Wenn Container noch einmal gestartet werden, bevor AI Platform Training den gesamten Job beendet, können diese Container Logs in Cloud Logging erzeugen.
    • Wenn ein Worker aufgrund eines nicht permanenten Fehlers fehlschlägt (jeder Fehler, der nicht in den häufigen Fehlern aufgeführt ist), kann der neu gestartete Worker dank AI Platform Training weiter ausgeführt zu werden, wobei bis zu fünf Neustarts pro Worker möglich sind. Wenn ein Worker nach fünf Neustarts noch einmal fehlschlägt, wiederholt AI Platform Training 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 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 AI Platform Training alle anderen ausgeführten Worker.

Verarbeitung von Trainingsjobs mit AI Platform Training

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

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

Häufig auftretende Fehler beheben

AI Platform Training 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 vorübergehend auftreten können, versucht AI Platform Training, den Job bis zu dreimal neu zu starten. Mögliche vorübergehende Fehlercodes, die AI Platform Training dazu auffordern, den Job noch einmal zu versuchen:
  • 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 AI Platform Training-Knoten. Auf den kleinsten Maschinentypen (z. B. n1-standard-4) können AI Platform Training-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. Bitte versuchen Sie es mit einer anderen Region. Wenn Sie K80 verwenden, sollten Sie stattdessen P100 oder V100 verwenden. 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 AI Platform Training bis zu dreimal, den Job neu zu starten.

Interne Fehler beheben

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