Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met Fiddler

Dit is een gastblog van Danny Brock, Rajeev Govindan en Krishnaram Kenthapadi bij Fiddler AI.

Your Amazon Sage Maker modellen zijn live. Ze verwerken elke dag miljoenen gevolgtrekkingen en zorgen voor betere bedrijfsresultaten voor uw bedrijf. Ze presteren precies zo goed als op de dag dat ze gelanceerd werden.

Eh, wacht. Zijn zij? Kan zijn. Misschien niet.

Zonder ondernemingsklasse modelbewaking, uw modellen kunnen in stilte vervallen. Uw machine learning (ML)-teams zullen misschien nooit weten dat deze modellen zijn veranderd van wonderen van het genereren van inkomsten naar aansprakelijkheden die onjuiste beslissingen nemen die uw bedrijf tijd en geld kosten.

Maak je geen zorgen. De oplossing is dichterbij dan je denkt.

vioolspeler, een enterprise-class Model Performance Management-oplossing die beschikbaar is op de AWS Marketplace, biedt modelbewaking en verklaarbare AI om ML-teams te helpen bij het inspecteren en aanpakken van een uitgebreide reeks modelproblemen. Door middel van modelmonitoring, modelverklaarbaarheid, analyse en detectie van bias, biedt Fiddler uw bedrijf een gebruiksvriendelijk enkel glas om ervoor te zorgen dat uw modellen zich gedragen zoals ze zouden moeten. En als dat niet het geval is, biedt Fiddler ook functies waarmee u uw modellen kunt inspecteren om de onderliggende oorzaken van prestatieverlies te vinden.

Dit bericht laat zien hoe je MLops team kan de productiviteit van datawetenschappers verbeteren en de tijd verminderen om problemen te detecteren voor uw modellen die zijn geïmplementeerd in SageMaker door in een paar eenvoudige stappen te integreren met het Fiddler Model Performance Management Platform.

Overzicht oplossingen

De volgende referentiearchitectuur belicht de belangrijkste integratiepunten. Fiddler bestaat als een "zijspan" van uw bestaande SageMaker ML-workflow.

De rest van dit bericht leidt je door de stappen om je SageMaker-model te integreren met Fiddler's Platform voor prestatiebeheermodel:

  1. Zorg ervoor dat het vastleggen van gegevens voor uw model is ingeschakeld.
  2. Maak een Fiddler-proefomgeving.
  3. Registreer informatie over uw model in uw Fiddler-omgeving.
  4. Maak een AWS Lambda functie om SageMaker-inferenties naar Fiddler te publiceren.
  5. Ontdek de monitoringmogelijkheden van Fiddler in uw Fiddler-proefomgeving.

Voorwaarden

In dit bericht wordt ervan uitgegaan dat u SageMaker hebt ingesteld en een modeleindpunt hebt geïmplementeerd. Raadpleeg voor meer informatie over het configureren van SageMaker voor modelserving: Modellen voor gevolgtrekking implementeren. Enkele voorbeelden zijn ook beschikbaar op de GitHub repo.

Zorg ervoor dat het vastleggen van gegevens voor uw model is ingeschakeld

Navigeer op de SageMaker-console naar het service-eindpunt van uw model en zorg ervoor dat u deze hebt ingeschakeld gegevens vastleggen in een Amazon eenvoudige opslagservice (Amazon S3) emmer. Dit slaat de gevolgtrekkingen (verzoeken en antwoorden) op die uw model elke dag maakt als: JSON-lijnen bestanden (.jsonl) in Amazon S3.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Een Fiddler-proefomgeving maken

Van de fiddler.ai website kunt u een gratis proefversie aanvragen. Na het invullen van een snel formulier neemt Fiddler contact met u op om de specifieke behoeften van uw modelprestatiebeheer te begrijpen en heeft hij binnen een paar uur een proefomgeving voor u klaar. Je kunt een toegewijde omgeving verwachten zoals https://yourcompany.try.fiddler.ai.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Registreer informatie over uw model in uw Fiddler-omgeving

Voordat u kunt beginnen met het publiceren van gebeurtenissen van uw door SageMaker gehoste model in Fiddler, moet u een project maken binnen uw Fiddler-proefomgeving en Fiddler-details over uw model verstrekken via een stap genaamd modelregistratie. Als u een vooraf geconfigureerd notitieboek van binnenuit wilt gebruiken: Amazon SageMaker Studio in plaats van de volgende codefragmenten te kopiëren en plakken, kunt u verwijzen naar het Fiddler-snelstartnotitieblok op: GitHub. Studio biedt een enkele webgebaseerde visuele interface waar u alle ML-ontwikkelingsstappen kunt uitvoeren.

Eerst moet u de installeren Fiddler Python-client in uw SageMaker-notebook en start de Fiddler-client. Je kunt de AUTH_TOKEN van het Instellingen pagina in uw Fiddler-proefomgeving.

# 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)

Maak vervolgens een project binnen uw Fiddler-proefomgeving:

# 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)

Upload nu uw trainingsdataset. De notebook biedt ook een voorbeeldgegevensset om Fiddler's uit te voeren uitlegbaarheid algoritmen en als basis voor het monitoren van metrieken. De dataset wordt ook gebruikt om het schema voor dit model in Fiddler te genereren.

# 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)

Ten slotte, voordat u gevolgtrekkingen naar Fiddler kunt publiceren voor monitoring, analyse van de oorzaak en uitleg, moet u uw model registreren. Laten we eerst een maken model_info object dat de metagegevens over uw model bevat:

# 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

Dan kunt u het model registreren met uw nieuwe model_info voorwerp:

# 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 goed! Nu kunt u enkele gebeurtenissen naar Fiddler publiceren om de prestaties van het model te observeren.

Maak een Lambda-functie om SageMaker-inferenties naar Fiddler te publiceren

Met de eenvoudig te implementeren serverloze architectuur van Lambda kun je snel het mechanisme bouwen dat nodig is om je gevolgtrekkingen van de S3-bucket die je eerder hebt ingesteld naar je nieuw ingerichte Fiddler-proefomgeving te verplaatsen. Deze Lambda-functie is verantwoordelijk voor het openen van nieuwe JSONL-gebeurtenislogboekbestanden in de S3-bucket van uw model, het parseren en formatteren van de JSONL-inhoud in een dataframe en het vervolgens publiceren van dat dataframe van gebeurtenissen naar uw Fiddler-proefomgeving. De volgende schermafbeelding toont de codedetails van onze functie.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De Lambda-functie moet worden geconfigureerd om nieuw gemaakte bestanden in uw S3-bucket te activeren. Het volgende zelfstudie begeleidt u bij het maken van een Amazon EventBridge trigger die de Lambda-functie aanroept wanneer een bestand wordt geüpload naar Amazon S3. De volgende schermafbeelding toont de triggerconfiguratie van onze functie. Dit maakt het eenvoudig om ervoor te zorgen dat elke keer dat uw model nieuwe gevolgtrekkingen maakt, de gebeurtenissen die zijn opgeslagen in Amazon S3 in Fiddler worden geladen om de modelobservatie te stimuleren die uw bedrijf nodig heeft.

Om dit verder te vereenvoudigen, is de code voor deze Lambda-functie openbaar beschikbaar via: Fiddler's documentatiesite. Dit codevoorbeeld werkt momenteel voor binaire classificatiemodellen met gestructureerde invoer. Als je modeltypes hebt met verschillende functies of taken, neem dan contact op met Fiddler voor hulp bij kleine wijzigingen in de code.

De Lambda-functie moet verwijzen naar de Fiddler Python-client. Fiddler heeft een openbaar beschikbare Lambda-laag gemaakt waarnaar u kunt verwijzen om ervoor te zorgen dat de import fiddler as fdl stap werkt naadloos. U kunt naar deze laag verwijzen via een ARN in de regio us-west-2: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, zoals weergegeven in de volgende schermafbeelding.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U moet ook Lambda-omgevingsvariabelen opgeven, zodat de Lambda-functie weet hoe verbinding moet worden gemaakt met uw Fiddler-proefomgeving en wat de invoer en uitvoer zijn in de .jsonl-bestanden die door uw model worden vastgelegd. De volgende schermafbeelding toont een lijst met de vereiste omgevingsvariabelen, die ook aan staan Fiddler's documentatiesite. Werk de waarden voor de omgevingsvariabelen bij zodat ze overeenkomen met uw model en gegevensset.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Ontdek de monitoringmogelijkheden van Fiddler in uw Fiddler-proefomgeving

Je hebt het gedaan! Met uw basisgegevens, model en verkeer verbonden, kunt u nu uitleggen: gegevensafwijking, uitschieters, modelbias, gegevensproblemen en prestatieblips, en dashboards delen met anderen. Voltooi uw reis door een demo kijken over de mogelijkheden voor modelprestatiebeheer die u in uw bedrijf hebt geïntroduceerd.

De onderstaande voorbeeldschermafbeeldingen bieden een glimp van modelinzichten zoals drift, uitbijterdetectie, lokale puntverklaringen en modelanalyses die u in uw Fiddler-proefomgeving kunt vinden.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Conclusie

Dit bericht benadrukte de behoefte aan enterprise-class modelbewaking en liet zien hoe u uw in SageMaker geïmplementeerde modellen kunt integreren met de Fiddler Model Prestatiebeheerplatform in slechts een paar stappen. Fiddler biedt functionaliteit voor modelmonitoring, verklaarbare AI, biasdetectie en root cause analysis, en is beschikbaar op de AWS Marketplace. Door uw MLops team met een eenvoudig te gebruiken enkel glas om ervoor te zorgen dat uw modellen zich gedragen zoals verwacht en om de onderliggende oorzaken van prestatievermindering te identificeren, kan Fiddler de productiviteit van datawetenschappers helpen verbeteren en de tijd verminderen om problemen op te sporen en op te lossen.

Als je meer wilt weten over Fiddler, ga dan naar: fiddler.ai of als u liever een gepersonaliseerde demo en technische discussie-e-mail wilt opzetten sales@fiddler.ai.


Over de auteurs

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Danny Brock is een Sr Solutions Engineer bij Fiddler AI. Danny heeft een lange aanstelling in de analyse- en ML-ruimte en leidt presales- en postsalesteams voor startups zoals Endeca en Incorta. Hij richtte in 2012 zijn eigen adviesbureau voor big data-analyse op, Branchbird.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Rajeev Govindan is een Sr Solutions Engineer bij Fiddler AI. Rajeev heeft uitgebreide ervaring in sales engineering en softwareontwikkeling bij verschillende grote ondernemingen, waaronder AppDynamics.

Bereik monitoring op bedrijfsniveau voor uw Amazon SageMaker-modellen met behulp van Fiddler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Krishnaram Kenthapadi is de hoofdwetenschapper van Fiddler AI. Daarvoor was hij Principal Scientist bij Amazon AWS AI, waar hij leiding gaf aan initiatieven op het gebied van eerlijkheid, uitlegbaarheid, privacy en modelinzicht in het Amazon AI-platform, en daarvoor bekleedde hij functies bij LinkedIn AI en Microsoft Research. Krishnaram behaalde in 2006 zijn doctoraat in computerwetenschappen aan de Stanford University.

Tijdstempel:

Meer van AWS-machine learning