Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med Fiddler

Det här är ett gästblogginlägg av Danny Brock, Rajeev Govindan och Krishnaram Kenthapadi på Fiddler AI.

Din Amazon SageMaker modellerna är live. De hanterar miljontals slutsatser varje dag och skapar bättre affärsresultat för ditt företag. De presterar exakt lika bra som dagen de lanserades.

Eh, vänta. Är de? Kanske. Kanske inte.

Utan företagsklass modellövervakning, kan dina modeller förfalla i tysthet. Dina team för maskininlärning (ML) kanske aldrig vet att dessa modeller faktiskt har förändrats från mirakel av inkomstgenerering till skulder som fattar felaktiga beslut som kostar ditt företag tid och pengar.

Oroa dig inte. Lösningen är närmare än du tror.

Fiddler, en modell Performance Management-lösning i företagsklass tillgänglig på AWS Marketplace, erbjuder modellövervakning och förklarande AI för att hjälpa ML-team att inspektera och ta itu med ett omfattande antal modellproblem. Genom modellövervakning, modellförklaring, analys och fördomsdetektering förser Fiddler ditt företag med en enkel glasruta som är lätt att använda för att säkerställa att dina modeller beter sig som de ska. Och om de inte är det, tillhandahåller Fiddler också funktioner som gör att du kan inspektera dina modeller för att hitta de bakomliggande orsakerna till prestandaförsämring.

Det här inlägget visar hur du MLOps Teamet kan förbättra dataforskarnas produktivitet och minska tiden för att upptäcka problem för dina modeller som distribueras i SageMaker genom att integrera med Fiddler Model Performance Management Platform i några enkla steg.

Lösningsöversikt

Följande referensarkitektur belyser de primära punkterna för integration. Fiddler finns som en "sidecar" till ditt befintliga SageMaker ML-arbetsflöde.

Resten av detta inlägg leder dig genom stegen för att integrera din SageMaker-modell med Fiddler's Modell Performance Management Platform:

  1. Se till att din modell har datafångst aktiverat.
  2. Skapa en Fiddler-testmiljö.
  3. Registrera information om din modell i din Fiddler-miljö.
  4. Skapa ett AWS Lambda funktion för att publicera SageMaker-slutledningar till Fiddler.
  5. Utforska Fiddlers övervakningsmöjligheter i din Fiddler-testmiljö.

Förutsättningar

Det här inlägget förutsätter att du har ställt in SageMaker och distribuerat en modellslutpunkt. För att lära dig hur du konfigurerar SageMaker för modellservering, se Distribuera modeller för slutledning. Några exempel finns också på GitHub repo.

Se till att din modell har datafångst aktiverat

På SageMaker-konsolen, navigera till din modells serveringsslutpunkt och se till att du har aktiverat Data infångning till en Amazon enkel lagringstjänst (Amazon S3) hink. Detta lagrar slutsatserna (förfrågningar och svar) din modell gör varje dag som JSON linjer filer (.jsonl) i Amazon S3.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Skapa en Fiddler-testmiljö

Från fiddler.ai webbplats kan du begära en gratis provperiod. Efter att ha fyllt i ett snabbt formulär kommer Fiddler att kontakta dig för att förstå detaljerna i dina behov av modellprestandahantering och kommer att ha en testmiljö redo för dig inom några timmar. Du kan förvänta dig en dedikerad miljö som https://yourcompany.try.fiddler.ai.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Registrera information om din modell i din Fiddler-miljö

Innan du kan börja publicera händelser från din SageMaker-värdmodell i Fiddler måste du skapa ett projekt i din Fiddler-testmiljö och ge Fiddler-information om din modell genom ett steg som kallas modellregistrering. Om du vill använda en förkonfigurerad anteckningsbok inifrån Amazon SageMaker Studio istället för att kopiera och klistra in följande kodavsnitt kan du referera till Fiddler snabbstarts-anteckningsboken GitHub. Studio tillhandahåller ett enda webbaserat visuellt gränssnitt där du kan utföra alla ML-utvecklingssteg.

Först måste du installera Fiddler Python-klient i din SageMaker-anteckningsbok och instansiera Fiddler-klienten. Du kan få AUTH_TOKEN från Inställningar sida i din Fiddler-testmiljö.

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

Skapa sedan ett projekt i din Fiddler-testmiljö:

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

Ladda nu upp din träningsdatauppsättning. Anteckningsboken tillhandahåller också en exempeldatauppsättning för att köra Fiddler's förklarbarhet algoritmer och som baslinje för övervakning av mätvärden. Datauppsättningen används också för att generera schemat för denna modell 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)

Slutligen, innan du kan börja publicera slutsatser till Fiddler för övervakning, rotorsaksanalys och förklaringar, måste du registrera din modell. Låt oss först skapa en model_info objekt som innehåller metadata om din modell:

# 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

Sedan kan du registrera modellen med din nya model_info objekt:

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

Bra! Nu kan du publicera några händelser till Fiddler för att observera modellens prestanda.

Skapa en Lambda-funktion för att publicera SageMaker-slutledningar till Fiddler

Med Lambdas enkla serverlösa arkitektur kan du snabbt bygga mekanismen som krävs för att flytta dina slutsatser från S3-bucketen du konfigurerade tidigare till din nyligen förberedda Fiddler-testmiljö. Denna Lambda-funktion är ansvarig för att öppna eventuella nya JSONL-händelseloggfiler i din modells S3-bucket, analysera och formatera JSONL-innehållet till en dataram och sedan publicera den dataramen med händelser till din Fiddler-testmiljö. Följande skärmdump visar koddetaljerna för vår funktion.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Lambdafunktionen måste konfigureras för att utlösa nyskapade filer i din S3-hink. Det följande handledning guidar dig genom att skapa en Amazon EventBridge trigger som anropar Lambda-funktionen när en fil laddas upp till Amazon S3. Följande skärmdump visar vår funktions triggerkonfiguration. Detta gör det enkelt att se till att varje gång din modell gör nya slutsatser, de händelser som lagras i Amazon S3 laddas in i Fiddler för att driva modellens observerbarhet som ditt företag behöver.

För att förenkla detta ytterligare är koden för denna Lambda-funktion allmänt tillgänglig från Spelmans dokumentationssida. Detta kodexempel fungerar för närvarande för binära klassificeringsmodeller med strukturerade indata. Om du har modelltyper med olika funktioner eller uppgifter, kontakta Fiddler för hjälp med mindre ändringar av koden.

Lambdafunktionen måste referera till Fiddler Python-klienten. Fiddler har skapat ett allmänt tillgängligt Lambda-lager som du kan referera till för att säkerställa att import fiddler as fdl steg fungerar sömlöst. Du kan referera till detta lager via ett ARN i us-west-2-regionen: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, som visas i följande skärmdump.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du måste också ange Lambda-miljövariabler så att Lambda-funktionen vet hur man ansluter till din Fiddler-testmiljö, och vilka ingångar och utgångar som finns inom .jsonl-filerna som fångas upp av din modell. Följande skärmdump visar en lista över nödvändiga miljövariabler, som också är på Spelmans dokumentationssida. Uppdatera värdena för miljövariablerna så att de matchar din modell och datamängd.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Utforska Fiddlers övervakningsmöjligheter i din Fiddler-testmiljö

Du har gjort det! Med din baslinjedata, modell och trafik kopplade kan du nu förklara datadrift, extremvärden, modellbias, dataproblem och prestandablips, och dela instrumentpaneler med andra. Avsluta din resa med tittar på en demo om de modellfunktioner för prestationshantering du har introducerat för ditt företag.

Exemplen på skärmdumparna nedan ger en glimt av modellinsikter som drift, avvikande detektering, lokala punktförklaringar och modellanalyser som finns i din Fiddler-testmiljö.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Slutsats

Det här inlägget belyste behovet av företagsklass modellövervakning och visade hur du kan integrera dina modeller distribuerade i SageMaker med Fiddler Model Performance Management Plattform på bara några få steg. Fiddler erbjuder funktionalitet för modellövervakning, förklarlig AI, bias-detektion och rotorsaksanalys, och är tillgänglig på AWS Marketplace. Genom att tillhandahålla din MLOps samarbeta med en enkel glasruta som är lätt att använda för att säkerställa att dina modeller beter sig som förväntat och för att identifiera de bakomliggande orsakerna till prestandaförsämring, kan Fiddler hjälpa till att förbättra dataforskarnas produktivitet och minska tiden för att upptäcka och lösa problem.

Om du vill lära dig mer om Fiddler besök gärna fiddler.ai eller om du föredrar att skapa en personlig demo och teknisk diskussion via e-post sales@fiddler.ai.


Om författarna

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Danny Brock är Sr Solutions Engineer på Fiddler AI. Danny har länge varit anställd inom analys- och ML-området och driver försäljnings- och efterförsäljningsteam för startups som Endeca och Incorta. Han grundade sitt eget konsultföretag för stordataanalys, Branchbird, 2012.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Rajeev Govindan är Sr Solutions Engineer på Fiddler AI. Rajeev har lång erfarenhet av försäljningsteknik och mjukvaruutveckling på flera företag, inklusive AppDynamics.

Uppnå övervakning av företagsklass för dina Amazon SageMaker-modeller med hjälp av Fiddler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Krishnaram Kenthapadi är chefsforskare för Fiddler AI. Tidigare var han huvudforskare på Amazon AWS AI, där han ledde initiativen för rättvisa, förklarabarhet, integritet och modellförståelse i Amazon AI-plattformen, och innan dess hade han roller på LinkedIn AI och Microsoft Research. Krishnaram tog sin doktorsexamen i datavetenskap från Stanford University 2006.

Tidsstämpel:

Mer från AWS maskininlärning