Richtlinie für Pipeline-Schritte erneut versuchen - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richtlinie für Pipeline-Schritte erneut versuchen

Mithilfe von Wiederholungsrichtlinien können Sie Ihre SageMaker Pipeline-Schritte automatisch wiederholen, nachdem ein Fehler aufgetreten ist. Bei jedem Pipeline-Schritt können Ausnahmen auftreten, und Ausnahmen treten aus verschiedenen Gründen auf. In einigen Fällen können diese Probleme durch einen erneuten Versuch behoben werden. Mit einer Wiederholungsrichtlinie für Pipeline-Schritte können Sie wählen, ob Sie einen bestimmten Pipeline-Schritt erneut versuchen möchten oder nicht.

Die Wiederholungsrichtlinie unterstützt nur die folgenden Pipeline-Schritte:

Anmerkung

Aufträge, die sowohl im Tuning- als auch im AutoML-Schritt ausgeführt werden, führen intern Wiederholungen durch und wiederholen den SageMaker.JOB_INTERNAL_ERROR Ausnahmetyp nicht, selbst wenn eine Wiederholungsrichtlinie konfiguriert ist. Mithilfe der API können Sie Ihre eigene Wiederholungsstrategie programmieren. SageMaker

Unterstützte Ausnahmetypen für die Wiederholungsrichtlinie

Die Wiederholungsrichtlinie für Pipeline-Schritte unterstützt die folgenden Ausnahmetypen:

  • Step.SERVICE_FAULT: Diese Ausnahmen treten auf, wenn beim Aufrufen nachgeschalteter Dienste ein interner Serverfehler oder ein vorübergehender Fehler auftritt. SageMaker Pipelines versucht bei dieser Art von Fehler automatisch erneut. Mit einer Wiederholungsrichtlinie können Sie den standardmäßigen Wiederholungsvorgang für diesen Ausnahmetyp außer Kraft setzen.

  • Step.THROTTLING: Beim Aufrufen der Downstream-Dienste können Drosselungsausnahmen auftreten. SageMaker Pipelines versucht bei dieser Art von Fehler automatisch erneut. Mit einer Wiederholungsrichtlinie können Sie den standardmäßigen Wiederholungsvorgang für diesen Ausnahmetyp außer Kraft setzen.

  • SageMaker.JOB_INTERNAL_ERROR: Diese Ausnahmen treten auf, wenn der SageMaker Job zurückkehrt. InternalServerError In diesem Fall kann das Starten eines neuen Auftrags ein vorübergehendes Problem beheben.

  • SageMaker.CAPACITY_ERROR: Der SageMaker Job kann auf Amazon EC2 stoßenInsufficientCapacityErrors, was dazu führt, dass der SageMaker Job fehlschlägt. Sie können es erneut versuchen, indem Sie einen neuen SageMaker Job starten, um das Problem zu vermeiden.

  • SageMaker.RESOURCE_LIMIT: Sie können das Ressourcenlimit überschreiten, wenn Sie einen Job ausführen. SageMaker Sie können warten und nach einer kurzen Zeit erneut versuchen, den SageMaker Job auszuführen, um zu sehen, ob Ressourcen freigegeben wurden.

Das JSON-Schema für die Wiederholungsrichtlinie

Die Wiederholungsrichtlinie für Pipelines besteht aus Folgendem:

"RetryPolicy": { "ExceptionType": [String] "IntervalSeconds": Integer "BackoffRate": Double "MaxAttempts": Integer "ExpireAfterMin": Integer }
  • ExceptionType: Dieses Feld erfordert die folgenden Ausnahmetypen in einem String-Array-Format.

    • Step.SERVICE_FAULT

    • Step.THROTTLING

    • SageMaker.JOB_INTERNAL_ERROR

    • SageMaker.CAPACITY_ERROR

    • SageMaker.RESOURCE_LIMIT

  • IntervalSeconds(optional): Die Anzahl der Sekunden vor dem ersten Wiederholungsversuch (standardmäßig 1). IntervalSecondshat einen maximalen Wert von 43200 Sekunden (12 Stunden).

  • BackoffRate (optional): Der Multiplikator, mit dem das Wiederholungsintervall bei jedem Versuch erhöht wird (standardmäßig 2,0).

  • MaxAttempts (optional): Eine positive ganze Zahl, die die maximale Anzahl der Wiederholungsversuche angibt (standardmäßig 5). Tritt der Fehler öfter auf, als MaxAttempts angibt, werden die Wiederholungsversuche eingestellt und die normale Fehlerbehandlung fortgesetzt. Ein Wert von 0 gibt an, dass Fehler nie wiederholt werden. MaxAttempts hat einen Höchstwert von 20.

  • ExpireAfterMin (optional): Eine positive Ganzzahl, die die maximale Zeitspanne für Wiederholungen darstellt. Wenn der Fehler erneut auftritt, nachdem ExpireAfterMin Minuten gezählt wurden, nachdem der Schritt ausgeführt wurde, werden die Wiederholungsversuche beendet und die normale Fehlerbehandlung wird wieder aufgenommen. Ein Wert von 0 gibt an, dass Fehler nie wiederholt werden. ExpireAfterMin hat einen Höchstwert von 14.400 Minuten (10 Tage).

    Anmerkung

    Es kann nur eines von MaxAttempts oder ExpireAfterMin angegeben werden, aber nicht beide; werden beide nicht angegeben, wird MaxAttempts als Standard verwendet. Wenn beide Eigenschaften in einer Richtlinie identifiziert werden, generiert die Wiederholungsrichtlinie einen Validierungsfehler.

Konfigurieren einer Wiederholungsversuchsrichtlinie

Nachstehend finden Sie ein Beispiel für einen Trainingsschritt mit einer Wiederholungsrichtlinie.

{ "Steps": [ { "Name": "MyTrainingStep", "Type": "Training", "RetryPolicies": [ { "ExceptionType": [ "SageMaker.JOB_INTERNAL_ERROR", "SageMaker.CAPACITY_ERROR" ], "IntervalSeconds": 1, "BackoffRate": 2, "MaxAttempts": 5 } ] } ] }

Im Folgenden finden Sie ein Beispiel dafür, wie Sie ein integriertes TrainingStep SDK for Python (Boto3) mit einer Wiederholungsrichtlinie erstellen.

from sagemaker.workflow.retry import ( StepRetryPolicy, StepExceptionTypeEnum, SageMakerJobExceptionTypeEnum, SageMakerJobStepRetryPolicy ) step_train = TrainingStep( name="MyTrainingStep", xxx, retry_policies=[ // override the default StepRetryPolicy( exception_types=[ StepExceptionTypeEnum.SERVICE_FAULT, StepExceptionTypeEnum.THROTTLING ], expire_after_mins=5, interval_seconds=10, backoff_rate=2.0 ), // retry when resource limit quota gets exceeded SageMakerJobStepRetryPolicy( exception_types=[SageMakerJobExceptionTypeEnum.RESOURCE_LIMIT], expire_after_mins=120, interval_seconds=60, backoff_rate=2.0 ), // retry when job failed due to transient error or EC2 ICE. SageMakerJobStepRetryPolicy( failure_reason_types=[ SageMakerJobExceptionTypeEnum.INTERNAL_ERROR, SageMakerJobExceptionTypeEnum.CAPACITY_ERROR, ], max_attempts=10, interval_seconds=30, backoff_rate=2.0 ) ] )

Weitere Informationen zur Konfiguration des Wiederholungsverhaltens für bestimmte Schritttypen finden Sie unter Amazon SageMaker Model Building Pipelines — Retry Policy in der Amazon SageMaker Python SDK-Dokumentation.