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.
Créez une image de conteneur Docker personnalisée SageMaker et utilisez-la pour l'entraînement des modèles dans AWS Step Functions
Créé par Julia Bluszcz (AWS), Neha Sharma (), Aubrey Oosthuizen (AWS), Mohan Gowda Purushothama () et Mateusz AWS Zaremba () AWS AWS
Environnement : Production | Technologies : apprentissage automatique et intelligence artificielle ; DevOps | AWSservices : Amazon ECR ; Amazon SageMaker ; AWS Step Functions |
Récapitulatif
Ce modèle montre comment créer une image de conteneur Docker pour Amazon SageMaker et l'utiliser comme modèle d'entraînement dans AWSStep Functions. En regroupant des algorithmes personnalisés dans un conteneur, vous pouvez exécuter presque n'importe quel code de l' SageMaker environnement, quels que soient le langage de programmation, le framework ou les dépendances.
Dans l'exemple de SageMaker bloc-notes fourni, l'image personnalisée du conteneur Docker est stockée dans Amazon Elastic Container Registry (AmazonECR). Step Functions utilise ensuite le conteneur stocké sur Amazon ECR pour exécuter un script de traitement Python pour SageMaker. Le conteneur exporte ensuite le modèle vers Amazon Simple Storage Service (Amazon S3).
Conditions préalables et limitations
Prérequis
Un AWS compte actif
Un rôle AWS Identity and Access Management (IAM) pour les utilisateurs SageMaker des autorisations Amazon S3
Connaissance de Python
Familiarité avec Amazon Python SageMaker SDK
Connaissance de l'interface de ligne de AWS commande () AWS CLI
Connaissance de AWS SDK Python (Boto3)
Connaissance d'Amazon ECR
Connaissance de Docker
Versions du produit
AWSStep Functions Data Science SDK version 2.3.0
Amazon SageMaker Python SDK version 2.78.0
Architecture
Le schéma suivant montre un exemple de flux de travail permettant de créer une image de conteneur Docker pour SageMaker, puis de l'utiliser pour un modèle d'entraînement dans Step Functions :
Le schéma suivant illustre le flux de travail suivant :
Un data scientist ou un DevOps ingénieur utilise un SageMaker bloc-notes Amazon pour créer une image de conteneur Docker personnalisée.
Un data scientist ou un DevOps ingénieur stocke l'image du conteneur Docker dans un référentiel ECR privé Amazon qui se trouve dans un registre privé.
Un data scientist ou un DevOps ingénieur utilise le conteneur Docker pour exécuter une tâche de SageMaker traitement Python dans un flux de travail Step Functions.
Automatisation et évolutivité
Dans ce modèle, l'exemple de SageMaker bloc-notes utilise un type d'instance de ml.m5.xlarge
bloc-notes. Vous pouvez modifier le type d'instance en fonction de votre cas d'utilisation. Pour plus d'informations sur les types d'instances de SageMaker bloc-notes, consultez Amazon SageMaker Pricing
Outils
Amazon Elastic Container Registry (AmazonECR) est un service géré de registre d'images de conteneurs sécurisé, évolutif et fiable.
Amazon SageMaker est un service géré d'apprentissage automatique (ML) qui vous aide à créer et à former des modèles de machine learning, puis à les déployer dans un environnement hébergé prêt pour la production.
Amazon SageMaker Python SDK
est une bibliothèque open source pour la formation et le déploiement de modèles d'apprentissage automatique sur SageMaker. AWSStep Functions est un service d'orchestration sans serveur qui vous permet de combiner les fonctions AWS Lambda et d'autres AWS services pour créer des applications critiques pour l'entreprise.
AWSStep Functions Data Science Python SDK
est une bibliothèque open source qui vous aide à créer des flux de travail Step Functions qui traitent et publient des modèles d'apprentissage automatique.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Configurez Amazon ECR et créez un nouveau registre privé. | Si ce n'est pas déjà fait, configurez Amazon ECR en suivant les instructions de la section Configuration avec Amazon ECR du guide de ECR l'utilisateur Amazon. Chaque AWS compte est associé à un ECR registre Amazon privé par défaut. | DevOps ingénieur |
Créez un référentiel ECR privé Amazon. | Suivez les instructions de la section Création d'un dépôt privé dans le guide de ECR l'utilisateur Amazon. Remarque : Le référentiel que vous créez est l'endroit où vous stockerez vos images de conteneur Docker personnalisées. | DevOps ingénieur |
Créez un Dockerfile qui inclut les spécifications nécessaires pour exécuter votre tâche de SageMaker traitement. | Créez un Dockerfile qui inclut les spécifications nécessaires pour exécuter votre tâche de SageMaker traitement en configurant un Dockerfile. Pour obtenir des instructions, consultez Adapter votre propre conteneur de formation dans le manuel Amazon SageMaker Developer Guide. Pour plus d'informations sur Dockerfiles, consultez la référence Dockerfile Exemple de cellules de code de bloc-notes Jupyter pour créer un Dockerfile Cellule 1
Cellule 2
| DevOps ingénieur |
Créez votre image de conteneur Docker et envoyez-la sur AmazonECR. |
Pour plus d'informations, voir Création et enregistrement du conteneur Exemple de cellules de code de bloc-notes Jupyter pour créer et enregistrer une image Docker Important : Avant d'exécuter les cellules suivantes, assurez-vous d'avoir créé un Dockerfile et de l'avoir stocké dans le répertoire appelé. Cellule 1
Cellule 2
Cellule 3
Cellule 4
Remarque : vous devez authentifier votre client Docker auprès de votre registre privé afin de pouvoir utiliser les commandes | DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Créez un script Python qui inclut votre logique de traitement personnalisé et d'entraînement du modèle. | Écrivez une logique de traitement personnalisée à exécuter dans votre script de traitement des données. Ensuite, enregistrez-le sous la forme d'un script Python nommé Pour plus d'informations, voir Apportez votre propre modèle avec SageMaker le mode Script activé Exemple de script Python incluant un traitement personnalisé et une logique d'entraînement du modèle
| Spécialiste des données |
Créez un flux de travail Step Functions qui inclut votre tâche de SageMaker traitement comme l'une des étapes. | Installez et importez AWSStep Functions Data Science SDK Important : Assurez-vous d'avoir créé un rôle d'IAMexécution pour Step Functions Exemple de configuration d'environnement et script de formation personnalisé à télécharger sur Amazon S3
Exemple SageMaker de définition d'étape de traitement utilisant une ECR image Amazon personnalisée et un script Python Remarque : Assurez-vous d'utiliser le
Exemple de flux de travail Step Functions qui exécute une tâche SageMaker de traitement Remarque : Cet exemple de flux de travail inclut uniquement l'étape de SageMaker traitement, et non un flux de travail Step Functions complet. Pour un exemple complet de flux de travail, voir Example notebooks SageMaker dans
| Spécialiste des données |
Ressources connexes
Données de traitement (Amazon SageMaker Developer Guide)
Adaptation de votre propre conteneur de formation (Amazon SageMaker Developer Guide)