Introduzione a Vertex AI Model Monitoring

Questa pagina fornisce una panoramica di Vertex AI Model Monitoring.

Panoramica di Monitoring

Vertex AI Model Monitoring consente di eseguire job di monitoraggio in base alle esigenze o in base a una pianificazione regolare per monitorare la qualità dei modelli tabulari. Se hai impostato gli avvisi, Vertex AI Model Monitoring ti informa quando le metriche superano una soglia specificata.

Ad esempio, supponiamo di avere un modello che prevede il lifetime value cliente. Man mano che le abitudini dei clienti cambiano, cambiano anche i fattori che prevedono la spesa dei clienti. Di conseguenza, le caratteristiche e i valori delle caratteristiche utilizzati in precedenza per addestrare il modello potrebbero non essere pertinenti per fare previsioni oggi. Questa deviazione nei dati è nota come deviazione.

Vertex AI Model Monitoring può monitorare e avvisarti quando le deviazioni superano una soglia specificata. Puoi quindi rivalutare o addestrare nuovamente il modello per assicurarti che funzioni come previsto.

Ad esempio, Vertex AI Model Monitoring può fornire visualizzazioni come nella figura seguente, che sovrappone due grafici di due set di dati. Questa visualizzazione consente di confrontare rapidamente e vedere le deviazioni tra i due set di dati.

Un esempio di distribuzione numerica di set di dati di riferimento e tartget.

Versioni di Vertex AI Model Monitoring

Vertex AI Model Monitoring offre due offerte: v2 e v1.

Model Monitoring v2 è in Anteprima ed è l'offerta più recente che associa tutte le attività di monitoraggio a una versione del modello. Al contrario, Model Monitoring v1 è in disponibilità generale ed è configurato sugli endpoint Vertex AI.

Se hai bisogno di assistenza a livello di produzione e vuoi monitorare un modello di cui è stato eseguito il deployment su un endpoint Vertex AI, utilizza Model Monitoring v1. Per tutti gli altri casi d'uso, utilizza Model Monitoring v2, che fornisce tutte le funzionalità di Model Monitoring v1 e altre ancora. Per ulteriori informazioni, consulta la panoramica di ogni versione:

Per gli utenti esistenti di Model Monitoring v1, Model Monitoring v1 viene mantenuto invariato. Non è necessario eseguire la migrazione a Model Monitoring v2. Se vuoi eseguire la migrazione, puoi utilizzare entrambe le versioni contemporaneamente fino a quando non hai completato la migrazione a Model Monitoring v2 per evitare di monitorare lacune durante la transizione.

Panoramica di Model Monitoring v2

Model Monitoring v2 consente di tenere traccia delle metriche nel tempo, dopo aver configurato il monitoraggio del modello ed eseguito job di monitoraggio. Puoi eseguire job di monitoraggio on demand o configurare esecuzioni pianificate. Utilizzando le esecuzioni pianificate, Model Monitoring esegue automaticamente i job di monitoraggio in base a una pianificazione definita da te.

Obiettivi di monitoraggio

Le metriche e le soglie monitorate sono mappate agli obiettivi di monitoraggio. Per ogni versione del modello, puoi specificare uno o più obiettivi di monitoraggio. La tabella seguente descrive in dettaglio ogni obiettivo:

Scopo Descrizione Tipo di dati delle caratteristiche Metriche supportate
Deviazione dei dati delle caratteristiche di input

Misura la distribuzione dei valori delle funzionalità di input rispetto a una distribuzione di dati di riferimento.

Categorico: booleano, stringa, categorico
  • L-Infinity
  • Divergenza di Jensen Shannon
Numerico: numero in virgola mobile, numero intero Divergenza di Jensen Shannon
Deviazione dei dati di previsione di output

Misura la distribuzione dei dati delle previsioni del modello rispetto a una distribuzione di dati di riferimento.

Categorico: booleano, stringa, categorico
  • L-Infinity
  • Divergenza di Jensen Shannon
Numerico: numero in virgola mobile, numero intero Divergenza di Jensen Shannon
Attribuzione delle caratteristiche

Misura la variazione nel contributo delle caratteristiche alla previsione di un modello rispetto a una base di riferimento. Ad esempio, puoi monitorare se una funzionalità molto importante perde improvvisamente di importanza.

Tutti i tipi di dati Valore SHAP (SHapley Additive ExPlanations)

Caratteristica di input e deviazione della previsione di output

Dopo il deployment di un modello in produzione, i dati di input possono discostarsi dai dati utilizzati per addestrare il modello oppure la distribuzione dei dati delle caratteristiche in produzione potrebbe variare significativamente nel tempo. Model Monitoring v2 consente di monitorare le variazioni nella distribuzione dei dati di produzione rispetto ai dati di addestramento o di monitorare l'evoluzione nel tempo della distribuzione dei dati di produzione.

Analogamente, per i dati di previsione, Model Monitoring v2 può monitorare le variazioni nella distribuzione dei risultati previsti rispetto ai dati di addestramento o alla distribuzione dei dati di produzione nel tempo.

Attribuzione delle caratteristiche

Le attribuzioni delle caratteristiche indicano in che misura ogni caratteristica del modello ha contribuito alle previsioni per ogni data istanza. I punteggi di attribuzione sono proporzionali al contributo della caratteristica alla previsione di un modello. In genere sono firmati, per indicare se una caratteristica aiuta a eseguire il push della previsione. La somma delle attribuzioni di tutte le caratteristiche deve corrispondere al punteggio di previsione del modello.

Monitorando le attribuzioni delle caratteristiche, Model Monitoring v2 tiene traccia delle variazioni nei contributi di una caratteristica alle previsioni di un modello nel tempo. Una modifica del punteggio di attribuzione di una caratteristica chiave spesso indica che la caratteristica è cambiata in modo da poter influire sull'accuratezza delle previsioni del modello.

Per ulteriori informazioni sulle attribuzioni e sulle metriche delle funzionalità, consulta Spiegazioni basate sulle caratteristiche e Metodo Shapley campionato.

Come configurare Model Monitoring v2

Devi prima registrare i tuoi modelli in Vertex AI Model Registry. Se pubblichi modelli al di fuori di Vertex AI, non è necessario caricare l'artefatto del modello. Poi devi creare un monitoraggio del modello, da associare a una versione del modello, e definire lo schema del modello. Per alcuni modelli, come quelli AutoML, viene fornito lo schema.

Nel monitoraggio del modello, puoi specificare facoltativamente configurazioni predefinite, come gli obiettivi di monitoraggio, un set di dati di addestramento, la posizione di output del monitoraggio e le impostazioni di notifica. Per ulteriori informazioni, consulta Configurare il monitoraggio del modello.

Dopo aver creato il monitoraggio del modello, puoi eseguire un job di monitoraggio on demand o pianificare job regolari per il monitoraggio continuo. Quando esegui un job, Model Monitoring utilizza la configurazione predefinita impostata nel monitoraggio del modello, a meno che non venga specificata una configurazione di monitoraggio diversa. Ad esempio, se fornisci obiettivi di monitoraggio diversi o un set di dati di confronto diverso, Model Monitoring utilizza le configurazioni del job anziché la configurazione predefinita del monitoraggio del modello. Per ulteriori informazioni, consulta Eseguire un job di monitoraggio.

Prezzi

Durante l'anteprima non ti viene addebitato alcun costo per Model Monitoring v2. Ti viene comunque addebitato l'utilizzo di altri servizi, come Cloud Storage, BigQuery, le previsioni batch di Vertex AI, Vertex Explainable AI e Cloud Logging.

Tutorial sul blocco note

I tutorial seguenti mostrano come utilizzare l'SDK Vertex AI per Python per configurare Model Monitoring v2 per il modello.

Model Monitoring v2: job di previsione batch per modelli personalizzati

Model Monitoring v2: previsione online del modello personalizzato

Model Monitoring v2: modelli esterni a Vertex AI

Panoramica di Model Monitoring v1

Per mantenere le prestazioni di un modello, Model Monitoring v1 monitora i dati di input di previsione del modello per rilevare inclinazione e deviazione delle caratteristiche:

  • Il disallineamento addestramento/produzione si verifica quando la distribuzione dei dati delle caratteristiche in produzione devia dalla distribuzione dei dati delle caratteristiche utilizzata per addestrare il modello. Se sono disponibili i dati di addestramento originali, puoi abilitare il rilevamento del disallineamento per monitorare i modelli per rilevare il disallineamento addestramento/distribuzione.

  • La deviazione della previsione si verifica quando la distribuzione dei dati delle caratteristiche in produzione cambia notevolmente nel tempo. Se i dati di addestramento originali non sono disponibili, puoi abilitare il rilevamento della deviazione per monitorare i dati di input per rilevare eventuali variazioni nel tempo.

Puoi abilitare sia il rilevamento di disallineamento che deviazione.

Model Monitoring v1 supporta il rilevamento di disallineamento e deviazione delle funzionalità per caratteristiche categoriche e numeriche:

  • Le caratteristiche categoriche sono dati limitati dal numero di valori possibili, in genere raggruppati per proprietà qualitative. come ad esempio tipo di prodotto, paese o tipo di cliente.

  • Le caratteristiche numeriche sono dati che possono essere qualsiasi valore numerico. Ad esempio, peso e altezza.

Quando il disallineamento o la deviazione per una caratteristica di un modello supera una soglia di avviso impostata, Model Monitoring v1 ti invia un avviso via email. Puoi anche visualizzare le distribuzioni per ogni caratteristica nel tempo per valutare se devi riaddestrare il modello.

Calcolare la deviazione

Per rilevare la deviazione per la versione 1, Vertex AI Model Monitoring utilizza TensorFlow Data Validation (TFDV) per calcolare le distribuzioni e i punteggi di distanza.

  1. Calcola la distribuzione statistica di base di riferimento:

    • Per il rilevamento del disallineamento, la base è la distribuzione statistica dei valori della caratteristica nei dati di addestramento.

    • Per il rilevamento della deviazione, la base è la distribuzione statistica dei valori della caratteristica rilevati in passato in produzione.

    Le distribuzioni per le caratteristiche categoriche e numeriche vengono calcolate come segue:

    • Per le caratteristiche categoriche, la distribuzione calcolata è il numero o la percentuale di istanze di ogni possibile valore della caratteristica.

    • Per le caratteristiche numeriche, Vertex AI Model Monitoring divide l'intervallo dei possibili valori delle caratteristiche in intervalli uguali e calcola il numero o la percentuale di valori delle caratteristiche che rientra in ciascun intervallo.

    La base di riferimento viene calcolata quando crei un job Vertex AI Model Monitoring e viene ricalcolata solo se aggiorni il set di dati di addestramento per il job.

  2. Calcola la distribuzione statistica degli ultimi valori delle caratteristiche in produzione.

  3. Confronta la distribuzione degli ultimi valori delle caratteristiche in produzione con la distribuzione di riferimento calcolando un punteggio di distanza:

    • Per le caratteristiche categoriche, il punteggio della distanza viene calcolato utilizzando la distanza L-infinity.

    • Per le caratteristiche numeriche, il punteggio della distanza viene calcolato utilizzando la divergenza di Jensen-Shannon.

  4. Quando il punteggio della distanza tra due distribuzioni statistiche supera la soglia specificata, Vertex AI Model Monitoring identifica l'anomalia come disallineamento o deviazione.

L'esempio seguente mostra un disallineamento o una deviazione tra la base di riferimento e le distribuzioni più recenti di una caratteristica categorica:

Distribuzione di riferimento

Un esempio di distribuzione delle caratteristiche del set di dati di riferimento.

Distribuzione più recente

Un esempio di distribuzione delle caratteristiche del set di dati più recente.

L'esempio seguente mostra un disallineamento o una deviazione tra la base di riferimento e le distribuzioni più recenti di una caratteristica numerica:

Distribuzione di riferimento

Un esempio di distribuzione delle caratteristiche del set di dati di riferimento.

Distribuzione più recente

Un esempio di distribuzione delle caratteristiche del set di dati più recente.

Considerazioni sull'utilizzo del monitoraggio del modello

  • Per ottimizzare i costi, puoi impostare una frequenza di campionamento della richiesta di previsione per monitorare un sottoinsieme degli input di produzione per un modello.

  • Puoi impostare una frequenza con cui gli input registrati di recente di un modello di cui è stato eseguito il deployment vengono monitorati per verificare eventuali disallineamenti o deviazioni. La frequenza di monitoraggio determina l'intervallo di tempo, o durata della finestra di monitoraggio, dei dati registrati che vengono analizzati in ogni esecuzione del monitoraggio.

  • Puoi specificare soglie di avviso per ogni caratteristica da monitorare. Viene registrato un avviso quando la distanza statistica tra la distribuzione delle caratteristiche di input e la base corrispondente supera la soglia specificata. Per impostazione predefinita, viene monitorata ogni caratteristica categorica e numerica, con valori di soglia pari a 0,3.

  • Un endpoint di previsione online può ospitare più modelli. Quando abiliti il rilevamento di disallineamenti o deviazioni su un endpoint, i seguenti parametri di configurazione vengono condivisi tra tutti i modelli ospitati nell'endpoint:

    • Tipo di rilevamento
    • Frequenza di monitoraggio
    • Frazione di richieste di input monitorate

    Per gli altri parametri di configurazione, puoi impostare valori diversi per ogni modello.

Passaggi successivi