View a markdown version of this page

modifica della disponibilità di Amazon SageMaker Model Monitor - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

modifica della disponibilità di Amazon SageMaker Model Monitor

Nota

Amazon SageMaker Model Monitor non è più aperto a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. AWS continua a investire in miglioramenti della sicurezza e della disponibilità per Model Monitor, ma non prevediamo di introdurre nuove funzionalità.

Open-source SageMaker Soluzioni di monitoraggio AI + Amazon QuickSight + Amazon CloudWatch

La combinazione delle soluzioni di monitoraggio open source Amazon SageMaker AI, delle dashboard di QuickSight governance di Amazon e di Amazon CloudWatch sostituisce Amazon SageMaker Model Monitor.

Le soluzioni di monitoraggio open source Amazon SageMaker AI (pubblicate nell'aws-samples GitHub organizzazione) forniscono una base altamente scalabile e personalizzabile per il monitoraggio completo della qualità dei dati e dei modelli. Sono basati su servizi AWS gestiti (Amazon SageMaker AI, Amazon Athena, Amazon, Amazon SQS AWS Lambda EventBridge, Amazon SNS, Amazon QuickSight) combinati con strumenti ML open source (SageMaker AI MLFlow Apps ed Evidently AI). Le soluzioni vengono eseguite interamente all'interno dell'utente Account AWS e sono scalabili da carichi di lavoro in batch a basso volume a endpoint in tempo reale ad alta produttività. Coprono l'inferenza in batch, gli endpoint in tempo reale, la valutazione LLM e l'osservabilità delle risorse GPU e puoi adattarle ai tuoi set di dati, modelli e soglie di deriva.

Il monitoraggio delle inferenze con Amazon QuickSight aggiunge un livello di governance alle pipeline di inferenza di produzione per un monitoraggio predittivo e in tempo reale. Monitora continuamente le metriche previsionali e di qualità dei dati, gestisce la realtà basata sui ritardi e visualizza le tendenze delle tendenze e delle prestazioni dei modelli nelle dashboard dei dirigenti. Questa soluzione combina le app SageMaker AI MLFlow ed Evidently AI per l'analisi statistica della deriva con un data lake Athena Iceberg, Lambda per l'analisi pianificata, avvisi SNS e dashboard. EventBridge-triggered QuickSight

Amazon CloudWatch fornisce il monitoraggio a livello di sistema e a livello di inferenza con metriche avanzate per gli SageMaker endpoint, tra cui latenza di chiamata, errori di modello, utilizzo e metriche personalizzate con allarmi di rilevamento delle anomalie. CPU/GPU

SageMaker Sostituzione di Amazon Model Monitor con soluzioni open source e QuickSight CloudWatch

Questa sezione ti guida nella sostituzione della tua distribuzione Amazon SageMaker Model Monitor esistente utilizzando le soluzioni di monitoraggio open source Amazon SageMaker AI (AI MLFlow Apps + Evidently SageMaker AI), i dashboard di QuickSight governance di Amazon e Amazon. CloudWatch Questa soluzione supporta funzionalità equivalenti ed estese per il monitoraggio della qualità dei dati, il monitoraggio della qualità dei modelli, il rilevamento della deriva dei bias, il rilevamento della deriva dell'attribuzione delle funzionalità e il monitoraggio delle prestazioni del sistema per i modelli distribuiti su Amazon AI. SageMaker

Rimozione di Model Monitor

Interrompere Model Monitor per nuove pianificazioni di monitoraggio

Se il flusso di lavoro include la creazione di pianificazioni di monitoraggio utilizzando ModelExplainabilityMonitor le classi DefaultModelMonitor ModelQualityMonitorModelBiasMonitor,, o dall'SDK SageMaker Python o dall'CreateMonitoringScheduleAPI, passa alle alternative descritte nella sezione Configurazione delle sostituzioni di seguito.

Elimina le pianificazioni di monitoraggio esistenti

Le pianificazioni di monitoraggio generano le istanze di Processing Job (esempio:ml.m5.xlarge) in base a una pianificazione ricorrente. La loro eliminazione aiuta a eliminare i costi di elaborazione correnti.

Utilizzando l'SDK SageMaker Python:

import sagemaker from sagemaker.model_monitor import DefaultModelMonitor session = sagemaker.Session() # List all monitoring schedules schedules = session.sagemaker_client.list_monitoring_schedules() # Delete each schedule for schedule in schedules['MonitoringScheduleSummaries']: schedule_name = schedule['MonitoringScheduleName'] print(f"Deleting monitoring schedule: {schedule_name}") session.sagemaker_client.delete_monitoring_schedule( MonitoringScheduleName=schedule_name )

Usando: AWS CLI

# List all monitoring schedules aws sagemaker list-monitoring-schedules # Delete a specific monitoring schedule aws sagemaker delete-monitoring-schedule \ --monitoring-schedule-name "my-data-quality-monitor"
Nota

L'eliminazione di una pianificazione di monitoraggio interrompe anche la pianificazione se non è già stata interrotta. Questa operazione non elimina la cronologia delle esecuzioni del programma di monitoraggio.

Configurazione delle sostituzioni

Scelta di una soluzione di monitoraggio

L'archivio open source di soluzioni di monitoraggio SageMaker AI di Amazon offre sette soluzioni di monitoraggio pronte per la produzione basate su SageMaker AI MLFlow Apps ed Evidently AI. Seleziona quella che corrisponde al tuo modello di inferenza e alle tue esigenze operative. Sono tutti open source, vengono eseguiti all'interno dell'azienda e sono progettati per essere personalizzati in base ai set di dati, ai modelli e alle soglie di deriva. Account AWS

Soluzione Tipo di inferenza Implementazione Obiettivo del monitoraggio Ideale per
Pipeline di monitoraggio dei batch di machine learning predittivo Batch Transform 2 taccuini (esperimento + pipeline) SageMaker Deriva della qualità dei dati + modello Previsioni periodiche dei batch
Monitoraggio predittivo degli endpoint ML Real-time endpoint (acquisizione dati) Notebook + CDK Lambda Deriva della qualità dei dati + del modello Real-time endpoint scalati con CDK
Real-Time Monitoraggio delle inferenze con Evidently AI + SNS Real-time endpoint (acquisizione dati) Quaderno del seminario (riferimento) Deriva della qualità dei dati + del modello Avvisi e-mail leggeri su un endpoint esistente
Real-Time Monitoraggio delle inferenze con dashboard QuickSight Real-time endpoint Taccuini + script (Athena Iceberg lake) Drift + prestazioni + ritardata verità Dashboard per la governance della produzione (vedi meta-monitoraggio di seguito)
Monitoraggio delle inferenze LLM Real-time endpoint (acquisizione dati) CDK (Step Functions + Lambda) Valutazioni generative dell'IA (sicurezza, pertinenza, fluidità, ecc.) Monitoraggio della sicurezza e della qualità LLM
SageMaker Osservabilità delle risorse con Grafana Real-time endpoint Taccuino singolo (Amazon Managed Grafana) GPU/CPU/memory + costo Multi-model ottimizzazione dei costi e della capacità
LLM Quality Observability con Grafana Real-time endpoint Notebook (Grafana gestita +) CloudWatch Sicurezza, pertinenza, tono, qualità composita Rilevamento della regressione della qualità di uscita LLM

Guida introduttiva alle soluzioni di monitoraggio

I punti di partenza consigliati per sostituire il monitoraggio della qualità dei dati e dei modelli di Model Monitor sono la Predictive ML Batch Monitoring Pipeline (per i carichi di lavoro batch/Batch Transform) e la soluzione Predictive ML Endpoint Monitoring (per gli endpoint in tempo reale). Entrambi utilizzano il set di dati UCI Bank Marketing pronto all'uso, in modo da poterli eseguire dall'inizio alla fine prima di adattarli al proprio modello.

Predictive ML Batch Monitoring Pipeline (due notebook, eseguiti in sequenza):

  1. Sperimentazione (predictive_ml_experimentation_data_model_monitoring_evidently.ipynb): addestra un modello XGBoost con il monitoraggio MLFlow, esegue l'inferenza Batch Transform, quindi esegue Evidently e registra tutte le metriche e DataSummaryPreset i report nell'DataDriftPresetapp ClassificationPreset MLFlow. HTML/JSON

  2. Automazione della pipeline (batch_monitoring_pipeline.ipynb): rende operativo il flusso di lavoro in una SageMaker pipeline con a ed Evidently s, un argomento SNS per gli avvisi e una pianificazioneTransformStep. ProcessingStep EventBridge Nella Sezione 2, imposta, baseline_s3_uri production_s3_urimlflow_app_name, mlflow_experiment_name (corrisponde a Notebook 1) e (ad esempio,notification_email). schedule_expression rate(1 day) Conferma l'abbonamento e-mail SNS prima della prima esecuzione. Le soglie di deriva sono attive scripts/monitoring_processor.py (impostazione predefinita: segnala quando più del 30% delle feature vengono modificate).

Predictive ML Endpoint Monitoring (notebook, poi CDK opzionale per la scalabilità): apriml_experimentation_with_data_model_monitoring_evidently_realtime.ipynb, imposta mlflow_app_name nella Sezione 2 ed esegui le Sezioni 1-8. Questo addestra il modello, implementa un endpoint in tempo reale con Data Capture e viene eseguito evidentemente DataDriftPreset rispetto alla linea di base e alla verità fondamentale. ClassificationPreset

Per scalare, implementa le due funzioni Docker-based Lambda (deriva dei dati e qualità del modello) con CDK. Dacdk/, eseguinpm install, esporta le variabili stampate nella Sezione 9 (ENDPOINT_NAME,,BUCKET,,PREFIX,BASELINE_KEY,CAPTURE_PREFIX,, GROUND_TRUTH_KEYMLFLOW_TRACKING_URI, opzionaleSNS_TOPIC_ARN) MLFLOW_EXPERIMENTFEATURE_COLUMNS, quindi esegui bash scripts/deploy.sh (viene eseguita automaticamente). cdk bootstrap

Abilita EventBridge le notifiche S3 sul bucket e aggiungi i trigger S3: trasferimento dei dati in basso, qualità del modello s3:ObjectCreated:* in ${PREFIX}/data-capture/ basso. ${PREFIX}/data/ground_truth/

aws s3api put-bucket-notification-configuration \ --bucket <your-sagemaker-bucket> \ --notification-configuration '{"EventBridgeConfiguration": {}}'

La qualità del modello Lambda avvisa tramite SNS quando una metrica scende al di sotto della sua soglia (valori predefiniti: F1 0,70, Precisione 0,80, ROC AUC 0,75; sostituisci con,,). THRESHOLD_F1 THRESHOLD_ACCURACY THRESHOLD_ROC_AUC

La qualità del modello Lambda avvisa tramite SNS quando una metrica scende al di sotto della sua soglia (valori predefiniti: F1 0,70, Precisione 0,80, ROC AUC 0,75; sostituisci con,,). THRESHOLD_F1 THRESHOLD_ACCURACY THRESHOLD_ROC_AUC

Per un'alternativa leggera su un endpoint esistente, la soluzione Real-Time Inference Monitoring with Evidently AI + SNS aggiunge una singola fase di FrameworkProcessor elaborazione () EvidentlyMonitoring più un argomento Scheduler e SNS, senza data lake o dashboard. EventBridge Si tratta di un riferimento alla Sezione 8 del Notebook 06 nel workshop amazon-sagemaker-from-idea-to-production. Gli avvisi si attivano in caso di superamento (impostazione predefinita) o quando la deriva è configurata. drifted_columns_share DriftThreshold 0.05 CriticalFeatures

Sostituzione del monitoraggio della qualità dei dati

Il monitoraggio della qualità dei dati di Model Monitor rileva la deriva statistica nelle funzionalità di input confrontando i dati di inferenza in tempo reale con una linea di base dei dati di addestramento. Calcola le statistiche (media, deviazione standard, minimo, massimo, conteggio univoco) e controlla i vincoli (tipo di dati, completezza, intervalli di valori) utilizzando un motore in esecuzione su processi di elaborazione pianificati. Deequ-based

Opzione 1: Open-source soluzioni con Evidently AI

Le soluzioni di monitoraggio utilizzano l'intelligenza artificiale di Evidently DataDriftPreset per rilevare la deriva delle caratteristiche, calcolando le statistiche PSI (Population Stability Index) e KS per ogni caratteristica. La linea di base di addestramento viene letta come set di dati di riferimento e i dati di inferenza recenti come set di dati corrente. Le soluzioni batch ed endpoint consentono inoltre di DataSummaryPreset far emergere problemi di qualità dei dati (valori mancanti, valori anomali, controlli di integrità), in stretta armonia con i controlli dei vincoli di Model Monitor. I punteggi di Drift vengono confrontati con soglie configurabili, registrati in un'app SageMaker AI MLFlow insieme alle metriche di formazione e visualizzati come report HTML interattivi.

Questa sostituzione è altamente scalabile e completamente personalizzabile:

  • Scalabile: il calcolo si ridimensiona a zero quando è inattivo. EventBridge-triggered Lambda esegue l'analisi della deriva in base a una pianificazione e il partizionamento delle tabelle Athena Iceberg mantiene bassi i costi di scansione man mano che il volume di dati aumenta. High-volume le implementazioni sono scalabili linearmente senza capacità riservata.

  • Personalizzabile: puoi controllare i preset di drift, le soglie per funzionalità, le finestre di lookback e la pianificazione tramite una centrale. config.yaml Puoi aggiungere test di deriva specifici per dominio oltre a quelli PSI (ad esempio, KPI aziendali come i cambiamenti del tasso di approvazione).

  • Derivazione unificata: le metriche di deriva sono collocate insieme alle metriche di addestramento nella stessa app AI MLFlow, fornendo un'analisi completa della derivazione del modello e delle tendenze di deriva. SageMaker

Fai riferimento alle soluzioni di monitoraggio open source di Amazon AI per le fasi di configurazione dettagliate. SageMaker La soluzione QuickSight-based in tempo reale è descritta nella Meta-Monitoring sezione Inferenza di seguito.

Opzione 2: metriche CloudWatch personalizzate Amazon + rilevamento delle anomalie

Per un monitoraggio semplificato della qualità dei dati senza la pipeline di monitoraggio completa, pubblica metriche personalizzate CloudWatch e utilizza gli allarmi di rilevamento delle anomalie. Per i passaggi dettagliati, consulta Utilizzo del CloudWatch rilevamento delle anomalie.

Sostituzione del monitoraggio della qualità del modello

Il monitoraggio della qualità dei modelli di Model Monitor monitora l'accuratezza delle previsioni combinando le etichette di base di S3 con le previsioni degli endpoint e calcolando le metriche (accuratezza, precisione, richiamo, F1, AUC, RMSE, MAE) secondo una pianificazione.

Open-source Opzione 1: soluzioni con Evidently AI

Le soluzioni di monitoraggio utilizzano l'intelligenza artificiale di Evidently ClassificationPreset per il calcoloROC-AUC, la precisione, il richiamo, la F1 e la matrice di confusione ogni volta che è disponibile la verità fondamentale. Le soluzioni includono uno schema per riconciliare la verità fondamentale ritardata con le previsioni mediante ID di inferenza, che risolve la latenza reale delle etichette che rende difficile il monitoraggio della qualità del modello.

CloudWatch Opzione 2: metriche personalizzate

Pubblica le metriche sulla qualità dei modelli non CloudWatch appena sarà disponibile la verità fondamentale.

Sostituzione del monitoraggio della deriva dei bias

Il monitoraggio della deriva dei bias di Model Monitor rileva le variazioni delle metriche di equità nel tempo confrontando le previsioni in tempo reale con una linea di base dei bias tra gli attributi protetti.

Segment-sliced metriche con Evidently AI, registrate su MLFlow e QuickSight

Tieni traccia delle distorsioni calcolando le metriche delle prestazioni e dei risultati per segmento di attributi protetti (ad esempio, by genderage_band, oregion) e confrontandole con la linea di base dell'allenamento. Le stesse, evidentemente, ClassificationPreset utilizzate per la qualità del modello vengono eseguite per segmento e le metriche per segmento risultanti (tasso di selezione, tassi true/false positivi precision/recall) vengono registrate nell'app AI MLFlow e visualizzate nella dashboard di governance. SageMaker QuickSight

Definisci le tue soglie di equità (ad esempio, il divario massimo accettabile nel tasso di selezione o il tasso di veri positivi tra i segmenti) e invia un avviso tramite Amazon SNS quando un divario supera la soglia, utilizzando lo stesso pattern EventBridge + Lambda utilizzato per i monitor della qualità dei dati e dei modelli. Poiché tutto è open source e viene eseguito nel tuo account, sei tu a controllare quali attributi vengono monitorati e quali definizioni di equità si applicano.

Metamonitoraggio delle inferenze con Amazon QuickSight (monitoraggio predittivo e in tempo reale)

I modelli predittivi possono degradarsi silenziosamente durante la produzione. Gli addetti alla gestione delle frodi iniziano a registrare picchi di falsi positivi, i responsabili dei prestiti vedono le richieste che avrebbero dovuto essere segnalate e i pianificatori si ritrovano con un eccesso di scorte dovuto a una domanda sovrastimata. Meta-monitoring fornisce ai team un feedback continuo sulle prestazioni dei modelli di produzione e li avvisa non appena si manifesta una perdita di qualità del modello o dei dati, in modo che possano aggiornare i modelli in modo proattivo.

Questa soluzione combina servizi AWS gestiti (Amazon SageMaker AI, Amazon Athena, AWS Lambda, Amazon SQS, Amazon SNS, Amazon, Amazon QuickSight) con strumenti ML open source (SageMaker AI MLFlow Apps EventBridge, Evidently AI) per creare un sistema di monitoraggio pronto per la produzione. Nel repository delle soluzioni di monitoraggio si trova la soluzione Real-Time Inference Monitoring with QuickSight Dashboards; l'implementazione di riferimento completa si basa su sample-mlops-bestpractices e utilizza un modello di rilevamento delle frodi con carta di credito (XGBoost) come esempio funzionante. Implementa un'architettura in 11 fasi che comprende una pipeline di formazione, il monitoraggio delle inferenze e una dashboard di governance, con tre taccuini guidati che guidano il flusso di lavoro.

Prerequisiti:

  • SageMaker Un dominio AI con un server di tracciamento MLFlow.

  • Un ruolo di SageMaker esecuzione con autorizzazioni per S3, Athena, Lambda, SQS, SNS e EventBridge (il repository include le politiche e gli helper IAM in linea esatti). create_or_update_sagemaker_role create_lambda_role

  • Un bucket S3 per l'archiviazione dei dati.

  • Python 3.12+ e il gestore di uv pacchetti (per il script/CLI percorso); un abbonamento QuickSight Enterprise per la dashboard di governance.

Scegli un percorso di configurazione:

Opzione A (consigliata per i nuovi utenti): se non disponi di un SageMaker dominio, distribuisci il CloudFormation modello incloudformation/. Fornisce il SageMaker dominio, il profilo utente, JupyterLab lo spazio, il server di tracciamento MLFlow, il bucket S3 e il VPC di supporto, clona automaticamente il repository e scrive un popup al primo avvio. .env

Opzione B (domini esistenti): se hai già un SageMaker dominio con un server di tracciamento MLFlow, clona il repository e compila manualmente. JupyterLab .env

Configurazione

Imposta la formazione per prepararti al monitoraggio. Puoi gestire tutto dai tre notebook di SageMaker Studio o utilizzare i comandi CLI equivalenti (ogni cella del notebook è associata a un python main.py ... comando per). CI/CD Se si esegue l'esempio da un capo all'altro, non è necessario modificarloconfig.yaml; la compilazione .env e l'utilizzo delle impostazioni predefinite funzionano. Se hai già implementato un modello, adatta la pipeline di formazione ai tuoi passaggi e assicurati che l'endpoint di inferenza invii i record di previsione ad Amazon SQS.