Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Politique de nouvelle tentative pour les étapes du pipeline
Les politiques de nouvelle tentative vous permettent de réessayer automatiquement les étapes de votre SageMaker pipeline en cas d'erreur. N'importe quelle étape du pipeline peut rencontrer des exceptions, qui se produisent pour diverses raisons. Dans certains cas, une nouvelle tentative peut résoudre ces problèmes. Avec une politique de nouvelle tentative pour les étapes du pipeline, vous pouvez choisir de relancer ou non une étape de pipeline particulière.
La politique de nouvelle tentative prend uniquement en charge les étapes suivantes du pipeline :
Note
Les tâches qui s'exécutent à la fois dans les étapes de réglage et AutoML effectuent de nouvelles tentatives en interne et n'effectuent pas de nouvelle tentative pour le type d'exception SageMaker.JOB_INTERNAL_ERROR
, même si une politique de nouvelle tentative est configurée. Vous pouvez programmer votre propre stratégie de réessai à l'aide du SageMaker API.
Types d'exceptions pris en charge pour la politique de nouvelle tentative
La politique de nouvelle tentative pour les étapes du pipeline prend en charge les types d'exception suivants :
-
Step.SERVICE_FAULT
: Ces exceptions se produisent lorsqu'une erreur interne du serveur ou une erreur transitoire se produit lors de l'appel de services en aval. SageMaker Pipelines réessaie automatiquement de corriger ce type d'erreur. Avec une politique de nouvelle tentative, vous pouvez remplacer l'opération de nouvelle tentative par défaut pour ce type d'exception. -
Step.THROTTLING
: des exceptions de limitation peuvent survenir lors de l'appel des services en aval. SageMaker Pipelines réessaie automatiquement de corriger ce type d'erreur. Avec une politique de nouvelle tentative, vous pouvez remplacer l'opération de nouvelle tentative par défaut pour ce type d'exception. -
SageMaker.JOB_INTERNAL_ERROR
: Ces exceptions se produisent lorsque le SageMaker travail revientInternalServerError
. Dans ce cas, le démarrage d'une nouvelle tâche peut résoudre un problème temporaire. -
SageMaker.CAPACITY_ERROR
: La SageMaker tâche peut rencontrer Amazon EC2InsufficientCapacityErrors
, ce qui peut SageMaker entraîner son échec. Vous pouvez réessayer en démarrant une nouvelle SageMaker tâche pour éviter le problème. -
SageMaker.RESOURCE_LIMIT
: vous pouvez dépasser le quota limite de ressources lors de l'exécution d'une SageMaker tâche. Vous pouvez attendre et réessayer d'exécuter la SageMaker tâche après un court laps de temps pour voir si des ressources sont disponibles.
JSONSchéma de la politique de nouvelle tentative
La politique de nouvelle tentative pour les pipelines suit le JSON schéma suivant :
"RetryPolicy": { "ExceptionType": [String] "IntervalSeconds": Integer "BackoffRate": Double "MaxAttempts": Integer "ExpireAfterMin": Integer }
-
ExceptionType
: ce champ nécessite les types d'exception suivants au format de chaîne simple.-
Step.SERVICE_FAULT
-
Step.THROTTLING
-
SageMaker.JOB_INTERNAL_ERROR
-
SageMaker.CAPACITY_ERROR
-
SageMaker.RESOURCE_LIMIT
-
-
IntervalSeconds
(facultatif) : nombre de secondes avant la première nouvelle tentative (1 par défaut).IntervalSeconds
a une valeur maximale de 43 200 secondes (12 heures). -
BackoffRate
(facultatif) : multiplicateur par lequel l'intervalle de nouvelle tentative augmente à chaque tentative (2,0 par défaut). -
MaxAttempts
: nombre entier positif qui représente le nombre maximum de nouvelles tentatives (5 par défaut). Si l'erreur se produit un nombre de fois supérieur à la valeur spécifiée parMaxAttempts
, les nouvelles tentatives cessent et la gestion normale des erreurs reprend. La valeur 0 spécifie que les erreurs n'ont jamais fait l'objet d'une nouvelle tentative.MaxAttempts
a une valeur maximale de 20. -
ExpireAfterMin
(facultatif) : nombre entier positif qui représente la durée maximale d'une nouvelle tentative. Si l'erreur se répète aprèsExpireAfterMin
minutes à partir de l'exécution de l'étape, les nouvelles tentatives cessent et la gestion normale des erreurs reprend. La valeur 0 spécifie que les erreurs n'ont jamais fait l'objet d'une nouvelle tentative.ExpireAfterMin
a une valeur maximale de 14 400 minutes (10 jours).Note
Les valeurs
MaxAttempts
ouExpireAfterMin
peuvent être spécifiées, mais pas les deux. Si aucune des deux n'est spécifiée,MaxAttempts
devient la valeur par défaut. Si les deux propriétés sont identifiées dans une politique, la politique de nouvelle tentative génère une erreur de validation.
Configuration d'une politique de nouvelle tentative
Voici un exemple d'étape d'entraînement avec une poltiique de nouvelle tentative.
{ "Steps": [ { "Name": "
MyTrainingStep
", "Type": "Training", "RetryPolicies": [ { "ExceptionType": [ "SageMaker.JOB_INTERNAL_ERROR
", "SageMaker.CAPACITY_ERROR
" ], "IntervalSeconds":1
, "BackoffRate":2
, "MaxAttempts":5
} ] } ] }
Voici un exemple de la façon de créer une TrainingStep
entrée SDK pour Python (Boto3) avec une politique de nouvelle tentative.
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
) ] )
Pour plus d'informations sur la configuration du comportement des nouvelles tentatives pour certains types d'étapes, consultez Amazon SageMaker Model Building Pipelines - Politique de réessai