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
Lorsqu'une tâche de SageMaker formation échoue en raison d'une capacité insuffisante, AWS Batch réessaie automatiquement la tâche jusqu'à ce que la capacité soit disponible. La tâche de SageMaker formation la plus récente qui a échoué en raison d'une capacité insuffisante sera conservée, et les tâches de SageMaker formation antérieures qui ont échoué en raison d'une capacité insuffisante seront supprimées dans la mesure du possible.
Ces tentatives basées sur la capacité ne consomment pas les tentatives que vous avez configuré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 qui surviennent après le démarrage d'une tâche.
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éessayer la configuration avec Evaluer OnExit
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.