Aperçu
L’orchestrateur de charges de travail MLOps vous permet de simplifier et d’appliquer les bonnes pratiques d’architecture pour la production de modèles de machine learning (ML). Cette solution AWS est un cadre extensible qui fournit une interface standard de gestion des pipelines ML pour les services AWS ML et les services tiers.
Le modèle de la solution vous permet d’entraîner les modèles, de charger les modèles entraînés (également appelés Bring Your Own Model, BYOM), de configurer l’orchestration du pipeline et de surveiller les opérations de ce dernier. En utilisant cette solution, vous pouvez améliorer l’agilité et l’efficacité de votre équipe en lui permettant de répéter les processus réussis à grande échelle.
Avantages
Utilisez le tableau de bord du modèle Amazon SageMaker pour afficher les ressources Amazon SageMaker créées par votre solution (telles que les modèles, les points de terminaison, les cartes de modèle et les tâches de transformation par lots).
Détails techniques
Vous pouvez déployer automatiquement cette architecture à l’aide du guide d’implémentation et du modèle AWS CloudFormation qui l’accompagne. Afin de s’adapter aux différents cas d’utilisation et besoins professionnels, la solution fournit deux modèles AWS CloudFormation :
- Utilisez le modèle monocompte pour déployer tous les pipelines de la solution dans le même compte AWS. Cette option est idéale pour les charges de travail d’expérimentation, de développement et/ou de production à petite échelle.
- Utilisez le modèle multicompte pour allouer plusieurs environnements (par exemple pour le développement, le prédéploiement et la production) sur différents comptes AWS. Cette approche offre de nombreux avantages : amélioration de la gouvernance, renforcement de la sécurité et du contrôle du déploiement du pipeline ML, expérimentation sûre, innovation plus rapide et sécurité et disponibilité des données et des charges de travail de production garanties à des fins de continuité des activités.
-
Option 1 – Déploiement monocompte
-
Option 2 – Déploiement sur plusieurs comptes
-
Option 1 – Déploiement monocompte
-
Étape 1
L’orchestrateur (propriétaire de la solution ou ingénieur DevOps) lance la solution dans le compte AWS et sélectionne les options souhaitées (par exemple en utilisant le registre des modèles Amazon SageMaker ou en fournissant un compartiment Amazon Simple Storage Service [Amazon S3] existant).Étape 2
L’orchestrateur charge les ressources requises pour le pipeline cible (par exemple l’artefact du modèle, les données de formation ou le fichier zip de l’algorithme personnalisé) dans le compartiment des ressources S3. Si vous utilisez le registre des modèles Amazon SageMaker, l’orchestrateur (ou un pipeline automatisé) doit enregistrer le modèle à l’aide du registre de modèles.Étape 3a
La solution alloue un compte uniqueAWS CodePipeline en envoyant un appel d’API à Amazon API Gateway ou en effectuant un commit du fichier mlops-config.json dans le référentiel Git.
Étape 3b
En fonction du type de pipeline, la fonction AWS Lambda de l’orchestrateur regroupe en package le modèle AWS CloudFormation cible et ses paramètres et configurations à l’aide du corps de l’appel d’API ou du fichier mlops-config.json. Elle utilise ensuite ce package comme étape source pour l’instance CodePipeline.Étape 4
L’étape DeployPipeline prend le package du modèle CloudFormation et de ses paramètres et configurations et déploie le pipeline cible dans le même compte.Étape 5
Une fois le pipeline cible alloué, les utilisateurs peuvent avoir accès à ses fonctionnalités. Une notification Amazon Simple Notification Service (Amazon SNS) est envoyée à l'e-mail fourni dans les paramètres de lancement de la solution. -
Option 2 – Déploiement sur plusieurs comptes
-
Étape 1
L’orchestrateur (le propriétaire de la solution ou l’ingénieur DevOps avec un accès de type administrateur au compte de l’orchestrateur) fournit les informations AWS Organizations (par exemple les identifiants d’unités d’organisation de développement, de prédéploiement et de production ainsi que les numéros de compte).
Il spécifie également les options souhaitées (par exemple en utilisant le registre de modèles SageMaker ou en fournissant un compartiment S3 existant), puis lancer la solution dans leur compte AWS.
Étape 2
L’orchestrateur charge les ressources requises pour le pipeline cible (par exemple l’artefact du modèle, les données d’entraînement ou le fichier zip de l’algorithme personnalisé) dans le compartiment des ressources S3 au sein du compte AWS de l’orchestrateur. Si vous utilisez le registre de modèles SageMaker, l’orchestrateur (ou un pipeline automatisé) doit enregistrer le modèle à l’aide du registre de modèles.
Étape 3a
La solution alloue une instance CodePipeline multicompte en envoyant un appel d’API à API Gateway ou en engageant le fichier mlops-config.json dans le référentiel Git.
Étape 3b
En fonction du type de pipeline, la fonction Lambda de l’orchestrateur regroupe en package le modèle CloudFormation cible et ses paramètres et configurations pour chaque étape à l’aide du corps de l’appel d’API ou du fichier mlops-config.json. Elle utilise ensuite ce package comme étape source pour l’instance CodePipeline.Étape 4
L’étape DeployDev prend le package constitué du modèle CloudFormation et de ses paramètres et configurations et déploie le pipeline cible dans le compte de développement.Étape 5
Une fois le pipeline cible alloué dans le compte de développement, le développeur peur effectuer des itérations sur ce pipeline.Étape 6
Une fois le développement terminé, l'orchestrateur (ou un autre compte autorisé) approuve manuellement l'action DeployStaging afin de passer à l'étape DeployStaging.Étape 7
L'étape DeployStaging déploie le pipeline cible dans le compte de prédéploiement à l'aide de la configuration de prédéploiement.Étape 8
Les testeurs effectuent différents tests sur le pipeline ainsi déployé.Étape 9
Une fois que le pipeline a passé avec succès les tests, l'orchestrateur peut approuver l'action DeployProd.Étape 10
L'étape DeployProd déploie le pipeline cible (avec les configurations de production) dans le compte de production.Étape 11
Le pipeline cible est en cours de production. Une notification SNS est envoyée à l’adresse e-mail fournie dans les paramètres de lancement de la solution.
Contenu connexe
En collaboration avec les équipes AWS Partner Solutions Architect et la Bibliothèque de solutions AWS, Cognizant a créé sa solution MLOps « Orchestrateur de cycle de vie de modèle » à partir de la solution MLOps « Orchestrateur de charge de travail ».
- Date de publication