Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler

Ceci est un article de blog invité par Danny Brock, Rajeev Govindan et Krishnaram Kenthapadi chez Fiddler AI.

Votre Amazon Sage Maker les modèles sont en direct. Ils traitent des millions d'inférences chaque jour et génèrent de meilleurs résultats commerciaux pour votre entreprise. Ils fonctionnent exactement aussi bien que le jour de leur lancement.

Euh, attends. Sont-ils? Peut-être. Peut être pas.

Sans classe entreprise surveillance du modèle, vos modèles peuvent se décomposer en silence. Vos équipes d'apprentissage automatique (ML) ne sauront peut-être jamais que ces modèles sont en fait passés de miracles de génération de revenus à des passifs prenant des décisions incorrectes qui coûtent du temps et de l'argent à votre entreprise.

Ne vous inquiétez pas. La solution est plus proche que vous ne le pensez.

Violoneux, une solution de gestion des performances des modèles d'entreprise disponible sur le Marketplace AWS , propose une surveillance des modèles et une IA explicable pour aider les équipes de ML à inspecter et à résoudre une gamme complète de problèmes de modèles. Grâce à la surveillance des modèles, à l'explicabilité des modèles, à l'analyse et à la détection des biais, Fiddler fournit à votre entreprise une fenêtre unique facile à utiliser pour garantir que vos modèles se comportent comme ils le devraient. Et si ce n'est pas le cas, Fiddler fournit également des fonctionnalités qui vous permettent d'inspecter vos modèles pour trouver les causes profondes sous-jacentes de la dégradation des performances.

Cet article montre comment votre MLOps peut améliorer la productivité des scientifiques des données et réduire le temps de détection des problèmes pour vos modèles déployés dans SageMaker en s'intégrant à la plate-forme de gestion des performances des modèles Fiddler en quelques étapes simples.

Vue d'ensemble de la solution

L'architecture de référence suivante met en évidence les principaux points d'intégration. Fiddler existe en tant que "sidecar" de votre flux de travail SageMaker ML existant.

Le reste de cet article vous guide à travers les étapes pour intégrer votre modèle SageMaker avec Fiddler's Plateforme de gestion des performances des modèles:

  1. Assurez-vous que la capture de données est activée pour votre modèle.
  2. Créez un environnement d'essai Fiddler.
  3. Enregistrez des informations sur votre modèle dans votre environnement Fiddler.
  4. Créer un AWS Lambda fonction pour publier les inférences SageMaker sur Fiddler.
  5. Explorez les capacités de surveillance de Fiddler dans votre environnement d'essai Fiddler.

Pré-requis

Cet article suppose que vous avez configuré SageMaker et déployé un point de terminaison modèle. Pour savoir comment configurer SageMaker pour la diffusion de modèles, reportez-vous à Déployer des modèles pour l'inférence. Quelques exemples sont également disponibles sur le GitHub repo.

Assurez-vous que votre modèle a activé la capture de données

Sur la console SageMaker, accédez au point de terminaison de service de votre modèle et assurez-vous d'avoir activé la saisie des données dans un Service de stockage simple Amazon (Amazon S3). Cela stocke les inférences (demandes et réponses) que votre modèle fait chaque jour comme Fichiers de lignes JSON (.jsonl) dans Amazon S3.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Créer un environnement d'essai Fiddler

Extrait du violoneux.ai site Web, vous pouvez demander un essai gratuit. Après avoir rempli un formulaire rapide, Fiddler vous contactera pour comprendre les spécificités de vos besoins en matière de gestion des performances de votre modèle et disposera d'un environnement d'essai prêt pour vous dans quelques heures. Vous pouvez vous attendre à un environnement dédié comme https://yourcompany.try.fiddler.ai.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Enregistrer des informations sur votre modèle dans votre environnement Fiddler

Avant de pouvoir commencer à publier des événements à partir de votre modèle hébergé SageMaker dans Fiddler, vous devez créer un projet dans votre environnement d'essai Fiddler et fournir des détails Fiddler sur votre modèle via une étape appelée enregistrement du modèle. Si vous souhaitez utiliser un bloc-notes préconfiguré depuis Amazon SageMakerStudio plutôt que de copier et coller les extraits de code suivants, vous pouvez référencer le bloc-notes de démarrage rapide de Fiddler sur GitHub. Studio fournit une interface visuelle Web unique dans laquelle vous pouvez effectuer toutes les étapes de développement ML.

Tout d'abord, vous devez installer le Client Fiddler Python dans votre bloc-notes SageMaker et instanciez le client Fiddler. Vous pouvez obtenir le AUTH_TOKEN du Paramètres page dans votre environnement d'essai Fiddler.

# Install the fiddler client
!pip install fiddler-client

# Connect to the Fiddler Trial Environment
import fiddler as fdl
import pandas as pd

fdl.__version__

URL = 'https://yourcompany.try.fiddler.ai'
ORG_ID = 'yourcompany'
AUTH_TOKEN = 'UUID-Token-Here-Found-In-Your-Fiddler-Env-Settings-Page'

client = fdl.FiddlerApi(URL, ORG_ID, AUTH_TOKEN)

Ensuite, créez un projet dans votre environnement d'essai Fiddler :

# Create Project
PROJECT_ID = 'credit_default'  # update this with your project name
DATASET_ID = f'{PROJECT_ID}_dataset'
MODEL_ID = f'{PROJECT_ID}_model'

client.create_project(PROJECT_ID)

Téléchargez maintenant votre ensemble de données d'entraînement. Le bloc-notes fournit également un exemple d'ensemble de données pour exécuter Fiddler's explicabilité algorithmes et comme référence pour les métriques de surveillance. Le jeu de données est également utilisé pour générer le schéma de ce modèle dans Fiddler.

# Upload Baseline Dataset
df_baseline = pd.read_csv(‘<your-training-file.csv>')

dataset_info = fdl.DatasetInfo.from_dataframe(df_baseline, max_inferred_cardinality=1000)

upload_result = client.upload_dataset(PROJECT_ID,
                                      dataset={'baseline': df_baseline},
                                      dataset_id=DATASET_ID,
                                      info=dataset_info)

Enfin, avant de pouvoir commencer à publier des inférences sur Fiddler à des fins de surveillance, d'analyse des causes profondes et d'explications, vous devez enregistrer votre modèle. Créons d'abord un model_info objet contenant les métadonnées de votre modèle :

# Update task from the list below if your model task is not binary classification
model_task = 'binary' 

if model_task == 'regression':
    model_task_fdl = fdl.ModelTask.REGRESSION
    
elif model_task == 'binary':
    model_task_fdl = fdl.ModelTask.BINARY_CLASSIFICATION

elif model_task == 'multiclass':
    model_task_fdl = fdl.ModelTask.MULTICLASS_CLASSIFICATION

elif model_task == 'ranking':
    model_task_fdl = fdl.ModelTask.RANKING

    
# Specify column types|
target = 'TARGET'
outputs = ['prediction']  # change this to your target variable
features = [‘<add your feature list here>’]
     
# Generate ModelInfo
model_info = fdl.ModelInfo.from_dataset_info(
    dataset_info=dataset_info,
    dataset_id=DATASET_ID,
    model_task=model_task_fdl,
    target=target,
    outputs=outputs,
    features=features,
    binary_classification_threshold=.125,  # update this if your task is not a binary classification
    description='<model-description>',
    display_name='<model-display-name>'
)
model_info

Ensuite, vous pouvez enregistrer le modèle à l'aide de votre nouveau model_info objet:

# Register Info about your model with Fiddler
client.register_model(
    project_id=PROJECT_ID,
    dataset_id=DATASET_ID,
    model_id=MODEL_ID,
    model_info=model_info
)

Super! Vous pouvez maintenant publier certains événements sur Fiddler afin d'observer les performances du modèle.

Créer une fonction Lambda pour publier les inférences SageMaker sur Fiddler

Grâce à l'architecture sans serveur simple à déployer de Lambda, vous pouvez créer rapidement le mécanisme requis pour déplacer vos inférences du compartiment S3 que vous avez configuré précédemment vers votre environnement d'essai Fiddler nouvellement provisionné. Cette fonction Lambda est chargée d'ouvrir tous les nouveaux fichiers journaux d'événements JSONL dans le compartiment S3 de votre modèle, d'analyser et de formater le contenu JSONL dans une trame de données, puis de publier cette trame de données d'événements dans votre environnement d'essai Fiddler. La capture d'écran suivante montre les détails du code de notre fonction.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La fonction Lambda doit être configurée pour se déclencher à partir des fichiers nouvellement créés dans votre compartiment S3. Ce qui suit tutoriel vous guide dans la création d'un Amazon Event Bridge déclencheur qui appelle la fonction Lambda chaque fois qu'un fichier est chargé sur Amazon S3. La capture d'écran suivante montre la configuration du déclencheur de notre fonction. Ainsi, il est simple de s'assurer que chaque fois que votre modèle fait de nouvelles inférences, ces événements stockés dans Amazon S3 sont chargés dans Fiddler pour piloter l'observabilité du modèle dont votre entreprise a besoin.

Pour simplifier davantage, le code de cette fonction Lambda est accessible au public à partir de Site de documentation du violoniste. Cet exemple de code fonctionne actuellement pour les modèles de classification binaires avec des entrées structurées. Si vous avez des types de modèles avec des fonctionnalités ou des tâches différentes, veuillez contacter Fiddler pour obtenir de l'aide avec des modifications mineures du code.

La fonction Lambda doit faire référence au client Fiddler Python. Fiddler a créé une couche Lambda accessible au public que vous pouvez référencer pour vous assurer que le import fiddler as fdl étape fonctionne de manière transparente. Vous pouvez référencer cette couche via un ARN dans la région us-west-2 : arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, comme illustré dans la capture d'écran suivante.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous devez également spécifier les variables d'environnement Lambda afin que la fonction Lambda sache comment se connecter à votre environnement d'essai Fiddler et quelles sont les entrées et les sorties dans les fichiers .jsonl capturés par votre modèle. La capture d'écran suivante montre une liste des variables d'environnement requises, qui sont également sur Site de documentation du violoniste. Mettez à jour les valeurs des variables d'environnement pour qu'elles correspondent à votre modèle et à votre jeu de données.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Explorez les capacités de surveillance de Fiddler dans votre environnement d'essai Fiddler

Vous l'avez fait ! Avec vos données de base, votre modèle et votre trafic connectés, vous pouvez maintenant expliquer dérive des données, valeurs aberrantes, biais du modèle, les problèmes de données et les problèmes de performances, et partagez des tableaux de bord avec d'autres. Complétez votre voyage en regarder une démo sur les fonctionnalités de gestion des performances des modèles que vous avez introduites dans votre entreprise.

Les exemples de captures d'écran ci-dessous donnent un aperçu des informations sur le modèle telles que la dérive, la détection des valeurs aberrantes, les explications des points locaux et les analyses de modèle qui se trouvent dans votre environnement d'essai Fiddler.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Conclusion

Ce message a souligné le besoin de classe entreprise surveillance du modèle et montré comment vous pouvez intégrer vos modèles déployés dans SageMaker avec le Plateforme de gestion des performances du modèle Fiddler en quelques étapes seulement. Fiddler offre des fonctionnalités pour la surveillance des modèles, l'IA explicable, la détection des biais et l'analyse des causes profondes, et est disponible sur le Marketplace AWS . En fournissant votre MLOps équipe avec un panneau de verre unique facile à utiliser pour garantir que vos modèles se comportent comme prévu et pour identifier les causes profondes sous-jacentes de la dégradation des performances, Fiddler peut aider à améliorer la productivité des scientifiques des données et à réduire le temps de détection et de résolution des problèmes.

Si vous souhaitez en savoir plus sur Fiddler, veuillez visiter violoneux.ai ou si vous préférez mettre en place une démonstration personnalisée et un e-mail de discussion technique sales@fiddler.ai.


À propos des auteurs

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Danny Broc est ingénieur senior en solutions chez Fiddler AI. Danny travaille depuis longtemps dans l'espace analytique et ML, dirigeant des équipes de prévente et d'après-vente pour des startups comme Endeca et Incorta. Il a fondé sa propre société de conseil en analyse de données volumineuses, Branchbird, en 2012.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Rajeev Govindan est ingénieur senior en solutions chez Fiddler AI. Rajeev possède une vaste expérience en ingénierie des ventes et en développement de logiciels dans plusieurs entreprises, dont AppDynamics.

Bénéficiez d'une surveillance de niveau entreprise pour vos modèles Amazon SageMaker à l'aide de Fiddler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Krishnaram Kenthapadi est le scientifique en chef de Fiddler AI. Auparavant, il était scientifique principal chez Amazon AWS AI, où il a dirigé les initiatives d'équité, d'explicabilité, de confidentialité et de compréhension des modèles dans la plateforme Amazon AI, et avant cela, il a occupé des postes chez LinkedIn AI et Microsoft Research. Krishnaram a obtenu son doctorat en informatique de l'Université de Stanford en 2006.

Horodatage:

Plus de Apprentissage automatique AWS