Richtlinie für Pipeline-Schritte wiederholen - 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 wiederholen

Wiederholungsrichtlinien helfen Ihnen, Ihre SageMaker Schritte der Pipelines treten nach einem Fehler auf. Jeder Pipeline-Schritt kann auf Ausnahmen stoßen, und Ausnahmen treten aus verschiedenen Gründen auf. In einigen Fällen kann eine Wiederholung diese Probleme beheben. Bei einer Wiederholungsrichtlinie für Pipeline-Schritte können Sie wählen, ob Sie einen bestimmten Pipeline-Schritt wiederholen möchten oder nicht.

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

Unterstützte Ausnahmearten für die Wiederholungsrichtlinie

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

  • Step.SERVICE_FAULT: Diese Ausnahmen treten auf, wenn beim Aufrufen von Downstream-Diensten ein interner Serverfehler oder ein vorübergehender Fehler auftritt. SageMaker Pipelines versuchen diese Art von Fehler automatisch erneut. Mit einer Wiederholungsrichtlinie können Sie den standardmäßigen Wiederholungsvorgang für diesen Ausnahmetyp überschreiben.

  • Step.THROTTLING: Drosselnde Ausnahmen können beim Aufrufen der Downstream-Dienste auftreten. SageMaker Pipelines versuchen diese Art von Fehler automatisch erneut. Mit einer Wiederholungsrichtlinie können Sie den standardmäßigen Wiederholungsvorgang für diesen Ausnahmetyp überschreiben.

  • SageMaker.JOB_INTERNAL_ERROR: Diese Ausnahmen treten auf, wenn der SageMaker job kehrt zurückInternalServerErroraus. In diesem Fall kann das Starten eines neuen Jobs ein vorübergehendes Problem beheben.

  • SageMaker.CAPACITY_ERROR: Die SageMaker Job kann auf Amazon EC2 stoßenInsufficientCapacityErrors, was zum SageMaker Job scheitert. Sie können es erneut versuchen, indem Sie ein neues starten SageMaker Job, um das Problem zu vermeiden.

  • SageMaker.RESOURCE_LIMIT: Sie können das Ressourcengrenzkontingent überschreiten, wenn Sie eine SageMaker Auftrag. Sie können warten und erneut versuchen, das SageMaker Job nach kurzer Zeit und prüfen Sie, ob Ressourcen freigegeben werden.

Das JSON-Schema für die Wiederholungsrichtlinie

Die Wiederholungsrichtlinie für Pipelines enthält das folgende JSON-Schema:

"RetryPolicy": { "ExceptionType": [String] "IntervalSeconds": Integer "BackoffRate": Double "MaxAttempts": Integer "ExpireAfterMin": Integer }
  • ExceptionType: Dieses Feld benötigt die folgenden Ausnahmearten 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 erneuten Versuch (standardmäßig 1).IntervalSecondshat einen maximalen Wert von 43200 Sekunden (12 Stunden).

  • BackoffRate(optional): Der Multiplikator, um den das Intervall der erneuten Versuche bei jedem Versuch erhöht wird (standardmäßig 2.0).

  • MaxAttempts(optional): Eine positive Ganzzahl, die die maximale Anzahl von Wiederholungsversuchen angibt (standardmäßig 5). Wenn der Fehler öfter auftritt alsMaxAttemptsgibt an, Wiederholungen werden eingestellt und die normale Fehlerbehandlung wird fortgesetzt. Der Wert 0 gibt an, dass Fehler nie erneute Versuche erfolgen.MaxAttemptshat einen Maximalwert von 20.

  • ExpireAfterMin(optional): Eine positive Ganzzahl, die die maximale Zeitspanne der Wiederholung darstellt. Wenn der Fehler danach erneut auftrittExpireAfterMinMinuten, die ab dem Schritt zählen, werden ausgeführt, erneute Versuche werden eingestellt und die normale Fehlerbehandlung wird fortgesetzt. Der Wert 0 gibt an, dass Fehler nie erneute Versuche erfolgen.ExpireAfterMin hat einen Maximalwert von 14.400 Minuten (10 Tage).

    Anmerkung

    Nur einer vonMaxAttemptsoderExpireAfterMinkann gegeben werden, aber nicht beides; wenn beidenichtangegeben,MaxAttemptswird zur Standardeinstellung. Wenn beide Eigenschaften innerhalb einer Richtlinie identifiziert werden, generiert die Wiederholungsrichtlinie einen Validierungsfehler.

Konfigurieren einer Wiederholungsrichtlinie

Im Folgenden 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 } ] } ] }

Nachstehend finden Sie ein Beispiel zum Erstellen einesTrainingStepim SDK for Python (Boto3) mit einer Wiederholungsrichtlinie.

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_min=5, interval_seconds=10, backoff_rate=2.0 ), // retry when resource limit quota gets exceeded SageMakerJobStepRetryPolicy( exception_types=[SageMakerJobExceptionTypeEnum.RESOURCE_LIMIT] expire_after_min=120, interval_seconds=60, backoff_rate=2.0 ), // retry when job failed due to transient error or EC2 ICE. SageMakerJobStepRetryPolicy( failure_reason_types=[ SageMakerJobExceptionTypeEnum.JOB_INTERNAL_ERROR, SageMakerJobExceptionTypeEnum.JOB_CAPACITY_ERROR, ] max_attempts=10, interval_seconds=30, backoff_rate=2.0 ) ] )