Points de contrôle dans Amazon SageMaker AI
Utilisez les points de contrôle dans Amazon SageMaker AI pour enregistrer l’état des modèles de machine learning (ML) durant l’entraînement. Les points de contrôle sont des instantanés du modèle et peuvent être configurés par les fonctions de rappel de cadres ML. Vous pouvez utiliser les points de contrôle enregistrés pour redémarrer une tâche d’entraînement à partir du dernier point de contrôle enregistré.
À l’aide des points de contrôle, vous pouvez exécuter les actions suivantes :
-
Enregistrer vos instantanés de modèle en cours d’entraînement en cas d’interruption inattendue de la tâche ou de l’instance d’entraînement.
-
Reprendre l’entraînement du modèle à l’avenir à partir d’un point de contrôle.
-
Analyser le modèle aux étapes intermédiaires de l’entraînement.
-
Utiliser les points de contrôle avec S3 Express One Zone pour des vitesses d’accès accrues.
-
Utiliser les points de contrôle avec l’entraînement d’instances Spot gérées SageMaker AI pour économiser sur les coûts d’entraînement.
Le mécanisme d’entraînement de SageMaker utilise des conteneurs d’entraînement sur des instances Amazon EC2, et les fichiers de point de contrôle sont enregistrés dans un répertoire local des conteneurs (/opt/ml/checkpoints par défaut). SageMaker AI fournit la fonctionnalité permettant de copier les points de contrôle du chemin d’accès local vers Amazon S3, et synchronise automatiquement les points de contrôle de ce répertoire avec S3. Les points de contrôle existants dans S3 sont écrits dans le conteneur SageMaker AI au début de la tâche, ce qui permet aux tâches de reprendre à partir d’un point de contrôle. Les points de contrôle ajoutés au dossier S3 après le démarrage de la tâche ne sont pas copiés dans le conteneur d’entraînement. SageMaker AI écrit également de nouveaux points de contrôle depuis le conteneur vers S3 pendant l’entraînement. Si un point de contrôle est supprimé dans le conteneur SageMaker AI, il le sera également dans le dossier S3.
Vous pouvez utiliser les points de contrôle dans Amazon SageMaker AI avec la classe de stockage Amazon S3 Express One Zone (S3 Express One Zone) pour un accès plus rapide aux points de contrôle. Lorsque vous activez les points de contrôle et spécifiez l’URI S3 pour votre destination de stockage des points de contrôle, vous pouvez fournir un URI S3 pour un dossier dans un compartiment S3 à usage général ou dans un compartiment de répertoires S3. Les compartiments de répertoires S3 intégrés à SageMaker AI ne peuvent être chiffrés que via un chiffrement coté serveur avec des clés gérées par Amazon S3 (SSE-S3). Le chiffrement côté serveur avec des clés AWS KMS (SSE-KMS) n’est pas pris en charge actuellement. Pour plus d’informations sur S3 Express One Zone et les compartiments de répertoires S3, consultez Qu’est-ce que S3 Express One Zone ?
Si vous utilisez les points de contrôle avec l’entraînement d’instances Spot gérées SageMaker AI, SageMaker AI gère ceux-ci pour l’entraînement de votre modèle sur une instance Spot et la reprise de la tâche d’entraînement sur l’instance Spot suivante. Grâce à l’entraînement d’instances Spot gérées SageMaker AI, vous pouvez sensiblement réduire le temps facturable pour l’entraînement des modèles de ML. Pour plus d’informations, consultez Entraînement d’instances Spot gérées dans Amazon SageMaker AI.
Rubriques
Points de contrôle pour les cadres et les algorithmes dans SageMaker AI
Utilisez les points de contrôle pour enregistrer des instantanés des modèles de ML créés sur vos cadres préférés dans SageMaker AI.
Cadres et algorithmes SageMaker AI qui prennent en charge les points de contrôle
SageMaker AI prend en charge les points de contrôle pour les conteneurs de deep learning AWS et un sous-ensemble d’algorithmes intégrés sans nécessiter de modification des scripts d’entraînement. SageMaker AI enregistre les points de contrôle sur le chemin d’accès local par défaut '/opt/ml/checkpoints' et les copie vers Amazon S3.
-
Conteneurs de Deep Learning : TensorFlow
, PyTorch , MXNet etHugging Face Note
Si vous utilisez l’estimateur de cadre HuggingFace, vous devez spécifier un chemin de sortie de point de contrôle via des hyperparamètres. Pour plus d’informations, consultez Run training on Amazon SageMaker AI
dans la documentation HuggingFace. -
Algorithmes intégrés : Classification d’image, Détection d’objets, Segmentation sémantique et XGBoost (0.90-1 ou version ultérieure)
Note
Si vous utilisez l’algorithme XGBoost en mode cadre (mode script), vous devez apporter un script d’entraînement XGBoost avec la création de points de reprise configurée manuellement. Pour plus d’informations sur les méthodes d’entraînement XGBoost permettant d’enregistrer des instantanés de modèle, consultez Training XGBoost
dans la documentation du kit SDK XGBoost Python.
Si un algorithme prédéfini ne prenant pas en charge les points de contrôle est utilisé dans une tâche d’entraînement d’instances Spot gérées, SageMaker AI n’autorise pas un temps d’attente maximal supérieur à une heure pour la tâche afin de limiter le temps d’entraînement perdu en raison d’interruptions.
Pour les conteneurs d’entraînement personnalisés et autres cadres
Si vous utilisez vos propres conteneurs d’entraînement, scripts d’entraînement ou autres cadres non répertoriés dans la section précédente, vous devez configurer votre script d’entraînement correctement à l’aide de rappels ou d’API d’entraînement afin d’enregistrer des points de contrôle dans le chemin d’accès local ('/opt/ml/checkpoints') et les charger depuis le chemin d’accès local dans votre script d’entraînement. Les estimateurs SageMaker AI peuvent se synchroniser avec le chemin d’accès local et enregistrer les points de contrôle sur Amazon S3.
Considérations relatives à la création de points de contrôle
Tenez compte des éléments suivants lorsque vous utilisez des points de contrôle dans SageMaker AI.
-
Pour éviter les écrasements dans l’entraînement distribué à plusieurs instances, vous devez configurer manuellement les noms et les chemins d’accès des fichiers de points de contrôle dans votre script d’entraînement. La configuration de points de contrôle SageMaker AI de haut niveau spécifie un emplacement Amazon S3 unique, sans suffixes ni préfixes supplémentaires, pour baliser les points de contrôle de plusieurs instances.
-
Le kit SDK SageMaker Python ne prend pas en charge la configuration de haut niveau pour la fréquence de création de points de reprise. Pour contrôler la fréquence de création de points de reprise, modifiez votre script d’entraînement à l’aide des fonctions d’enregistrement du modèle du cadre ou des rappels de points de contrôle.
-
Si vous utilisez des points de contrôle SageMaker AI avec SageMaker Debugger et l’entraînement distribué SageMaker AI et que vous rencontrez des problèmes, consultez les pages suivantes pour obtenir des conseils de dépannage.