Introduzione a Vertex AI Model Monitoring

Questa pagina fornisce una panoramica di Vertex AI Model Monitoring.

Panoramica del monitoraggio

Vertex AI Model Monitoring consente di eseguire job di monitoraggio secondo necessità o su una una pianificazione regolare per monitorare la qualità dei modelli tabulari. Se hai impostato degli 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 loro spesa. Di conseguenza, le caratteristiche e i valori delle caratteristiche utilizzati per addestrare il modello precedente potrebbe non essere pertinente per fare previsioni oggi. Questa deviazione nei dati è nota come deriva.

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 si comporti come previsto.

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

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

Versioni di Vertex AI Model Monitoring

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

Il monitoraggio dei modelli 2.0 è in anteprima ed è l'ultima offerta che associa tutte le attività di monitoraggio a una versione del modello. Al contrario, Model Monitoring v1 è in genere Disponibile e 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, usa Model Monitoring v1. Per tutti gli altri casi d'uso, utilizza Model Monitoring 2, che offre tutte le funzionalità di Model Monitoring 1 e altro ancora. Per ulteriori informazioni, consulta la panoramica di ogni versione:

Per gli utenti esistenti di Model Monitoring 1, la versione 1 viene mantenuta invariata. Non è necessario eseguire la migrazione alla versione 2 di Model Monitoring. Se vuoi eseguire la migrazione, puoi utilizzare entrambe le versioni contemporaneamente fino a quando non avrai completato la migrazione alla versione 2 di Monitoraggio modelli per evitare lacune di monitoraggio durante la transizione.

Panoramica di Model Monitoring 2.0

Model Monitoring 2.0 ti consente di monitorare le metriche nel tempo dopo aver configurato un monitoraggio del modello ed eseguito i job di monitoraggio. Puoi eseguire job di monitoraggio on demand o impostare esecuzioni pianificate. Utilizzando le esecuzioni pianificate, il monitoraggio dei modelli esegue automaticamente i job di monitoraggio in base a una pianificazione che definisci.

Obiettivi di monitoraggio

Le metriche e le soglie monitorate sono associate agli obiettivi di monitoraggio. Per ogni versione del modello, puoi specificare uno o più obiettivi di monitoraggio. La tabella seguente illustra ciascun scopo:

Obiettivo Descrizione Tipo di dati delle funzionalità Metriche supportate
Deviazione dei dati delle caratteristiche di input

Misura la distribuzione dei valori delle caratteristiche di input rispetto a una base di riferimento distribuzione dei dati.

Categorical: boolean, string, categorical
  • L-Infinity
  • Jensen Shannon Divergence
Numerico: float, integer Divergenza di Jensen Shannon
Deviazione dei dati di previsione di output

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

Categorical: boolean, string, categorical
  • L-Infinity
  • Jensen Shannon Divergence
Numerico: float, integer Jensen Shannon Divergence
Attribuzione delle caratteristiche

Misura la variazione del contributo delle caratteristiche alla previsione di un modello rispetto a un valore di riferimento. Ad esempio, puoi monitorare se un'attività molto importante la caratteristica perde improvvisamente di importanza.

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

Deviazione della caratteristica di input e della previsione di output

Dopo il deployment di un modello in produzione, i dati di input possono discostarsi utilizzati per addestrare il modello o la distribuzione dei dati delle caratteristiche la produzione potrebbe cambiare significativamente nel corso del tempo. Model Monitoring v2 può monitorare le modifiche la distribuzione dei dati di produzione rispetto ai dati di addestramento l'evoluzione della distribuzione dei dati di produzione nel tempo.

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

Attribuzione delle caratteristiche

Le attribuzioni delle caratteristiche indicano il contributo di ogni caratteristica nel modello le previsioni per ogni istanza. I punteggi di attribuzione sono proporzionali al contributo della caratteristica alla previsione di un modello. In genere sono che indica se una caratteristica aiuta a eseguire il push della previsione. La somma degli attributi di tutte le funzionalità deve corrispondere al punteggio di previsione del modello.

Monitorando le attribuzioni delle caratteristiche, Model Monitoring v2 tiene traccia delle modifiche nel contributi alle previsioni di un modello nel tempo. Una modifica alla funzione spesso il punteggio di attribuzione indica che la funzione è stata modificata in modo da poter influire sull'accuratezza delle previsioni del modello.

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

Come configurare il monitoraggio dei modelli 2.0

Devi prima registrare i tuoi modelli in Vertex AI Model Registry. Se gestisci modelli al di fuori di Vertex AI, non devi e caricare l'artefatto del modello. Poi crei un monitoraggio del modello, che associ a una versione del modello, e definisci lo schema del modello. Per alcuni modelli, come quelli AutoML, lo schema è fornito.

Nel monitoraggio dei modelli, se vuoi, puoi specificare configurazioni predefinite come scopi di monitoraggio, un set di dati di addestramento, la posizione dell'output del monitoraggio e le impostazioni di notifica. Per ulteriori informazioni, vedi Configurare il monitoraggio del modello.

Dopo aver creato un monitoraggio del modello, puoi eseguire un job di monitoraggio on demand oppure e pianificare job regolari per il monitoraggio continuo. Quando esegui un job, Monitoraggio dei modelli utilizza la configurazione predefinita impostata nel monitor dei modelli, a meno che non fornisci una configurazione di monitoraggio diversa. Per Ad esempio, se fornisci obiettivi di monitoraggio diversi per il confronto, Model Monitoring utilizza anziché la configurazione predefinita del monitoraggio del modello. Per maggiori informazioni, consulta Eseguire un job di monitoraggio.

Prezzi

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

Tutorial sul blocco note

I seguenti tutorial 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 2.0: previsione online del modello personalizzato

Model Monitoring 2.0: modelli esterni a Vertex AI

Panoramica di Model Monitoring v1

Per aiutarti a mantenere le prestazioni di un modello, la versione 1 di Model Monitoring monitora i dati di input della previsione del modello per rilevare il disallineamento e la deviazione delle caratteristiche:

  • Il disallineamento addestramento/produzione si verifica quando la distribuzione dei dati delle funzionalità in produzione si discosta da quella utilizzata per addestrare il modello. Se sono disponibili i dati di addestramento originali, puoi abilitare il rilevamento del disallineamento per monitorare il disallineamento tra addestramento e distribuzione.

  • La deviazione della previsione si verifica quando la distribuzione dei dati delle funzionalità in produzione cambia in modo significativo nel tempo. Se i dati di addestramento originali non sono disponibili, puoi attivare il rilevamento della deviazione per monitorare le variazioni dei dati di input nel tempo.

Puoi abilitare sia il rilevamento di disallineamento che deviazione.

La versione 1 del monitoraggio del modello supporta il rilevamento di disallineamenti e deviazioni delle caratteristiche per le caratteristiche categoriche e numeriche:

  • Le caratteristiche categoriche sono dati limitati dal numero di valori possibili, tipicamente raggruppati per proprietà qualitative. Ad esempio, categorie come 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 la funzionalità di un modello supera una soglia di avviso impostata, Model Monitoring versione 1 ti invia un avviso via email. Puoi anche visualizzare le distribuzioni per ogni funzionalità nel tempo per valutare se è necessario addestrare nuovamente il modello.

Calcola la deriva

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

  1. Calcola la distribuzione statistica di base di riferimento:

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

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

    Le distribuzioni delle caratteristiche categoriche e numeriche sono calcolate come segue: che 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 di possibili valori di caratteristiche in intervalli uguali e calcola il numero percentuale di valori delle caratteristiche che rientra in ciascun intervallo.

    La base di riferimento viene calcolata quando crei un modello Vertex AI Model Monitoring job, inoltre viene ricalcolato solo se aggiorni il set di dati di addestramento per il lavoro.

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

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

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

L'esempio seguente mostra uno scostamento o una deriva tra la linea di base e le ultime distribuzioni di un attributo categorico:

Distribuzione di riferimento

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

Distribuzione più recente

Un esempio di distribuzione delle funzionalità dell'ultimo set di dati.

L'esempio seguente mostra uno scostamento o una deriva tra la linea di base e le ultime distribuzioni 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 funzionalità dell'ultimo set di dati.

Considerazioni sull'utilizzo del monitoraggio del modello

  • Per contenere i costi, puoi impostare una frequenza di campionamento delle richieste di previsione per monitorare un sottoinsieme degli input di produzione inviati a 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 il periodo di tempo, o la durata della finestra di monitoraggio, dei dati registrati che vengono analizzati in ogni esecuzione del monitoraggio.

  • Puoi specificare le soglie di avviso per ogni funzionalità da monitorare. Viene registrato un avviso quando la distanza statistica tra la distribuzione della funzionalità di input e la base di riferimento corrispondente supera la soglia specificata. Di predefinita, ogni caratteristica categorica e numerica viene monitorata, con soglia pari a 0,3.

  • Un endpoint di previsione online può ospitare più modelli. Quando attivi disallineamenti il rilevamento della deviazione su un endpoint, i seguenti parametri di configurazione sono condivisi tra tutti i modelli ospitati in quell'endpoint:

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

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

Passaggi successivi