Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Améliorez la gouvernance de vos modèles de machine learning avec Amazon SageMaker

Alors que les entreprises adoptent de plus en plus l'apprentissage automatique (ML) pour leurs applications d'entreprise grand public, un plus grand nombre de leurs décisions commerciales sont influencées par les modèles ML. En conséquence, un contrôle d'accès simplifié et une transparence améliorée sur tous vos modèles ML permettent de valider plus facilement que vos modèles fonctionnent bien et d'agir lorsqu'ils ne le sont pas.

Dans cet article, nous explorons comment les entreprises peuvent améliorer la visibilité de leurs modèles avec des tableaux de bord centralisés et une documentation détaillée de leurs modèles à l'aide de deux nouvelles fonctionnalités : les cartes de modèle SageMaker et le tableau de bord de modèle SageMaker. Ces deux fonctionnalités sont disponibles sans frais supplémentaires pour les clients SageMaker.

Aperçu du modèle de gouvernance

La gouvernance des modèles est un cadre qui donne une visibilité systématique sur le développement, la validation et l'utilisation des modèles. La gouvernance des modèles s'applique à l'ensemble du workflow ML de bout en bout, depuis l'identification du cas d'utilisation ML jusqu'à la surveillance continue d'un modèle déployé via des alertes, des rapports et des tableaux de bord. Un cadre de gouvernance de modèle bien implémenté doit minimiser le nombre d'interfaces nécessaires pour afficher, suivre et gérer les tâches du cycle de vie afin de faciliter la surveillance du cycle de vie ML à grande échelle.

Aujourd'hui, les organisations investissent une expertise technique importante dans la création d'outils pour automatiser une grande partie de leur flux de travail de gouvernance et d'auditabilité. Par exemple, les constructeurs de modèles doivent enregistrer de manière proactive les spécifications du modèle telles que l'utilisation prévue pour un modèle, la notation des risques et les critères de performance par rapport auxquels un modèle doit être mesuré. En outre, ils doivent également enregistrer des observations sur le comportement du modèle et documenter la raison pour laquelle ils ont pris certaines décisions clés telles que la fonction objectif par rapport à laquelle ils ont optimisé le modèle.

Il est courant pour les entreprises d'utiliser des outils comme Excel ou le courrier électronique pour capturer et partager ces informations de modèle à utiliser dans les approbations pour une utilisation en production. Mais à mesure que l'ampleur du développement du ML augmente, les informations peuvent être facilement perdues ou égarées, et le suivi de ces détails devient rapidement impossible. De plus, une fois ces modèles déployés, vous pouvez assembler des données provenant de diverses sources pour obtenir une visibilité de bout en bout sur tous vos modèles, points de terminaison, historique de surveillance et lignage. Sans une telle vue, vous pouvez facilement perdre la trace de vos modèles et ne pas savoir quand vous devez agir sur eux. Ce problème est intensifié dans les industries hautement réglementées, car vous êtes soumis à des réglementations qui vous obligent à maintenir de telles mesures en place.

À mesure que le volume de modèles commence à augmenter, la gestion d'outils personnalisés peut devenir un défi et donne aux organisations moins de temps pour se concentrer sur les besoins commerciaux essentiels. Dans les sections suivantes, nous explorons comment les cartes modèles SageMaker et le tableau de bord modèle SageMaker peuvent vous aider à faire évoluer vos efforts de gouvernance.

Cartes modèles SageMaker

Les cartes de modèle vous permettent de normaliser 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 du modèle qui est importante pour la gouvernance du modèle.

Les cartes modèles permettent aux utilisateurs de créer et de stocker des décisions telles que la raison pour laquelle une fonction objective a été choisie pour l'optimisation, et des détails tels que l'utilisation prévue et l'évaluation des risques. Vous pouvez également joindre et examiner les résultats de l'évaluation, et noter des observations pour référence future.

Pour les modèles formés sur SageMaker, les cartes de modèle peuvent découvrir et remplir automatiquement des détails tels que la tâche de formation, les ensembles de données de formation, les artefacts de modèle et l'environnement d'inférence, accélérant ainsi le processus de création des cartes. Avec le SDK Python SageMaker, vous pouvez facilement mettre à jour la carte modèle avec des métriques d'évaluation.

Les cartes modèles permettent aux responsables des risques liés aux modèles, aux scientifiques des données et aux ingénieurs ML d'effectuer les tâches suivantes :

  • Documenter les exigences du modèle telles que l'évaluation des risques, l'utilisation prévue, les limites et les performances attendues
  • Remplir automatiquement les fiches de modèle pour les modèles formés à SageMaker
  • Apportez vos propres informations (BYOI) pour les modèles non SageMaker
  • Téléchargez et partagez les résultats de l'évaluation des modèles et des données
  • Définir et capturer des informations personnalisées
  • Capturer l'état de la fiche modèle (brouillon, en attente d'examen ou approuvé pour la production)
  • Accédez au hub de la carte modèle à partir du Console de gestion AWS
  • Créer, modifier, afficher, exporter, cloner et supprimer des fiches modèles
  • Déclencher des flux de travail à l'aide de Amazon Event Bridge intégration pour les événements de changement d'état de la carte modèle

Créer des cartes de modèle SageMaker à l'aide de la console

Vous pouvez facilement créer des cartes modèles à l'aide de la console SageMaker. Ici, vous pouvez voir toutes les cartes de modèle existantes et en créer de nouvelles si nécessaire.

Lors de la création d'une fiche modèle, vous pouvez documenter des informations critiques sur le modèle, telles que l'auteur du modèle, la raison de son développement, ses performances pour les évaluations indépendantes et toutes les observations à prendre en compte avant d'utiliser le modèle pour une application métier.

Pour créer une fiche modèle sur la console, procédez comme suit :

  1. Entrez les détails de la vue d'ensemble du modèle.
  2. Entrez les détails de la formation (remplis automatiquement si le modèle a été formé sur SageMaker).
  3. Téléchargez les résultats de l'évaluation.
  4. Ajoutez des détails supplémentaires tels que des recommandations et des considérations éthiques.

Après avoir créé la fiche modèle, vous pouvez choisir une version pour l'afficher.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La capture d'écran suivante montre les détails de notre carte modèle.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez également exporter la fiche modèle à partager au format PDF.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Créez et explorez des cartes modèles SageMaker via le SDK SageMaker Python

L'interaction avec les cartes Modèle ne se limite pas à la console. Vous pouvez également utiliser le SDK SageMaker Python pour créer et explorer des cartes modèles. Le SDK SageMaker Python permet aux data scientists et aux ingénieurs ML d'interagir facilement avec les composants SageMaker. Les extraits de code suivants présentent le processus de création d'une carte modèle à l'aide de la nouvelle fonctionnalité SageMaker Python SDK.

Assurez-vous que la dernière version du SDK Python SageMaker est installée :

$ pip install --upgrade "sagemaker>=2"

Une fois que vous avez formé et déployé un modèle à l'aide de SageMaker, vous pouvez utiliser les informations du modèle SageMaker et de la tâche de formation pour renseigner automatiquement les informations dans la fiche Modèle.

En utilisant le SDK Python SageMaker et en transmettant le nom du modèle SageMaker, nous pouvons collecter automatiquement les informations de base du modèle. Informations telles que l'ARN du modèle SageMaker, l'environnement de formation et la sortie du modèle Service de stockage simple Amazon (Amazon S3) l'emplacement est automatiquement renseigné. Nous pouvons ajouter d'autres faits de modèle, tels que la description, le type de problème, le type d'algorithme, le créateur du modèle et le propriétaire. Voir le code suivant :

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

Nous pouvons également collecter automatiquement des informations de formation de base telles que l'ARN de la tâche de formation, l'environnement de formation et les mesures de formation. Des détails d'entraînement supplémentaires peuvent être ajoutés, comme la fonction d'objectif d'entraînement et les observations. Voir le code suivant :

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Si nous disposons de métriques d'évaluation, nous pouvons également les ajouter à la fiche modèle :

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

Nous pouvons également ajouter des informations supplémentaires sur le modèle qui peuvent aider à la gouvernance du modèle :

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

Après avoir fourni tous les détails dont nous avons besoin, nous pouvons créer la fiche modèle en utilisant la configuration précédente :

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

Le SDK SageMaker offre également la possibilité de mettre à jour, charger, répertorier, exporter et supprimer une carte modèle.

Pour en savoir plus sur les cartes modèles, reportez-vous au guide du développeur et suivez this exemple de cahier pour commencer.

Tableau de bord du modèle SageMaker

Le tableau de bord Modèle est un référentiel centralisé de tous les modèles qui ont été créés dans le compte. Les modèles sont généralement créés par formation sur SageMaker, ou vous pouvez apporter vos modèles formés ailleurs pour les héberger sur SageMaker.

Le tableau de bord des modèles fournit une interface unique aux administrateurs informatiques, aux gestionnaires des risques liés aux modèles ou aux chefs d'entreprise pour afficher tous les modèles déployés et leurs performances. Vous pouvez afficher vos points de terminaison, les tâches de transformation par lots et les tâches de surveillance pour obtenir des informations sur les performances du modèle. Les organisations peuvent plonger en profondeur pour identifier les modèles qui ont des moniteurs manquants ou inactifs et les ajouter à l'aide des API SageMaker pour s'assurer que tous les modèles sont vérifiés pour la dérive des données, la dérive du modèle, la dérive des biais et la dérive d'attribution des fonctionnalités.

La capture d'écran suivante montre un exemple du tableau de bord Modèle.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le tableau de bord Modèle fournit une vue d'ensemble de tous vos modèles, de leur niveau de risque et de la performance de ces modèles en production. Pour ce faire, il extrait des informations de SageMaker. Les informations de surveillance des performances sont capturées via Moniteur de modèle Amazon SageMaker, et vous pouvez également voir des informations sur les modèles invoqués pour les prédictions par lots via les tâches de transformation par lots SageMaker. Les informations de lignée telles que la façon dont le modèle a été formé, les données utilisées, etc. sont capturées, et les informations des cartes de modèle sont également extraites.

Model Monitor surveille la qualité des modèles SageMaker utilisés en production pour l'inférence par lots ou les points de terminaison en temps réel. Vous pouvez configurer une surveillance continue ou des moniteurs programmés via les API SageMaker et modifier les paramètres d'alerte via le tableau de bord Modèle. Vous pouvez définir des alertes qui vous avertissent en cas d'écarts dans la qualité du modèle. La détection précoce et proactive de ces écarts vous permet de prendre des mesures correctives, telles que le recyclage des modèles, l'audit des systèmes en amont ou la résolution des problèmes de qualité sans avoir à surveiller les modèles manuellement ou à créer des outils supplémentaires. Le tableau de bord Modèle vous donne un aperçu rapide des modèles surveillés et de leurs performances. Pour plus d'informations sur Model Monitor, visitez Surveiller les modèles pour la qualité, le biais et l'explicabilité des données et des modèles.

Lorsque vous choisissez un modèle dans le tableau de bord Modèle, vous pouvez obtenir des informations plus détaillées sur le modèle, telles que la fiche Modèle (le cas échéant), la lignée du modèle, des détails sur le point de terminaison sur lequel le modèle a été déployé et le calendrier de surveillance pour le maquette.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Cette vue vous permet de créer une fiche modèle si nécessaire. Le calendrier de surveillance peut également être activé, désactivé ou modifié via le tableau de bord Modèle.

Pour les modèles qui n'ont pas de calendrier de surveillance, vous pouvez le configurer en activant Model Monitor pour le point de terminaison sur lequel le modèle a été déployé. Grâce aux détails et à l'état de l'alerte, vous serez informé des modèles qui affichent une dérive des données, une dérive du modèle, une dérive du biais ou une dérive des fonctionnalités, selon les moniteurs que vous avez configurés.

Examinons un exemple de flux de travail montrant comment configurer la surveillance du modèle. Les étapes clés de ce processus sont :

  1. Capturez les données envoyées au point de terminaison (ou tâche de transformation par lots).
  2. Établir une ligne de base (pour chacun des types de surveillance).
  3. Créez une planification Model Monitor pour comparer les prédictions en direct à la ligne de base afin de signaler les violations et de déclencher des alertes.

En fonction des alertes, vous pouvez prendre des mesures telles que la restauration du point de terminaison vers une version précédente ou le réentraînement du modèle avec de nouvelles données. Ce faisant, il peut être nécessaire de retracer comment le modèle a été formé, ce qui peut être fait en visualisant la lignée du modèle.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le tableau de bord Modèle offre un riche ensemble d'informations concernant l'écosystème global du modèle dans un compte, en plus de la possibilité d'explorer les détails spécifiques d'un modèle. Pour en savoir plus sur le tableau de bord Modèle, reportez-vous à guide du développeur.

Conclusion

Le modèle de gouvernance est complexe et implique souvent de nombreux besoins personnalisés spécifiques à une organisation ou à une industrie. Cela peut être basé sur les exigences réglementaires auxquelles votre organisation doit se conformer, les types de personnes présentes dans l'organisation et les types de modèles utilisés. Il n'y a pas d'approche unique en matière de gouvernance, et il est important de disposer des bons outils pour mettre en place un processus de gouvernance solide.

Grâce aux outils de gouvernance ML spécialement conçus dans SageMaker, les organisations peuvent mettre en œuvre les bons mécanismes pour améliorer le contrôle et la visibilité sur les projets ML pour leurs cas d'utilisation spécifiques. Essayez les cartes modèles et le tableau de bord des modèles, et laissez vos commentaires avec des questions et des commentaires. Pour en savoir plus sur les fiches modèles et le tableau de bord des modèles, reportez-vous à guide du développeur.


À propos des auteurs

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Kirit Thadaka est un architecte de solutions ML travaillant dans l'équipe SageMaker Service SA. Avant de rejoindre AWS, Kirit a travaillé dans des startups d'IA à un stade précoce, puis a été consultant dans divers rôles dans la recherche sur l'IA, les MLOps et la direction technique.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Marc Karpe est un architecte ML au sein de l'équipe SageMaker Service. Il se concentre sur l'aide aux clients pour la conception, le déploiement et la gestion des charges de travail ML à grande échelle. Dans ses temps libres, il aime voyager et explorer de nouveaux endroits.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Raghu Ramesha est un architecte de solutions ML au sein de l'équipe Amazon SageMaker Service. Il se concentre sur l'aide aux clients pour créer, déployer et migrer les charges de travail de production ML vers SageMaker à grande échelle. Il est spécialisé dans les domaines de l'apprentissage automatique, de l'IA et de la vision par ordinateur, et est titulaire d'une maîtrise en informatique de l'UT Dallas. Pendant son temps libre, il aime voyager et photographier.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Bélier Vittal est architecte de solutions spécialisées en 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 aime le tennis, la photographie et les films d'action.

Améliorez la gouvernance de vos modèles d'apprentissage automatique avec Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Sahil Saini est architecte de solutions ISV chez Amazon Web Services . Il travaille avec les équipes de produits et d'ingénierie des clients stratégiques d'AWS pour les aider avec des solutions technologiques utilisant les services AWS pour l'IA/ML, les conteneurs, le HPC et l'IoT. Il a aidé à mettre en place des plateformes AI/ML pour les entreprises clientes.

Horodatage:

Plus de Apprentissage automatique AWS