Utilisez le partage de fiches de modèle d’Amazon SageMaker pour améliorer la gouvernance des modèles

Utilisez le partage de fiches de modèle d'Amazon SageMaker pour une meilleure gouvernance des modèles

Alors que les technologies d’Intelligence Artificielle (IA) et d’Apprentissage Automatique (ML) sont devenues courantes, de nombreuses entreprises ont réussi à développer des applications métier essentielles alimentées par des modèles de ML à grande échelle en production. Cependant, étant donné que ces modèles de ML prennent des décisions métier critiques, il est important pour les entreprises d’ajouter des garde-fous appropriés tout au long de leur cycle de vie de ML. Les garde-fous 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ées dans le cycle de vie du modèle sont versionnées et préservées.

L’implémentation de ces garde-fous devient de plus en plus difficile pour les entreprises, car les processus et les 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 personas. En plus des ingénieurs et des scientifiques des données, des processus opérationnels ont été inclus pour automatiser et rationaliser le cycle de vie de ML. De plus, l’afflux de parties prenantes métier et, dans certains cas, d’examens juridiques et de conformité nécessite des capacités pour ajouter de la transparence afin de gérer le contrôle d’accès, le suivi des activités et les rapports tout au long du cycle de vie de ML.

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

Les cartes de modèle SageMaker vous permettent de normaliser la manière dont les modèles sont documentés, ce qui permet d’obtenir une visibilité sur le cycle de vie d’un modèle, de la conception, de la construction, de la formation et de l’évaluation. Les cartes de modèle 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. Elles fournissent une fiche technique du modèle qui est importante pour la gouvernance du modèle.

En développant vos modèles, projets et équipes, nous vous recommandons, dans le cadre des meilleures pratiques, d’adopter une stratégie multi-comptes qui offre une isolation des projets et des équipes pour le développement et le déploiement de modèles de ML. Pour plus d’informations sur l’amélioration de la gouvernance de vos modèles de ML, veuillez vous référer à Améliorer la gouvernance de vos modèles d’apprentissage automatique avec Amazon SageMaker.

Aperçu de l’architecture

L’architecture est mise en œuvre comme suit :

  • Compte Science des Données – Les scientifiques des données mènent leurs expériences dans SageMaker Studio et mettent en place un environnement MLOps pour déployer les modèles dans les environnements de mise en scène/production à l’aide de SageMaker Projects.
  • Compte de Services Partagés de ML – La mise en place de MLOps à partir du compte Science des Données déclenchera des pipelines d’intégration continue et de déploiement continu (CI/CD) à l’aide de AWS CodeCommit et AWS CodePipeline.
  • Compte de Développement – Les pipelines CI/CD déclencheront ensuite des pipelines de 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. Les résultats de ces pipelines déploieront le modèle dans les points de terminaison SageMaker pour une utilisation à des fins d’inférence. Selon vos besoins en matière de gouvernance, les comptes Science des Données et Développement peuvent être fusionnés dans un seul compte AWS.
  • Compte des Données – Les pipelines de ML en cours d’exécution dans le compte de Développement extraient 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 du point de terminaison SageMaker dans ces comptes.
  • Sécurité et Gouvernance – Des services tels que 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 dans ces comptes dans le cadre de la sécurité et de la gouvernance.

Le diagramme suivant illustre cette architecture.

Pour plus d’informations sur la mise en place d’une architecture ML multi-comptes évolutive, veuillez vous référer à Fondation MLOps pour les entreprises avec Amazon SageMaker.

Nos clients ont besoin de la possibilité de partager des cartes de modèle entre les comptes pour améliorer la visibilité et la gouvernance de leurs modèles grâce aux informations partagées dans la carte de modèle. Maintenant, avec le partage de cartes de modèle entre les comptes, les clients peuvent bénéficier des avantages d’une stratégie multi-comptes tout en ayant accès aux cartes de modèle disponibles dans leur organisation, ce qui leur permet d’accélérer la collaboration et de garantir la gouvernance.

Dans cet article, nous vous montrons comment configurer et accéder aux cartes de modèle dans les comptes du cycle de vie de développement du modèle (MDLC) en utilisant la nouvelle fonction de partage de cartes de modèle entre les comptes. Tout d’abord, nous décrirons un scénario et une architecture pour la mise en place de la fonction de partage de cartes de modèle entre les comptes, puis nous plongerons dans chaque composant de la façon de configurer et d’accéder aux cartes de modèle partagées dans les comptes pour améliorer la visibilité et la gouvernance des modèles.

Aperçu de la solution

Lors de la construction de modèles d’apprentissage automatique, nous recommandons de mettre en place une architecture multi-comptes pour assurer l’isolation des charges de travail, améliorant ainsi la sécurité, la fiabilité et la scalabilité. Dans cet article, nous supposerons la construction et le déploiement d’un modèle pour le cas d’utilisation de la rétention des clients. Le schéma d’architecture suivant montre l’une des approches recommandées – la carte de modèle centralisée – pour la gestion d’une carte de modèle dans une architecture multi-comptes du cycle de vie de développement de modèles d’apprentissage automatique (MDLC). Cependant, vous pouvez également adopter une autre approche, une carte de modèle centralisée et en étoile. Dans cet article, nous nous concentrerons uniquement sur une approche de carte de modèle centralisée, mais les mêmes principes peuvent être étendus à une approche en étoile. La principale différence est que chaque compte en étoile maintiendra sa propre version de la carte de modèle et il aura des processus pour agréger et copier vers un compte centralisé.

Le diagramme suivant illustre cette architecture.

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

  1. Le data scientist principal est informé de résoudre le cas d’utilisation de la rétention des clients en utilisant l’apprentissage automatique et ils commencent le projet d’apprentissage automatique en créant une carte de modèle pour le modèle de rétention des clients V1 en statut Brouillon dans le compte de services partagés d’apprentissage automatique.
  2. Grâce à l’automatisation, cette carte de modèle est partagée avec le compte de développement d’apprentissage automatique.
  3. Le data scientist construit le modèle et commence à remplir les informations via des API dans la carte de modèle en fonction de ses résultats expérimentaux et le statut de la carte de modèle est défini sur En attente de révision.
  4. Grâce à l’automatisation, cette carte de modèle est partagée avec le compte de test d’apprentissage automatique.
  5. L’ingénieur d’apprentissage automatique (MLE) effectue des tests d’intégration et de validation dans le compte de test d’apprentissage automatique et le modèle dans le registre central est marqué En attente d’approbation.
  6. L’approbateur du modèle examine les résultats du modèle avec la documentation d’appui fournie dans la carte de modèle centralisée et approuve la carte de modèle pour le déploiement en production.
  7. Grâce à l’automatisation, cette carte de modèle est partagée avec le compte de production d’apprentissage automatique en mode lecture seule.

Prérequis

Avant de commencer, assurez-vous de disposer des prérequis suivants:

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

Pour plus d’informations, consultez les exemples de stratégies IAM pour AWS RAM.

Configuration du partage de cartes de modèle

Le compte où les cartes de modèle sont créées est le compte de carte de modèle. Les utilisateurs du compte de carte de modèle les partagent avec les comptes partagés où ils peuvent être mis à jour. Les utilisateurs du compte de carte de modèle peuvent partager leurs cartes de modèle via AWS Resource Access Manager (AWS RAM). AWS RAM vous permet de partager des ressources entre les comptes AWS.

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

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

Nous créons la carte de modèle en statut Brouillon avec le nom Customer-Churn-Model-Card. Pour plus d’informations, consultez la création d’une carte de modèle. Dans cette démonstration, vous pouvez laisser le reste des champs vides et créer la carte de modèle.

Alternativement, vous pouvez utiliser la commande AWS CLI suivante pour créer la carte de 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 inter-comptes en utilisant 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 la section Ressources – optionnel, sélectionnez le type de ressource comme Cartes de modèle SageMaker. La carte de 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électionner Suivant. Pour plus d’informations, consultez la gestion des autorisations dans AWS RAM.

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

Sur la dernière page, vérifiez les informations et sélectionnez “Créer un partage de ressources”. Vous pouvez également utiliser la commande AWS CLI suivante pour créer un partage de ressources :

aws ram create-resource-share --name <Nom de la carte de modèle>

aws ram associate-resource-share --resource-share-arn <ARN du partage de ressources créé à partir de la commande précédente> --resource-arns <ARN de la carte de modèle>

Sur la console AWS RAM, vous pouvez voir les attributs du partage de ressources. Assurez-vous que les ressources partagées, les autorisations gérées et les principaux partagés sont dans l’état “Associé“.

Une fois que vous utilisez AWS RAM pour créer un partage de ressources, les principaux 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 les organisations AWS et que les principaux avec lesquels vous partagez sont dans la même organisation que le compte de partage, ces principaux peuvent recevoir l’accès dès que leur administrateur de compte leur accorde les autorisations.
  • Si vous n’activez pas le partage AWS RAM avec les organisations, vous pouvez quand même partager des ressources avec des comptes AWS individuels de votre organisation. L’administrateur du compte consommateur reçoit une invitation pour rejoindre le partage de ressources et il doit accepter l’invitation avant que les principaux spécifiés dans le partage de ressources puissent accéder aux ressources partagées.
  • Vous pouvez également partager avec des comptes en dehors de votre organisation si le type de ressource le permet. L’administrateur du compte consommateur reçoit une invitation pour rejoindre le partage de ressources et il doit accepter l’invitation avant que les principaux spécifiés dans le partage de ressources puissent accéder aux ressources partagées.

Pour plus d’informations sur AWS RAM, consultez les termes et concepts pour AWS RAM.

Accéder aux cartes de modèle partagées

Maintenant, nous pouvons nous connecter au compte AWS partagé pour accéder à la carte de modèle. Assurez-vous d’accéder à la console AWS en utilisant des autorisations IAM (rôle IAM) qui permettent 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 de modèle dans le compte AWS partagé:

  1. Accédez à la page Partagé avec moi: Ressources partagées dans la console AWS RAM.
  2. Assurez-vous de travailler dans la même région AWS où le partage a été créé.
  3. Le modèle partagé depuis le compte du modèle sera disponible dans la liste. S’il y a une longue liste de ressources, vous pouvez appliquer un filtre pour trouver 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. C’est le nom de la fiche de modèle que nous avons créée précédemment dans le compte de la fiche de modèle.
    2. Type de ressource – Le type de ressource.
    3. Dernière date de 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. ID du propriétaire – L’ID du principal qui possède la ressource.

Vous pouvez également accéder à la fiche de modèle en utilisant l’option AWS CLI. Pour la stratégie IAM AWS configurée avec les informations d’identification correctes, assurez-vous d’avoir les autorisations nécessaires pour créer, modifier et supprimer des fiches de modèle dans Amazon SageMaker. Pour plus d’informations, référez-vous à la configuration de l’AWS CLI.

Vous pouvez utiliser la stratégie de permissions IAM AWS 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 fiche de modèle partagée.

aws sagemaker describe-model-card --model-card-name <ARN de la fiche de modèle>

Maintenant, vous pouvez apporter des modifications à cette fiche de modèle à partir de ce compte.

aws sagemaker update-model-card --model-card-name <ARN de la fiche de modèle> --content "{\"model_overview\": {\"model_owner\": \"model-owner\",\"problem_type\": \"Customer Churn Model\"}}"

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

Le type de problème a été mis à jour en “Modèle de résiliation de client” que nous avons fourni dans le cadre de l’entrée de commande AWS CLI.

Nettoyage

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

Conclusion

Dans cet article, nous avons fourni un aperçu de l’architecture multi-comptes pour mettre à l’échelle 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 fiches de modèle et illustré le fonctionnement des modèles de partage centralisés de fiches de modèle. Enfin, nous avons configuré le partage de fiches de modèle entre plusieurs comptes pour améliorer la visibilité et la gouvernance de votre cycle de développement de modèle. Nous vous encourageons à essayer la nouvelle fonctionnalité de partage de fiches de modèle et à nous faire part de vos commentaires.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Samsung présente 'Gauss' un nouveau modèle d'intelligence artificielle linguistique pour défier la suprématie de ChatGPT.

Samsung a dévoilé un nouveau modèle linguistique d’intelligence artificielle (IA) appelé Gauss, qui est présent...

AI

Développez des applications d'IA génératives pour améliorer les expériences d'enseignement et d'apprentissage

Récemment, les enseignants et les institutions ont cherché différentes manières d'intégrer l'intelligence artificiell...

AI

Est-ce que réellement 300 millions d'emplois seront exposés ou perdus à cause du remplacement par l'IA ?

Les auteurs du rapport Goldman Sachs suggèrent que 300 millions d'emplois pourraient être affectés par le remplacemen...

AI

Appliquez des contrôles d'accès aux données fines avec AWS Lake Formation dans Amazon SageMaker Data Wrangler

Nous sommes heureux d'annoncer que SageMaker Data Wrangler prend désormais en charge l'utilisation de Lake Formation ...

Science des données

JPL crée une archive PDF pour aider la recherche de logiciels malveillants.

Des scientifiques de données ont compilé 8 millions de PDF dans une archive open source pour améliorer la sécurité en...