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.
Stratégies de nouvelle tentative d'emploi dans AWS Batch
Les stratégies de relance des tâches de service permettent AWS Batch de réessayer automatiquement les tâches de service ayant échoué dans des conditions spécifiques.
Les tâches de service peuvent nécessiter plusieurs tentatives pour plusieurs raisons :
-
Problèmes de service temporaires : des erreurs de service internes, des ralentissements ou des interruptions temporaires peuvent entraîner l'échec des tâches lors de leur soumission ou de leur exécution.
-
Échec de l'initialisation de l'entraînement : les problèmes rencontrés lors du démarrage de la tâche, tels que les problèmes d'extraction d'images ou les erreurs d'initialisation, peuvent être résolus lors d'une nouvelle tentative.
En configurant des stratégies de relance appropriées, vous pouvez améliorer les taux de réussite des tâches et réduire le besoin d'intervention manuelle, en particulier pour les charges de travail de formation de longue durée.
Note
Les tâches de service réessayent automatiquement certains types d'échecs, tels que les erreurs de capacité insuffisante, sans que les tentatives de nouvelle tentative configurées soient épuisées. Votre stratégie de nouvelle tentative gère principalement d'autres types d'échecs, tels que les erreurs d'algorithme ou les problèmes de service.
Configuration des stratégies de nouvelle tentative
Les stratégies de nouvelles tentatives des tâches de service sont configurées à l'aide de ServiceJobRetryStrategy, qui prend en charge à la fois le nombre de tentatives simples et la logique de nouvelles tentatives conditionnelles.
Nouvelle tentative de configuration
La stratégie de nouvelle tentative la plus simple indique le nombre de nouvelles tentatives à effectuer en cas d'échec d'une tâche de service :
{ "retryStrategy": { "attempts": 3 } }
Cette configuration permet de retenter la tâche de service jusqu'à 3 fois en cas d'échec.
Important
La attempts valeur représente le nombre total de fois que la tâche peut être placée dans RUNNABLE cet état, y compris la tentative initiale. Une valeur de 3 signifie que la tâche sera tentée une seule fois au départ, puis réessayée jusqu'à 2 fois en cas d'échec.
Réessayez la configuration avec evaluateOnExit
Vous pouvez utiliser le evaluateOnExit paramètre pour spécifier les conditions dans lesquelles les tâches doivent être réessayées ou autorisées à échouer. Cela est utile lorsque différents types de défaillances nécessitent un traitement différent.
Le evaluateOnExit tableau peut contenir jusqu'à 5 stratégies de nouvelle tentative, chacune spécifiant une action (RETRYouEXIT) et des conditions basées sur des raisons de statut :
{ "retryStrategy": { "attempts": 5, "evaluateOnExit": [ { "action": "RETRY", "onStatusReason": "Received status from SageMaker: InternalServerError*" }, { "action": "EXIT", "onStatusReason": "Received status from SageMaker: ValidationException*" }, { "action": "EXIT", "onStatusReason": "*" } ] } }
Cette configuration :
-
Réessaie les tâches qui échouent en raison d'erreurs internes au serveur SageMaker AI
-
Échoue immédiatement les tâches qui rencontrent des exceptions de validation (erreurs du client qui ne seront pas résolues par une nouvelle tentative)
-
Inclut une règle fourre-tout permettant de remédier à tout autre type de défaillance
Correspondance entre le statut et le motif
Le onStatusReason paramètre prend en charge la correspondance de modèles comportant jusqu'à 512 caractères. Les modèles peuvent utiliser des caractères génériques (*) et correspondre aux raisons de statut renvoyées par l' SageMaker IA.
Pour les tâches de service, les messages d'état provenant de l' SageMaker IA sont précédés du préfixe « Statut reçu de SageMaker : » pour les distinguer des messages AWS Batch générés. Les modèles courants incluent :
-
Received status from SageMaker: InternalServerError*- Corrigez les erreurs de service internes -
Received status from SageMaker: ValidationException*- Correspond aux erreurs de validation du client -
Received status from SageMaker: ResourceLimitExceeded*- Correspond aux erreurs de limite de ressources -
*CapacityError*- Correspondre aux défaillances liées à la capacité
Astuce
Utilisez des modèles de correspondance spécifiques pour gérer les différents types d'erreur de manière appropriée. Par exemple, réessayez en cas d'erreur interne au serveur, mais échouez immédiatement en cas d'erreur de validation indiquant des problèmes liés aux paramètres de la tâche.