Présentation
L’orchestrateur de charge de travail des opérations de machine learning (MLOps) rationalise le déploiement des modèles de machine learning et applique les pratiques exemplaires en matière de capacité de mise à l’échelle, de fiabilité et d’efficacité. Cette solution AWS est un cadre extensible doté d’une interface standard pour gérer les pipelines de ML au sein des services AWS ML et tiers.
Cette solution inclut un modèle AWS CloudFormation. Ce modèle permet l’entraînement des modèles, le chargement de modèles préentraînés (également appelés Bring your own model ou BYOM), la configuration de l’orchestration du pipeline et la surveillance du fonctionnement du pipeline. En mettant en œuvre cette solution, votre équipe peut accroître son agilité et son efficacité, en répétant les processus réussis à grande échelle.
Avantages
Lancez un pipeline préconfiguré via un appel d’API ou un compartiment Amazon S3.
Automatisez la surveillance des modèles avec Amazon SageMaker BYOM et offrez un point de terminaison d’inférence sans serveur avec détection de dérive.
Utilisez le tableau de bord des modèles Amazon SageMaker pour afficher, rechercher et explorer toutes vos ressources Amazon SageMaker, notamment 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, qui peut être un ingénieur DevOps ou un autre type d’utilisateur, lance cette solution dans son compte AWS et sélectionne ses options préférées. Par exemple, il peut utiliser le registre des modèles Amazon SageMaker ou un compartiment Amazon Simple Storage Service (Amazon S3) existant.
Étape 2
L’orchestrateur charge les ressources requises, comme l’artefact du modèle, les données d’entraînement ou le fichier zip de l’algorithme personnalisé, dans le compartiment des ressources Amazon S3. 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
Une instance AWS CodePipeline à compte unique est allouée en effectuant un appel d’API à Amazon API Gateway, soit en chargeant le file mlops-config.json dans le compartiment Amazon S3 de configuration.
Étape 3b
Selon le type de pipeline, la fonction AWS Lambda d’orchestration empaquette le modèle CloudFormation cible, ses paramètres et ses configurations à l’aide du corps de l’appel d’API ou du fichier mlops-config.json. L’orchestrateur utilise ensuite ce modèle et ces configurations packagés comme scène source pour l’instance CodePipeline.
Étape 4
L’étape DeployPipeline prend le modèle CloudFormation packagé et ses paramètres ou ses 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, qui peut être un ingénieur DevOps ou un autre utilisateur disposant d’un accès administrateur au compte de l’orchestrateur, fournit les informations AWS Organizations, telles que les identifiants et numéros de compte des unités organisationnelles de développement, de prédéploiement et de production.
Il précise également les options souhaitées, qui peuvent inclure l’utilisation du registre de modèles SageMaker ou la transmission d’un compartiment Amazon S3 existant, puis lance la solution dans son compte AWS.
Étape 2
L’orchestrateur charge les ressources requises pour le pipeline cible, telles que l’artefact du modèle, les données d’apprentissage et/ou le fichier zip de l’algorithme personnalisé, dans le compartiment des ressources Amazon S3 du compte AWS de l’orchestrateur. Si le registre de modèles SageMaker est utilisé, l’orchestrateur (ou un pipeline automatisé) doit enregistrer le modèle à l’aide du registre de modèles.
Étape 3a
Une instance CodePipeline multicomptes est allouée soit en envoyant un appel d’API à API Gateway, soit en chargeant le fichier mlops-config.json dans le compartiment de configuration Amazon S3.Étape 3b
Selon le type de pipeline, la fonction Lambda d’orchestration empaquette la cible
Le modèle CloudFormation, ses paramètres et ses configurations utilisant le corps de l’appel d’API ou du fichier mlops-config.json. L’orchestrateur utilise ensuite ce modèle et ces configurations packagés comme scène source pour l’instance CodePipeline.
Étape 4
L’étape DeployDev prend le package constitué du modèle CloudFormation et de ses paramètres ou ses 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 pour passer à l’étape suivante, 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 production. Une notification Amazon 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