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:
-
Anmerkung Die SageMaker Der Hyperparameter-Tuning-Job führt bereits intern Wiederholungen durch, sodass der
SageMaker.JOB_INTERNAL_ERROR
Ausnahmetyp, auch wenn eine Wiederholungsrichtlinie konfiguriert ist. Wenn Sie es wirklich wiederholen möchten, können Sie Ihre eigenen programmierenWiederholungsstrategieVerwendung von SageMaker API.
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ückInternalServerError
aus. 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).IntervalSeconds
hat 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 alsMaxAttempts
gibt an, Wiederholungen werden eingestellt und die normale Fehlerbehandlung wird fortgesetzt. Der Wert 0 gibt an, dass Fehler nie erneute Versuche erfolgen.MaxAttempts
hat einen Maximalwert von 20. -
ExpireAfterMin
(optional): Eine positive Ganzzahl, die die maximale Zeitspanne der Wiederholung darstellt. Wenn der Fehler danach erneut auftrittExpireAfterMin
Minuten, 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 von
MaxAttempts
oderExpireAfterMin
kann gegeben werden, aber nicht beides; wenn beidenichtangegeben,MaxAttempts
wird 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 einesTrainingStep
im 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
) ] )