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.
Utilisation de conteneurs Docker pour créer des modèles
Amazon SageMaker utilise largement les conteneurs Docker pour les tâches de création et d'exécution. SageMaker 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 SageMaker image.
Rubriques
- Scénarios d'exécution de scripts, d'apprentissage d'algorithmes ou de déploiement de modèles avec SageMaker
- Principes de base des conteneurs Docker
- Utiliser des images SageMaker Docker prédéfinies
- Adapter votre propre conteneur Docker pour qu'il fonctionne avec SageMaker
- Création d'un conteneur avec vos propres algorithmes et modèles
- Exemples et informations supplémentaires : utilisez votre propre algorithme ou modèle
- Résolution des problèmes de vos conteneurs Docker
Scénarios d'exécution de scripts, d'apprentissage d'algorithmes ou de déploiement de modèles avec SageMaker
Amazon utilise SageMaker 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.
Cas d'utilisation de conteneurs Docker prédéfinis avec SageMaker
Tenez compte des cas d'utilisation suivants lorsque vous utilisez des conteneurs avec SageMaker :
-
SageMaker Algorithme prédéfini : utilisez l'image fournie avec l'algorithme intégré. Consultez Utiliser les algorithmes SageMaker intégrés ou les modèles préentraînés d'Amazon pour plus d'informations.
-
Modèle personnalisé avec SageMaker conteneur prédéfini : si vous entraînez ou déployez un modèle personnalisé, mais que vous utilisez un framework doté d'un SageMaker conteneur 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 plus d’informations, consultez Utiliser des images SageMaker 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é.
L'arbre de décision suivant illustre les informations contenues dans les trois listes précédentes : Cas d'utilisation pour l'utilisation de conteneurs Docker prédéfinis avec SageMaker ; Cas d'utilisation pour étendre un conteneur Docker prédéfini ; Cas d'utilisation pour créer votre propre conteneur.
À titre d'exemple d'utilisation par un client, pour former et déployer un TensorFlow modèle, reportez-vous aux sections précédentes de Cas d'utilisation pour déterminer le conteneur dont vous avez besoin. Voici quelques considérations que vous pouvez prendre en compte pour choisir votre conteneur :
-
Un TensorFlow modèle est un modèle personnalisé.
-
Étant donné qu'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, les informations suivantes fournissent des détails sur les options précédemment répertoriées.
-
Utilisez un SageMaker algorithme ou un framework 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 SageMaker console, 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 Utilisez les algorithmes SageMaker intégrés d'Amazon ou des modèles pré-entraînés. 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 Mise en route rubrique. -
Utilisez des images de SageMaker conteneur prédéfinies. Vous pouvez également utiliser les algorithmes et les frameworks intégrés à l'aide de conteneurs Docker. SageMaker 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 SageMaker images 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 SageMaker SDK Estimator
respective. Pour la liste complète des frameworks d'apprentissage profond actuellement pris en charge par SageMaker, voirImages SageMaker Docker préconçues pour le deep learning. Pour obtenir des informations sur les images de conteneur préconçues scikit-learn et SparkML, consultez Images Docker Amazon SageMaker préconçues 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 SageMaker conteneur prédéfinie. Si vous souhaitez étendre un SageMaker algorithme prédéfini ou modéliser une image Docker, vous pouvez modifier l' SageMaker image 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 SageMaker, 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).