Logo Zéphyrnet

Utiliser le partage de cartes modèles Amazon SageMaker pour améliorer la gouvernance des modèles | Services Web Amazon

Date :

À mesure que les technologies d’intelligence artificielle (IA) et d’apprentissage automatique (ML) sont devenues courantes, de nombreuses entreprises ont réussi à créer des applications métier critiques alimentées par des modèles ML à grande échelle en production. Cependant, étant donné que ces modèles de ML prennent des décisions commerciales critiques pour l'entreprise, il est important que les entreprises ajoutent des garde-fous appropriés tout au long de leur cycle de vie de ML. Les garde-corps garantissent que la sécurité, la confidentialité et la qualité du code, de la configuration, des données et de la configuration du modèle utilisés dans le cycle de vie du modèle sont versionnées et préservées.

La mise en œuvre de ces garde-fous devient de plus en plus difficile pour les entreprises, car les processus et activités de ML au sein des entreprises deviennent plus complexes en raison de l'inclusion de processus profondément impliqués qui nécessitent la contribution de plusieurs parties prenantes et personnalités. En plus des ingénieurs de données et des data scientists, des processus opérationnels ont été inclus pour automatiser et rationaliser le cycle de vie du ML. De plus, l'augmentation du nombre d'intervenants commerciaux et, dans certains cas, les examens juridiques et de conformité nécessitent des capacités permettant d'ajouter de la transparence à la gestion du contrôle d'accès, du suivi des activités et du reporting tout au long du cycle de vie du ML.

Le cadre qui donne une visibilité systématique sur le développement, la validation et l'utilisation des modèles ML est appelé gouvernance ML. Lors d'AWS re:Invent 2022, AWS a introduit de nouveaux outils de gouvernance ML en Amazon Sage Maker ce qui simplifie le contrôle d'accès et améliore la transparence de vos projets ML. L'un des outils disponibles dans le cadre de la gouvernance du ML est Cartes modèles Amazon SageMaker, qui a la capacité de créer une source unique de vérité pour les informations sur les modèles en centralisant et en standardisant la documentation tout au long du cycle de vie du modèle.

Les cartes modèles SageMaker vous permettent de standardiser la façon dont les modèles sont documentés, obtenant ainsi une visibilité sur le cycle de vie d'un modèle, depuis la conception, la construction, la formation et l'évaluation. Les cartes modèles sont destinées à être une source unique de vérité pour les métadonnées commerciales et techniques sur le modèle qui peuvent être utilisées de manière fiable à des fins d'audit et de documentation. Ils fournissent une fiche d’information sur le modèle qui est importante pour la gouvernance du modèle.

Lorsque vous faites évoluer vos modèles, vos projets et vos équipes, nous vous recommandons, à titre de bonne pratique, d'adopter une stratégie multi-comptes qui assure l'isolation des projets et des équipes pour le développement et le déploiement de modèles ML. Pour plus d'informations sur l'amélioration de la gouvernance de vos modèles ML, reportez-vous à Améliorez la gouvernance de vos modèles de machine learning avec Amazon SageMaker.

Aperçu de l'architecture

L'architecture est implémentée comme suit :

  • Compte Data Science – Les Data Scientists mènent leurs expériences dans Studio SageMaker et créez une configuration MLOps pour déployer des modèles dans des environnements de préparation/production à l'aide Projets SageMaker.
  • Compte ML Shared Services – Les MLOps configurés à partir du compte Data Science déclencheront des pipelines d'intégration continue et de livraison continue (CI/CD) à l'aide de Code AWSCommit et les AWS CodePipeline.
  • Compte de développement – ​​Les pipelines CI/CD déclencheront en outre des pipelines ML dans ce compte couvrant le prétraitement des données, la formation du modèle et le post-traitement comme l'évaluation et l'enregistrement du modèle. La sortie de ces pipelines déploiera le modèle dans Points de terminaison SageMaker à consommer à des fins d’inférence. En fonction de vos exigences de gouvernance, les comptes Data Science & Dev peuvent être fusionnés en un seul compte AWS.
  • Compte de données – Les pipelines ML exécutés dans le compte de développement extrairont les données de ce compte.
  • Comptes de test et de production – Les pipelines CI/CD poursuivront le déploiement après le compte de développement pour configurer la configuration des points de terminaison SageMaker dans ces comptes.
  • Sécurité et gouvernance – Des services tels qu'AWS Identity and Access Management (IAM), AWS IAM Identity Center, AWS CloudTrail, AWS Key Management Service (AWS KMS), Amazon CloudWatch et AWS Security Hub seront utilisés sur ces comptes dans le cadre de la sécurité et gouvernance.

Le diagramme suivant illustre cette architecture.

Pour plus d'informations sur la configuration d'une architecture ML multi-comptes évolutive, reportez-vous à Fondation MLOps pour les entreprises avec Amazon SageMaker.

Nos clients ont besoin de pouvoir partager des cartes de modèle entre comptes afin d'améliorer la visibilité et la gouvernance de leurs modèles grâce aux informations partagées dans la carte de modèle. Désormais, grâce au partage de modèles de cartes entre comptes, les clients peuvent profiter des avantages d'une stratégie multi-comptes tout en ayant accès aux modèles de cartes disponibles dans leur organisation, afin d'accélérer la collaboration et d'assurer la gouvernance.

Dans cet article, nous montrons comment configurer et accéder aux cartes modèles sur les comptes MDLC (Model Development Lifecycle) à l'aide de la nouvelle fonctionnalité de partage entre comptes de la carte modèle. Tout d'abord, nous décrirons un scénario et une architecture pour configurer la fonctionnalité de partage entre comptes de la carte modèle, puis nous approfondirons chaque composant de la façon de configurer et d'accéder aux cartes modèles partagées entre les comptes afin d'améliorer la visibilité et la gouvernance du modèle.

Vue d'ensemble de la solution

Lors de la création de modèles ML, nous vous recommandons de configurer une architecture multi-comptes pour fournir une isolation de la charge de travail améliorant la sécurité, la fiabilité et l'évolutivité. Pour cet article, nous supposerons la création et le déploiement d'un modèle pour le cas d'utilisation du Customer Churn. Le diagramme d'architecture qui suit montre l'une des approches recommandées – la carte modèle centralisée – pour gérer une carte modèle dans une architecture MDLC (Machine Learning Model-Development Lifecycle) multicompte. Cependant, vous pouvez également adopter une autre approche, une carte modèle en étoile. Dans cet article, nous nous concentrerons uniquement sur une approche de carte modèle centralisée, mais les mêmes principes peuvent être étendus à une approche en étoile. La principale différence est que chaque compte satellite conservera sa propre version du modèle de carte et disposera de processus d'agrégation et de copie sur un compte centralisé.

Le diagramme suivant illustre cette architecture.

L'architecture est implémentée comme suit :

  1. Le Lead Data Scientist est invité à résoudre le cas d'utilisation de Customer Churn à l'aide du ML, et il démarre le projet ML en créant une carte modèle pour le modèle Customer Churn V1 au statut Draft dans le compte ML Shared Services.
  2. Grâce à l'automatisation, cette carte modèle est partagée avec le compte ML Dev
  3. Data Scientist crée le modèle et commence à remplir les informations via des API dans la carte modèle en fonction de ses résultats d'expérimentation et le statut de la carte modèle est défini sur En attente de révision.
  4. Grâce à l'automatisation, cette carte modèle est partagée avec le compte de test ML
  5. ML Engineer (MLE) exécute des tests d'intégration et de validation dans le compte ML Test et le modèle dans le registre central est marqué En attente d'approbation
  6. L'approbateur de modèle examine les résultats du modèle avec la documentation à l'appui fournie dans la fiche modèle centrale et approuve la fiche modèle pour le déploiement en production.
  7. Grâce à l'automatisation, cette carte modèle est partagée avec le compte ML Prod en mode lecture seule.

Pré-requis

Avant de commencer, assurez-vous que vous disposez des conditions préalables suivantes:

  • Deux Comptes AWS.
  • Dans les deux comptes AWS, un rôle de fédération IAM avec accès administrateur pour effectuer les opérations suivantes :
    • Créez, modifiez, affichez et supprimez des cartes modèles dans Amazon SageMaker.
    • Créez, modifiez, affichez et supprimez un partage de ressources dans AWS RAM.

Pour plus d'informations, reportez-vous à Exemples de stratégies IAM pour AWS RAM.

Configuration du partage de carte de modèle

Le compte sur lequel les cartes modèles sont créées est le compte de carte modèle. Les utilisateurs du compte de carte modèle les partagent avec les comptes partagés où ils peuvent être mis à jour. Les utilisateurs du compte de carte modèle peuvent partager leurs cartes modèles via Gestionnaire d'accès aux ressources AWS (AWS RAM). AWS RAM vous aide à partager des ressources entre les comptes AWS.

Dans la section suivante, nous montrons comment partager des cartes modèles.

Tout d’abord, créez une carte modèle pour un cas d’utilisation de Customer Churn comme décrit précédemment. Sur la console Amazon SageMaker, développez la section Gouvernance et choisissez Cartes modèles.

Nous créons la carte modèle dans Draft statut avec le nom Carte-modèle-de-désabonnement-client. Pour plus d'informations, reportez-vous à Créer une carte modèle. Dans cette démonstration, vous pouvez laisser le reste des champs vides et créer la fiche modèle.

Vous pouvez également utiliser la commande AWS CLI suivante pour créer la carte modèle :

aws sagemaker create-model-card --model-card-name Customer-Churn-Model-Card --content "{"model_overview": {"model_owner": "model-owner","problem_type": "Customer Churn Model"}}" --model-card-status Draft

Maintenant, créez le partage entre comptes à l'aide d'AWS RAM. Dans la console AWS RAM, sélectionnez Créer un partage de ressources.

Entrez un nom pour le partage de ressources, par exemple « Customer-Churn-Model-Card-Share ». Dans les ressources – optionnel section, sélectionnez le type de ressource comme Cartes modèles SageMaker. La carte modèle que nous avons créée à l'étape précédente apparaîtra dans la liste.

Sélectionnez ce modèle et il apparaîtra dans la section Ressources sélectionnées. Sélectionnez à nouveau cette ressource comme indiqué dans les étapes suivantes et choisissez Suivant.

Sur la page suivante, vous pouvez sélectionner les autorisations gérées. Vous pouvez créer des autorisations personnalisées ou utiliser l'option par défaut "AWSRAMPermissionSageMakerModelCards"Et sélectionnez Suivant. Pour plus d'informations, reportez-vous à Gestion des autorisations dans AWS RAM.

Sur la page suivante, vous pouvez sélectionner les principaux. Sous Sélectionner le type de principal, choisissez Compte AWS et saisissez l'identifiant du compte du partage de la carte modèle. Sélectionner Ajouter et passez à la page suivante.

Sur la dernière page, vérifiez les informations et sélectionnez « Créer un partage de ressources ». Alternativement, vous pouvez utiliser ce qui suit CLI AWS commande pour créer un partage de ressources :

aws ram create-resource-share --name <Name of the Model Card> aws ram associate-resource-share --resource-share-arn <ARN of resource share create from the previous command> --resource-arns <ARN of the Model Card>

Sur la console AWS RAM, vous voyez les attributs du partage de ressources. Assurez-vous que les ressources partagées, les autorisations gérées et les principaux partagés se trouvent dans le champ «Associated»Statut.

Après avoir utilisé AWS RAM pour créer un partage de ressources, les mandataires spécifiés dans le partage de ressources peuvent se voir accorder l'accès aux ressources du partage.

  • Si vous activez le partage AWS RAM avec AWS Organizations et que les mandataires avec lesquels vous partagez se trouvent dans la même organisation que le compte de partage, ces mandataires peuvent recevoir l'accès dès que leur administrateur de compte leur accorde des autorisations.
  • Si vous n'activez pas le partage AWS RAM avec les organisations, vous pouvez toujours partager des ressources avec des comptes AWS individuels appartenant à votre organisation. L'administrateur du compte consommateur reçoit une invitation à rejoindre le partage de ressources et doit accepter l'invitation avant que les entités spécifiées dans le partage de ressources puissent accéder aux ressources partagées.
  • Vous pouvez également partager avec des comptes extérieurs à votre organisation si le type de ressource le prend en charge. L'administrateur du compte consommateur reçoit une invitation à rejoindre le partage de ressources et doit accepter l'invitation avant que les entités spécifiées dans le partage de ressources puissent accéder aux ressources partagées.

Pour plus d'informations sur AWS RAM, reportez-vous à Termes et concepts pour AWS RAM.

Accéder aux cartes de modèles partagés

Nous pouvons maintenant nous connecter au compte AWS partagé pour accéder à la carte modèle. Assurez-vous que vous accédez à la console AWS à l'aide des autorisations IAM (rôle IAM) qui autorisent l'accès à AWS RAM.

Avec AWS RAM, vous pouvez afficher les partages de ressources auxquels vous avez été ajouté, les ressources partagées auxquelles vous pouvez accéder et les comptes AWS qui ont partagé des ressources avec vous. Vous pouvez également quitter un partage de ressources lorsque vous n'avez plus besoin d'accéder à ses ressources partagées.

Pour afficher la fiche modèle dans le compte AWS partagé :

  1. Accédez à la Partagé avec moi : ressources partagées dans la console AWS RAM.
  2. Assurez-vous que vous opérez dans la même région AWS que celle dans laquelle le partage a été créé.
  3. Le modèle partagé à partir du compte modèle sera disponible dans la liste. S'il existe une longue liste de ressources, vous pouvez appliquer un filtre pour rechercher des ressources partagées spécifiques. Vous pouvez appliquer plusieurs filtres pour affiner votre recherche.
  4. Les informations suivantes sont disponibles :
    1. ID de ressource – L'ID de la ressource. Il s'agit du nom du modèle de carte que nous avons créé précédemment dans le compte de la carte modèle.
    2. Type de ressource – Le type de ressource.
    3. Date du dernier partage – La date à laquelle la ressource a été partagée avec vous.
    4. Partages de ressources – Le nombre de partages de ressources dans lesquels la ressource est incluse. Choisissez la valeur pour afficher les partages de ressources.
    5. Identifiant du propriétaire – L’ID du principal propriétaire de la ressource.

Vous pouvez également accéder à la carte modèle à l'aide de l'option AWS CLI. Pour la stratégie AWS IAM configurée avec les informations d'identification correctes, assurez-vous que vous disposez des autorisations nécessaires pour créer, modifier et supprimer des cartes de modèle dans Amazon SageMaker. Pour plus d'informations, reportez-vous à Configurer l'AWS CLI.

Vous pouvez utiliser la stratégie d'autorisations AWS IAM suivante comme modèle :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DescribeModelCard", "sagemaker:UpdateModelCard", "sagemaker:CreateModelCardExportJob", "sagemaker:ListModelCardVersions", "sagemaker:DescribeModelCardExportJob" ], "Resource": [ "arn:aws:sagemaker:AWS-Region:AWS-model-card-account-id:model-card/example-model-card-name-0", "arn:aws:sagemaker:AWS-Region:AWS-model-card-account-id:model-card/example-model-card-name-1/*" ] }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::Amazon-S3-bucket-storing-the-pdf-of-the-model-card/model-card-name/*" } ]
}

Vous pouvez exécuter la commande AWS CLI suivante pour accéder aux détails de la carte de modèle partagé.

aws sagemaker describe-model-card --model-card-name <ARN of the model card>

Vous pouvez désormais apporter des modifications à ce modèle de carte à partir de ce compte.

aws sagemaker update-model-card --model-card-name <ARN of the Model Card> --content "{"model_overview": {"model_owner": "model-owner","problem_type": "Customer Churn Model"}}"

Après avoir apporté des modifications, revenez au compte de carte modèle pour voir les modifications que nous avons apportées à ce compte partagé.

Le type de problème a été mis à jour en «Customer Churn Model" que nous avions fourni dans le cadre de l'entrée de la commande AWS CLI.

Nettoyer

Vous pouvez maintenant supprimer la fiche modèle que vous avez créée. Assurez-vous de supprimer le partage de ressources AWS RAM que vous avez créé pour partager la carte modèle.

Conclusion

Dans cet article, nous avons fourni un aperçu de l'architecture multi-comptes pour faire évoluer et gérer vos charges de travail ML de manière sécurisée et fiable. Nous avons discuté des modèles d'architecture pour la configuration du partage de cartes modèles et illustré le fonctionnement des modèles de partage de cartes modèles centralisés. Enfin, nous mettons en place le partage de cartes de modèles sur plusieurs comptes pour améliorer la visibilité et la gouvernance dans le cycle de vie de développement de votre modèle. Nous vous encourageons à essayer la nouvelle fonctionnalité de partage de cartes de modèle et à nous faire part de vos commentaires.


À propos des auteurs

Vishal Naik est architecte principal de solutions chez Amazon Web Services (AWS). C'est un constructeur qui aime aider les clients à répondre à leurs besoins commerciaux et à résoudre des défis complexes avec les solutions et les meilleures pratiques AWS. Son principal domaine d'intérêt comprend l'apprentissage automatique, le DevOps et les conteneurs. Dans ses temps libres, Vishal aime faire des courts métrages sur les voyages dans le temps et les thèmes de l'univers alternatif.

Bélier VittalBélier Vittal est architecte principal de solutions ML chez AWS. Il a plus de 20 ans d'expérience dans l'architecture et la création d'applications distribuées, hybrides et cloud. Il est passionné par la création de solutions d'IA/ML et de Big Data sécurisées et évolutives pour aider les entreprises clientes dans leur parcours d'adoption et d'optimisation du cloud afin d'améliorer leurs résultats commerciaux. Dans ses temps libres, il fait du vélo et se promène avec son petit mouton de 2 ans !

spot_img

Dernières informations

spot_img