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.
Conteneurs Docker pour la formation et le déploiement de modèles
Amazon SageMaker AI utilise largement les conteneurs Docker pour les tâches de création et d'exécution. SageMaker L'IA fournit des images Docker prédéfinies pour ses algorithmes intégrés et les frameworks d'apprentissage profond pris en charge utilisés pour la formation et l'inférence. L'utilisation de conteneurs vous permet d'entraîner des algorithmes de machine learning et de déployer des modèles de manière rapide et fiable à n'importe quelle échelle. Les rubriques de cette section montrent comment déployer ces conteneurs pour vos propres cas d'utilisation. Pour plus d'informations sur la façon d'apporter vos propres conteneurs pour les utiliser avec Amazon SageMaker Studio Classic, consultezApportez votre propre image d' SageMaker IA.
Rubriques
- Scénarios d'exécution de scripts, d'apprentissage d'algorithmes ou de déploiement de modèles avec l' SageMaker IA
- Docker principes de base des conteneurs
- Images SageMaker AI Docker prédéfinies
- Conteneurs Docker personnalisés avec IA SageMaker
- Création de conteneurs avec vos propres algorithmes et modèles
- Exemples et informations supplémentaires : utilisez votre propre algorithme ou modèle
- Dépannage de votre Docker conteneurs et déploiements
Scénarios d'exécution de scripts, d'apprentissage d'algorithmes ou de déploiement de modèles avec l' SageMaker IA
Amazon SageMaker AI utilise toujours des conteneurs Docker pour exécuter des scripts, entraîner des algorithmes et déployer des modèles. Votre niveau d'engagement avec les conteneurs dépend de votre cas d'utilisation.
L'arbre de décision suivant illustre trois scénarios principaux : cas d'utilisation de conteneurs Docker prédéfinis avec SageMaker IA ; cas d'utilisation pour étendre un conteneur Docker prédéfini ; cas d'utilisation pour créer votre propre conteneur.

Rubriques
Cas d'utilisation de conteneurs Docker prédéfinis avec l'IA SageMaker
Tenez compte des cas d'utilisation suivants lorsque vous utilisez des conteneurs avec SageMaker IA :
-
Algorithme d' SageMaker IA prédéfini — Utilisez l'image fournie avec l'algorithme intégré. Consultez Utiliser les algorithmes intégrés ou les modèles préentraînés d'Amazon SageMaker AI pour plus d'informations.
-
Modèle personnalisé avec conteneur d' SageMaker IA prédéfini : si vous entraînez ou déployez un modèle personnalisé, mais que vous utilisez un framework doté d'un conteneur d' SageMaker IA prédéfini incluant TensorFlow et PyTorch, choisissez l'une des options suivantes :
-
Si vous n'avez pas besoin d'un package personnalisé et que le conteneur inclut déjà tous les packages requis : utilisez l'image Docker prédéfinie associée à votre framework. Pour de plus amples informations, veuillez consulter Images SageMaker AI Docker prédéfinies.
-
Si vous avez besoin d'installer un package personnalisé dans l'un des conteneurs préconçus : confirmez que l'image Docker prédéfinie autorise un fichier requirements.txt ou étendez le conteneur préconçu en fonction des cas d'utilisation suivants.
-
Cas d'utilisation pour étendre un conteneur Docker préconçu
Voici des cas d'utilisation pour étendre un conteneur Docker préconçu :
-
Vous ne pouvez pas importer les dépendances : étendez l'image Docker prédéfinie associée à votre framework. Pour plus d’informations, consultez Extension d'un conteneur préconçu.
-
Vous ne pouvez pas importer les dépendances dans le conteneur préconçu et celui-ci prend en charge le fichier requirements.txt : ajoutez toutes les dépendances requises dans le fichier requirements.txt. Les frameworks suivants prennent en charge l'utilisation de requirements.txt.
Cas d'utilisation pour créer votre propre conteneur
Si vous créez ou entraînez un modèle personnalisé et que vous avez besoin d'un framework personnalisé ne comportant pas d'image prédéfinie, créez un conteneur personnalisé.
À titre d'exemple de cas d'utilisation de formation et de déploiement d'un TensorFlow modèle, le guide suivant montre comment déterminer quelle option des sections précédentes des cas d'utilisation correspond au cas.
Supposons que vous ayez les exigences suivantes pour la formation et le déploiement d'un TensorFlow modèle.
-
Un TensorFlow modèle est un modèle personnalisé.
-
Comme un TensorFlow modèle va être construit dans le TensorFlow framework, utilisez le conteneur de framework TensorFlow prédéfini pour entraîner et héberger le modèle.
-
Si vous avez besoin de packages personnalisés dans votre script de point d'entrée
ou dans votre script d'inférence, étendez le conteneur préconçu ou utilisez un fichier requirements.txt pour installer les dépendances au moment de l'exécution.
Après avoir déterminé le type de conteneur dont vous avez besoin, la liste suivante fournit des détails sur les options répertoriées précédemment.
-
Utilisez un algorithme ou un framework d' SageMaker IA intégré. Dans la plupart des cas d'utilisation, vous pouvez utiliser les algorithmes et les cadres intégrés sans vous soucier des conteneurs. Vous pouvez entraîner et déployer ces algorithmes depuis la console SageMaker AI, le AWS Command Line Interface (AWS CLI), un bloc-notes Python ou le SDK Amazon SageMaker Python
. Vous pouvez le faire en spécifiant l'algorithme ou la version du framework lors de la création de votre estimateur. Les algorithmes intégrés disponibles sont détaillés et décrits dans la rubrique Algorithmes intégrés et modèles préentraînés dans Amazon SageMaker. Pour plus d'informations sur les frameworks disponibles, consultez Frameworks et langages de ML. Pour un exemple de formation et de déploiement d'un algorithme intégré à l'aide d'un bloc-notes Jupyter exécuté dans une instance de SageMaker bloc-notes, consultez la Guide de configuration d'Amazon SageMaker AI rubrique. -
Utilisez des images de conteneurs SageMaker IA prédéfinies. Vous pouvez également utiliser les algorithmes et les frameworks intégrés à l'aide de conteneurs Docker. SageMaker L'IA fournit des conteneurs pour ses algorithmes intégrés et des images Docker prédéfinies pour certains des frameworks d'apprentissage automatique les plus courants, tels qu'Apache MXNet, TensorFlow PyTorch, et Chainer. Pour une liste complète des images SageMaker AI disponibles, consultez Available Deep Learning Containers Images
. Il prend également en charge les bibliothèques de machine learning telles que scikit-learn et Spark ML. Si vous utilisez le SDK Amazon SageMaker Python , vous pouvez déployer les conteneurs en transmettant l'URI complet du conteneur à leur classe de SDK SageMaker Estimator
AI respective. Pour la liste complète des frameworks d'apprentissage profond actuellement pris en charge par l' SageMaker IA, voirImages SageMaker AI Docker prédéfinies pour le deep learning. Pour obtenir des informations sur les images de conteneur préconçues scikit-learn et SparkML, consultez Accès aux images Docker pour Scikit-learn et Spark ML. Pour plus d'informations sur l'utilisation des frameworks avec le SDK Amazon SageMaker Python, consultez leurs rubriques respectives dansFrameworks et langages de machine learning. -
Étendez une image de conteneur SageMaker AI prédéfinie. Si vous souhaitez étendre un algorithme d' SageMaker IA prédéfini ou modéliser une image Docker, vous pouvez modifier l'image SageMaker AI pour répondre à vos besoins. Pour un exemple, voir Extension de nos PyTorch conteneurs
. -
Adapter une image de conteneur existante : si vous souhaitez adapter une image de conteneur préexistante pour qu'elle fonctionne avec l' SageMaker IA, vous devez modifier le conteneur Docker pour activer le kit d' SageMaker apprentissage ou d'inférence. Pour obtenir un exemple sur la façon de générer vos propres conteneurs pour entraîner et héberger un algorithme, veuillez consulter Bring Your Own R Algorithm (Importer son propre algorithme R).
Dépannage de votre Docker conteneurs et déploiements
Les erreurs suivantes sont courantes que vous pouvez rencontrer lors de l'utilisation Docker conteneurs avec SageMaker IA. Chaque erreur est suivie d'une solution.
-
Erreur : SageMaker AI a perdu le Docker démon.
Pour corriger cette erreur, redémarrez Docker à l'aide de la commande suivante.
sudo service docker restart
-
Erreur : Le
/tmp
répertoire de votre Docker le conteneur n'a plus d'espace.Docker les conteneurs utilisent les
/tmp
partitions/
et pour stocker le code. Ces partitions peuvent se remplir facilement lorsque des modules de code volumineux sont utilisés en mode local. Le SDK SageMaker AI Python permet de spécifier un répertoire temporaire personnalisé pour votre répertoire racine en mode local afin d'éviter ce problème.Pour spécifier le répertoire temporaire personnalisé dans le stockage en volume Amazon Elastic Block Store, créez un fichier au chemin suivant
~/.sagemaker/config.yaml
et ajoutez la configuration suivante. Le répertoire que vous spécifiez commecontainer_root
doit déjà exister. Le SDK SageMaker AI Python n'essaiera pas de le créer.local: container_root: /home/ec2-user/SageMaker/temp
Avec cette configuration, le mode local utilise le répertoire
/temp
et non le répertoire par défaut/tmp
. -
Erreurs liées au manque d'espace sur les instances de SageMaker bloc-notes
A Docker Un conteneur qui s'exécute sur des instances de SageMaker bloc-notes utilise le volume Amazon EBS racine de l'instance de bloc-notes par défaut. Pour résoudre les erreurs liées au manque d'espace, indiquez le chemin du volume Amazon EBS attaché à l'instance de bloc-notes dans le cadre du paramètre de volume de Docker commandes.
docker run -v
EBS-volume-path
:container-path