Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler

Dette er et gjesteblogginnlegg av Danny Brock, Rajeev Govindan og Krishnaram Kenthapadi ved Fiddler AI.

Din Amazon SageMaker modellene er live. De håndterer millioner av slutninger hver dag og skaper bedre forretningsresultater for bedriften din. De presterer akkurat like bra som den dagen de ble lansert.

Eh, vent. Er de? Kan være. Kanskje ikke.

Uten bedriftsklasse modellovervåking, kan modellene dine forfalle i stillhet. Maskinlæringsteamene dine (ML) vet kanskje aldri at disse modellene faktisk har endret seg fra mirakler av inntektsgenerering til forpliktelser som tar feil beslutninger som koster bedriften din tid og penger.

Ikke bekymre deg. Løsningen er nærmere enn du tror.

Fiddler, en modellytelsesstyringsløsning i bedriftsklassen tilgjengelig på AWS Marketplace, tilbyr modellovervåking og forklarbar AI for å hjelpe ML-team inspisere og løse et omfattende utvalg modellproblemer. Gjennom modellovervåking, modellforklarbarhet, analyse og skjevhetsdeteksjon, gir Fiddler bedriften din en enkel glassrute som er enkel å bruke for å sikre at modellene dine oppfører seg som de skal. Og hvis de ikke er det, tilbyr Fiddler også funksjoner som lar deg inspisere modellene dine for å finne de underliggende årsakene til ytelsessvikt.

Dette innlegget viser hvordan du MLOps teamet kan forbedre dataforskernes produktivitet og redusere tiden til å oppdage problemer for modellene dine som er distribuert i SageMaker ved å integrere med Fiddler Model Performance Management Platform i noen få enkle trinn.

Løsningsoversikt

Følgende referansearkitektur fremhever de viktigste integreringspunktene. Fiddler eksisterer som en "sidevogn" til din eksisterende SageMaker ML-arbeidsflyt.

Resten av dette innlegget leder deg gjennom trinnene for å integrere SageMaker-modellen din med Fiddler's Modell Performance Management Platform:

  1. Sørg for at modellen din har datafangst aktivert.
  2. Lag et Fiddler-prøvemiljø.
  3. Registrer informasjon om din modell i ditt Fiddler-miljø.
  4. Lag en AWS Lambda funksjon for å publisere SageMaker-slutninger til Fiddler.
  5. Utforsk Fiddlers overvåkingsfunksjoner i ditt Fiddler-prøvemiljø.

Forutsetninger

Dette innlegget forutsetter at du har satt opp SageMaker og distribuert et modellendepunkt. For å lære hvordan du konfigurerer SageMaker for modellservering, se Distribuer modeller for inferens. Noen eksempler er også tilgjengelige på GitHub repo.

Sørg for at modellen din har datafangst aktivert

På SageMaker-konsollen, naviger til modellens visningsendepunkt og kontroller at du har aktivert datafangst inn i et Amazon enkel lagringstjeneste (Amazon S3) bøtte. Dette lagrer konklusjonene (forespørsler og svar) modellen din gjør hver dag som JSON linjer filer (.jsonl) i Amazon S3.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Lag et Fiddler-prøvemiljø

Fra spelemann.ai nettstedet, kan du be om en gratis prøveversjon. Etter å ha fylt ut et raskt skjema, vil Fiddler kontakte deg for å forstå de spesifikke behovene for modellytelsesstyring og vil ha et prøvemiljø klart for deg om noen timer. Du kan forvente et dedikert miljø som https://yourcompany.try.fiddler.ai.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Registrer informasjon om din modell i ditt Fiddler-miljø

Før du kan begynne å publisere hendelser fra din SageMaker-vertsbaserte modell i Fiddler, må du opprette et prosjekt i ditt Fiddler-prøvemiljø og gi Fiddler-detaljer om modellen din gjennom et trinn som kalles modellregistrering. Hvis du vil bruke en forhåndskonfigurert bærbar PC innenfra Amazon SageMaker Studio i stedet for å kopiere og lime inn følgende kodebiter, kan du referere til Fiddler-hurtigstartnotatboken på GitHub. Studio tilbyr et enkelt nettbasert visuelt grensesnitt der du kan utføre alle ML-utviklingstrinn.

Først må du installere Fiddler Python-klient i SageMaker-notisboken og instansier Fiddler-klienten. Du kan få AUTH_TOKEN fra innstillinger side i Fiddler-prøvemiljøet ditt.

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

Deretter oppretter du et prosjekt i Fiddler-prøvemiljøet ditt:

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

Last nå opp treningsdatasettet ditt. Notatboken gir også et eksempeldatasett for å kjøre Fiddler's forklarbarhet algoritmer og som en baseline for overvåking av beregninger. Datasettet brukes også til å generere skjemaet for denne modellen i 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)

Til slutt, før du kan begynne å publisere slutninger til Fiddler for overvåking, rotårsaksanalyse og forklaringer, må du registrere modellen din. La oss først lage en model_info objekt som inneholder metadata om modellen din:

# 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

Deretter kan du registrere modellen med din nye model_info gjenstand:

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

Flott! Nå kan du publisere noen hendelser til Fiddler for å observere modellens ytelse.

Lag en Lambda-funksjon for å publisere SageMaker-slutninger til Fiddler

Med Lambdas serverløse arkitektur som er enkel å distribuere, kan du raskt bygge mekanismen som kreves for å flytte konklusjonene dine fra S3-bøtten du satte opp tidligere, inn i ditt nylig klargjorte Fiddler-prøvemiljø. Denne Lambda-funksjonen er ansvarlig for å åpne eventuelle nye JSONL-hendelsesloggfiler i modellens S3-bøtte, analysere og formatere JSONL-innholdet til en dataramme, og deretter publisere den datarammen med hendelser til Fiddler-prøvemiljøet. Følgende skjermbilde viser kodedetaljene for funksjonen vår.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Lambda-funksjonen må konfigureres for å utløse nyopprettede filer i S3-bøtten din. Følgende tutorial veileder deg gjennom å lage en Amazon EventBridge trigger som påkaller Lambda-funksjonen hver gang en fil lastes opp til Amazon S3. Følgende skjermbilde viser funksjonens utløserkonfigurasjon. Dette gjør det enkelt å sikre at hver gang modellen din gjør nye slutninger, blir de hendelsene som er lagret i Amazon S3 lastet inn i Fiddler for å drive modellens observerbarhet bedriften din trenger.

For å forenkle dette ytterligere er koden for denne Lambda-funksjonen offentlig tilgjengelig fra Fiddlers dokumentasjonsside. Dette kodeeksemplet fungerer for øyeblikket for binære klassifiseringsmodeller med strukturerte innganger. Hvis du har modelltyper med forskjellige funksjoner eller oppgaver, vennligst kontakt Fiddler for hjelp med mindre endringer i koden.

Lambda-funksjonen må henvise til Fiddler Python-klienten. Fiddler har laget et offentlig tilgjengelig Lambda-lag som du kan referere til for å sikre at import fiddler as fdl trinn fungerer sømløst. Du kan referere til dette laget via en ARN i us-west-2-regionen: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, som vist på følgende skjermbilde.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du må også spesifisere Lambda-miljøvariabler slik at Lambda-funksjonen vet hvordan den skal kobles til Fiddler-prøvemiljøet, og hva inngangene og utgangene er innenfor .jsonl-filene som fanges opp av modellen din. Følgende skjermbilde viser en liste over nødvendige miljøvariabler, som også er på Fiddlers dokumentasjonsside. Oppdater verdiene for miljøvariablene slik at de samsvarer med modellen og datasettet.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Utforsk Fiddlers overvåkingsfunksjoner i ditt Fiddler-prøvemiljø

Du har klart det! Med basislinjedata, modell og trafikk koblet sammen, kan du nå forklare datadrift, uteliggere, modellskjevhet, dataproblemer og ytelsesblipper, og del dashbord med andre. Fullfør reisen med ser på en demo om modellytelsesstyringsfunksjonene du har introdusert for bedriften din.

Eksempelskjermbildene nedenfor gir et glimt av modellinnsikt som drift, avviksdeteksjon, lokale punktforklaringer og modellanalyser som vil bli funnet i Fiddler-prøvemiljøet ditt.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

konklusjonen

Dette innlegget fremhevet behovet for bedriftsklasse modellovervåking og viste hvordan du kan integrere modellene dine distribuert i SageMaker med Fiddler Model Performance Management Platform på bare noen få skritt. Fiddler tilbyr funksjonalitet for modellovervåking, forklarbar AI, skjevhetsdeteksjon og rotårsaksanalyse, og er tilgjengelig på AWS Marketplace. Ved å gi din MLOps team med en brukervennlig enkelt glassrute for å sikre at modellene dine oppfører seg som forventet, og for å identifisere de underliggende årsakene til ytelsesforringelse, kan Fiddler bidra til å forbedre dataforskernes produktivitet og redusere tiden til å oppdage og løse problemer.

Hvis du ønsker å lære mer om Fiddler kan du besøke spelemann.ai eller hvis du foretrekker å sette opp en personlig demo og teknisk diskusjons-e-post sales@fiddler.ai.


Om forfatterne

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Danny Brock er Sr Solutions Engineer ved Fiddler AI. Danny har lenge vært ansatt i analyse- og ML-området, og driver forhåndssalg og ettersalgsteam for startups som Endeca og Incorta. Han grunnla sitt eget konsulentselskap for stordataanalyse, Branchbird, i 2012.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Rajeev Govindan er Sr Solutions Engineer ved Fiddler AI. Rajeev har lang erfaring innen salgsteknikk og programvareutvikling i flere bedriftsselskaper, inkludert AppDynamics.

Oppnå bedriftsovervåking for Amazon SageMaker-modellene dine ved å bruke Fiddler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Krishnaram Kenthapadi er sjefforsker for Fiddler AI. Tidligere var han hovedforsker ved Amazon AWS AI, hvor han ledet initiativene for rettferdighet, forklaring, personvern og modellforståelse i Amazon AI-plattformen, og før det hadde han roller i LinkedIn AI og Microsoft Research. Krishnaram mottok sin doktorgrad i informatikk fra Stanford University i 2006.

Tidstempel:

Mer fra AWS maskinlæring