Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler

Questo è un post sul blog ospite di Danny Brock, Rajeev Govindan e Krishnaram Kenthapadi di Fiddler AI.

Trasferimento da aeroporto a Sharm Amazon Sage Maker i modelli sono in diretta. Gestiscono milioni di inferenze ogni giorno e garantiscono risultati aziendali migliori per la tua azienda. Funzionano esattamente come il giorno in cui sono stati lanciati.

Ehm, aspetta. Sono loro? Forse. Forse no.

Senza classe enterprise monitoraggio del modello, i tuoi modelli potrebbero decadere in silenzio. I tuoi team di machine learning (ML) potrebbero non sapere mai che questi modelli si sono effettivamente trasformati da miracoli di generazione di entrate a responsabilità che prendono decisioni errate che costano tempo e denaro alla tua azienda.

Non preoccuparti. La soluzione è più vicina di quanto pensi.

violinista, una soluzione di Model Performance Management di classe enterprise disponibile su Mercato AWS, offre monitoraggio dei modelli e intelligenza artificiale spiegabile per aiutare i team di machine learning a ispezionare e affrontare una gamma completa di problemi relativi ai modelli. Attraverso il monitoraggio dei modelli, la spiegabilità dei modelli, l'analisi e il rilevamento dei bias, Fiddler fornisce alla tua azienda un unico pannello di controllo facile da usare per garantire che i tuoi modelli si comportino come dovrebbero. E se non lo sono, Fiddler fornisce anche funzionalità che ti consentono di ispezionare i tuoi modelli per trovare le cause alla base del decadimento delle prestazioni.

Questo post mostra come il tuo MLOp può migliorare la produttività dei data scientist e ridurre i tempi necessari per rilevare i problemi relativi ai modelli distribuiti in SageMaker integrandosi con la piattaforma di gestione delle prestazioni dei modelli Fiddler in pochi semplici passaggi.

Panoramica della soluzione

La seguente architettura di riferimento evidenzia i principali punti di integrazione. Fiddler esiste come "sidecar" del flusso di lavoro SageMaker ML esistente.

Il resto di questo post ti guida attraverso i passaggi per integrare il tuo modello SageMaker con quello di Fiddler Piattaforma di gestione delle prestazioni dei modelli:

  1. Assicurati che per il tuo modello sia abilitata l'acquisizione dei dati.
  2. Crea un ambiente di prova di Fiddler.
  3. Registra le informazioni sul tuo modello nel tuo ambiente Fiddler.
  4. Creare un AWS Lambda funzione per pubblicare le inferenze di SageMaker su Fiddler.
  5. Esplora le funzionalità di monitoraggio di Fiddler nel tuo ambiente di prova di Fiddler.

Prerequisiti

Questo post presuppone che tu abbia configurato SageMaker e distribuito un endpoint del modello. Per informazioni su come configurare SageMaker per la fornitura di modelli, fare riferimento a Distribuire modelli per l'inferenza. Alcuni esempi sono disponibili anche su Repository GitHub.

Assicurati che per il tuo modello sia abilitata l'acquisizione dei dati

Nella console SageMaker, vai all'endpoint di servizio del tuo modello e assicurati di averlo abilitato acquisizione dati in un Servizio di archiviazione semplice Amazon (Amazon S3) secchio. Questo memorizza le inferenze (richieste e risposte) che il tuo modello fa ogni giorno File di linee JSON (.jsonl) in Amazon S3.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Crea un ambiente di prova di Fiddler

Dal violinista.ai sito web, è possibile richiedere una prova gratuita. Dopo aver compilato un breve modulo, Fiddler ti contatterà per comprendere le specifiche delle esigenze di gestione delle prestazioni del tuo modello e avrà un ambiente di prova pronto per te in poche ore. Puoi aspettarti un ambiente dedicato come https://yourcompany.try.fiddler.ai.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Registra le informazioni sul tuo modello nel tuo ambiente Fiddler

Prima di poter iniziare a pubblicare eventi dal tuo modello ospitato da SageMaker in Fiddler, devi creare un progetto all'interno del tuo ambiente di prova di Fiddler e fornire a Fiddler i dettagli del tuo modello tramite un passaggio chiamato registrazione del modello. Se desideri utilizzare un notebook preconfigurato dall'interno Amazon Sage Maker Studio anziché copiare e incollare i seguenti frammenti di codice, puoi fare riferimento al taccuino di avvio rapido di Fiddler su GitHub. Studio fornisce un'unica interfaccia visiva basata sul Web in cui è possibile eseguire tutte le fasi di sviluppo ML.

Per prima cosa, devi installare il Client Python di Fiddler nel tuo notebook SageMaker e crea un'istanza del client Fiddler. Puoi ottenere il AUTH_TOKEN dal Impostazioni profilo pagina nel tuo ambiente di prova di 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)

Successivamente, crea un progetto nel tuo ambiente di prova di 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)

Ora carica il set di dati di addestramento. Il notebook fornisce anche un set di dati di esempio per eseguire Fiddler spiegabilità algoritmi e come base per il monitoraggio dei parametri. Il set di dati viene utilizzato anche per generare lo schema per questo modello in 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)

Infine, prima di poter iniziare a pubblicare inferenze su Fiddler per il monitoraggio, l'analisi delle cause principali e le spiegazioni, è necessario registrare il modello. Creiamo prima un file model_info oggetto che contiene i metadati sul tuo modello:

# 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

Quindi puoi registrare il modello utilizzando il tuo nuovo model_info oggetto:

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

Grande! Ora puoi pubblicare alcuni eventi su Fiddler per osservare le prestazioni del modello.

Crea una funzione Lambda per pubblicare le inferenze di SageMaker su Fiddler

Con l'architettura serverless di Lambda, semplice da implementare, puoi creare rapidamente il meccanismo necessario per spostare le tue inferenze dal bucket S3 configurato in precedenza nell'ambiente di prova Fiddler appena predisposto. Questa funzione Lambda è responsabile dell'apertura di eventuali nuovi file di registro eventi JSONL nel bucket S3 del tuo modello, dell'analisi e della formattazione del contenuto JSONL in un dataframe e quindi della pubblicazione del dataframe degli eventi nel tuo ambiente di prova Fiddler. Lo screenshot seguente mostra i dettagli del codice della nostra funzione.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

La funzione Lambda deve essere configurata per l'attivazione dei file appena creati nel bucket S3. Il seguente lezione ti guida attraverso la creazione di un file Amazon EventBridge trigger che richiama la funzione Lambda ogni volta che un file viene caricato su Amazon S3. Lo screenshot seguente mostra la configurazione del trigger della nostra funzione. Ciò semplifica la garanzia che ogni volta che il tuo modello effettua nuove inferenze, gli eventi archiviati in Amazon S3 vengono caricati in Fiddler per garantire l'osservabilità del modello di cui la tua azienda ha bisogno.

Per semplificare ulteriormente il tutto, il codice per questa funzione Lambda è disponibile pubblicamente da Sito della documentazione di Fiddler. Questo esempio di codice attualmente funziona per modelli di classificazione binaria con input strutturati. Se disponi di tipi di modello con caratteristiche o attività diverse, contatta Fiddler per ricevere assistenza con modifiche minori al codice.

La funzione Lambda deve fare riferimento al client Fiddler Python. Fiddler ha creato un livello Lambda disponibile pubblicamente a cui puoi fare riferimento per garantire che il file import fiddler as fdl il passaggio funziona perfettamente. Puoi fare riferimento a questo livello tramite un ARN nella regione us-west-2: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, come mostrato nella seguente schermata.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Devi inoltre specificare le variabili di ambiente Lambda in modo che la funzione Lambda sappia come connettersi al tuo ambiente di prova di Fiddler e quali siano gli input e gli output all'interno dei file .jsonl acquisiti dal tuo modello. La schermata seguente mostra un elenco delle variabili di ambiente richieste, anch'esse attive Sito della documentazione di Fiddler. Aggiorna i valori delle variabili di ambiente in modo che corrispondano al modello e al set di dati.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Esplora le funzionalità di monitoraggio di Fiddler nel tuo ambiente di prova di Fiddler

Ce l'hai fatta! Con i dati di riferimento, il modello e il traffico collegati, ora puoi spiegare deriva dei dati, valori anomali, distorsione del modello, problemi relativi ai dati e problemi di prestazioni e condividi dashboard con altri. Completa il tuo viaggio entro guardando una demo sulle funzionalità di gestione delle prestazioni del modello che hai introdotto nella tua azienda.

Gli screenshot di esempio riportati di seguito forniscono un assaggio degli approfondimenti del modello come deriva, rilevamento di valori anomali, spiegazioni dei punti locali e analisi del modello che saranno disponibili nel tuo ambiente di prova di Fiddler.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Conclusione

Questo post ha evidenziato la necessità di soluzioni di classe enterprise monitoraggio del modello e ha mostrato come integrare i tuoi modelli distribuiti in SageMaker con Piattaforma di gestione delle prestazioni del modello Fiddler in pochi passaggi. Fiddler offre funzionalità per il monitoraggio dei modelli, l'intelligenza artificiale spiegabile, il rilevamento dei bias e l'analisi delle cause principali ed è disponibile su Mercato AWS. Fornendo il tuo MLOp collaborando con un unico pannello di controllo facile da usare per garantire che i modelli si comportino come previsto e per identificare le cause profonde del degrado delle prestazioni, Fiddler può aiutare a migliorare la produttività dei data scientist e a ridurre i tempi per rilevare e risolvere i problemi.

Se desideri saperne di più su Fiddler, visita il sito violinista.ai o se preferisci impostare una demo personalizzata e un'e-mail di discussione tecnica sales@fiddler.ai.


Informazioni sugli autori

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Danny Brock è un Senior Solutions Engineer presso Fiddler AI. Danny lavora da tempo nel settore dell'analisi e del machine learning, gestendo team di prevendita e postvendita per startup come Endeca e Incorta. Nel 2012 ha fondato la sua società di consulenza per l'analisi dei big data, Branchbird.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Rajeev Govindan è un Senior Solutions Engineer presso Fiddler AI. Rajeev ha una vasta esperienza nell'ingegneria delle vendite e nello sviluppo di software presso diverse aziende aziendali, tra cui AppDynamics.

Ottieni un monitoraggio di livello aziendale per i tuoi modelli Amazon SageMaker utilizzando Fiddler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Krishnaram Kenthapadi è lo scienziato capo di Fiddler AI. In precedenza, è stato Principal Scientist presso Amazon AWS AI, dove ha guidato le iniziative di equità, spiegabilità, privacy e comprensione dei modelli nella piattaforma Amazon AI e, prima ancora, ha ricoperto ruoli presso LinkedIn AI e Microsoft Research. Krishnaram ha conseguito il dottorato in Informatica presso l'Università di Stanford nel 2006.

Timestamp:

Di più da Apprendimento automatico di AWS