Vertex AI Model Monitoring per le inferenze batch

Questa pagina descrive come configurare le richieste di job di inferenza batch in modo da includere l'analisi una tantum di Model Monitoring. Per le inferenze batch, il monitoraggio del modello supporta il rilevamento di disallineamento delle caratteristiche per le caratteristiche di input categoriche e numeriche.

Per creare un job di inferenza batch con l'analisi del disallineamento di Model Monitoring, devi includere nella richiesta sia i dati di input dell'inferenza batch sia i dati di addestramento originali per il modello. Puoi aggiungere l'analisi Model Monitoring solo quando crei nuovi job di inferenza batch.

Per saperne di più sul disallineamento, consulta Introduzione a Model Monitoring.

Per istruzioni su come configurare Model Monitoring per le inferenze online (in tempo reale), vedi Utilizzo di Model Monitoring.

Prerequisiti

Per utilizzare Model Monitoring con le inferenze batch, completa i seguenti passaggi:

  1. Avere un modello disponibile in Vertex AI Model Registry di tipo AutoML tabulare o addestramento personalizzato tabulare.

  2. Carica i dati di addestramento su Cloud Storage o BigQuery e ottieni il link URI ai dati.

    • Per i modelli addestrati con AutoML, puoi utilizzare l'ID set di dati per il set di dati di addestramento.
  3. Model Monitoring confronta i dati di addestramento con l'output dell'inferenza batch. Assicurati di utilizzare i formati file supportati per i dati di addestramento e l'output dell'inferenza batch:

    Tipo di modello Dati di addestramento Output dell'inferenza batch
    Addestrato dal cliente CSV, JSONL, BigQuery, TFRecord(tf.train.Example) JSONL
    AutoML Tabular CSV, JSONL, BigQuery, TFRecord(tf.train.Example) CSV, JSONL, BigQuery, TfRecord(Protobuf.Value)
  4. (Facoltativo) Per i modelli con addestramento personalizzato, carica lo schema del modello su Cloud Storage. Model Monitoring richiede lo schema per calcolare la distribuzione di base per il rilevamento del disallineamento.

Richiedere un'inferenza batch

Puoi utilizzare i seguenti metodi per aggiungere le configurazioni di Model Monitoring ai job di inferenza batch:

Console

Segui le istruzioni per effettuare una richiesta di inferenza batch con Model Monitoring abilitato:

API REST

Segui le istruzioni per effettuare una richiesta di inferenza batch utilizzando l'API REST:

Quando crei la richiesta di inferenza batch, aggiungi la seguente configurazione di Model Monitoring al corpo JSON della richiesta:

"modelMonitoringConfig": {
 "alertConfig": {
   "emailAlertConfig": {
     "userEmails": "EMAIL_ADDRESS"
   },
  "notificationChannels": [NOTIFICATION_CHANNELS]
 },
 "objectiveConfigs": [
   {
     "trainingDataset": {
       "dataFormat": "csv",
       "gcsSource": {
         "uris": [
           "TRAINING_DATASET"
         ]
       }
     },
     "trainingPredictionSkewDetectionConfig": {
       "skewThresholds": {
         "FEATURE_1": {
           "value": VALUE_1
         },
         "FEATURE_2": {
           "value": VALUE_2
         }
       }
     }
   }
 ]
}

dove:

  • EMAIL_ADDRESS è l'indirizzo email a cui vuoi ricevere gli avvisi di Model Monitoring. Ad esempio, example@example.com.

  • NOTIFICATION_CHANNELS: un elenco di canali di notifica di Cloud Monitoring in cui vuoi ricevere avvisi da Model Monitoring. Utilizza i nomi delle risorse per i canali di notifica, che puoi recuperare elencando i canali di notifica nel tuo progetto. Ad esempio: "projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568".

  • TRAINING_DATASET è il link al set di dati di addestramento archiviato in Cloud Storage.

    • Per utilizzare un link a un set di dati di addestramento BigQuery, sostituisci il campo gcsSource con quanto segue:
    "bigquerySource": {
        {
          "inputUri": "TRAINING_DATASET"
        }
     }
    
    • Per utilizzare un link a un modello AutoML, sostituisci il campo gcsSource con quanto segue:
    "dataset": "TRAINING_DATASET"
  • FEATURE_1:VALUE_1 e FEATURE_2:VALUE_2 è la soglia di avviso per ogni funzionalità che vuoi monitorare. Ad esempio, se specifichi Age=0.4, Model Monitoring registra un avviso quando la distanza statistica tra le distribuzioni di input e di base per la caratteristica Age supera 0,4. Per impostazione predefinita, ogni funzionalità categorica e numerica viene monitorata con valori di soglia pari a 0,3.

Per ulteriori informazioni sulle configurazioni di Model Monitoring, consulta il riferimento al job di monitoraggio.

Python

Consulta il notebook di esempio per eseguire un job di inferenza batch con Model Monitoring per un modello tabulare personalizzato.

Model Monitoring ti invia automaticamente notifiche via email relative ad aggiornamenti e avvisi dei job.

Accedere alle metriche di asimmetria

Puoi utilizzare i seguenti metodi per accedere alle metriche di distorsione per i job di inferenza batch:

Console (istogramma)

Utilizza la console Google Cloud per visualizzare gli istogrammi della distribuzione delle funzionalità per ogni funzionalità monitorata e scoprire quali modifiche hanno portato a uno sbilanciamento nel tempo:

  1. Vai alla pagina Previsioni batch:

    Vai a Previsioni batch

  2. Nella pagina Previsioni batch, fai clic sul job di inferenza batch che vuoi analizzare.

  3. Fai clic sulla scheda Avvisi di monitoraggio del modello per visualizzare un elenco delle funzionalità di input del modello, insieme a informazioni pertinenti, come la soglia di avviso per ciascuna funzionalità.

  4. Per analizzare una funzionalità, fai clic sul relativo nome. Una pagina mostra gli istogrammi della distribuzione delle funzionalità per quella funzionalità.

    La visualizzazione della distribuzione dei dati sotto forma di istogrammi consente di comprendere rapidamente ciò che è accaduto nei dati. In seguito, potresti decidere di modificare la pipeline di generazione delle caratteristiche o di conservare il modello.

    Istogrammi che mostrano la distribuzione dei dati di input di esempio e la distribuzione dei dati di addestramento per il rilevamento del disallineamento.

Console (file JSON)

Utilizza la console Google Cloud per accedere alle metriche in formato JSON:

  1. Vai alla pagina Previsioni batch:

    Vai a Previsioni batch

  2. Fai clic sul nome del job di monitoraggio dell'inferenza batch.

  3. Fai clic sulla scheda Proprietà di monitoraggio.

  4. Fai clic sul link Directory di output del monitoraggio, che ti indirizza a un bucket Cloud Storage.

  5. Fai clic sulla cartella metrics/.

  6. Fai clic sulla cartella skew/.

  7. Fai clic sul file feature_skew.json, che ti indirizza alla pagina Dettagli oggetto.

  8. Apri il file JSON utilizzando una delle seguenti opzioni:

  • Fai clic su Scarica e apri il file nell'editor di testo locale.

  • Utilizza il percorso URI gsutil per eseguire gcloud storage cat gsutil_URI in Cloud Shell o nel terminale locale.

Il file feature_skew.json include un dizionario in cui la chiave è il nome della funzionalità e il valore è il disallineamento della funzionalità. Ad esempio:

{
  "cnt_ad_reward": 0.670936,
  "cnt_challenge_a_friend": 0.737924,
  "cnt_completed_5_levels": 0.549467,
  "month": 0.293332,
  "operating_system": 0.05758,
  "user_pseudo_id": 0.1
}

Python

Consulta il blocco note di esempio per accedere alle metriche di disallineamento per un modello tabellare personalizzato dopo aver eseguito un job di inferenza batch con Model Monitoring.

Eseguire il debug degli errori di monitoraggio dell'inferenza batch

Se il job di monitoraggio dell'inferenza batch non va a buon fine, puoi trovare i log di debug nella console Google Cloud :

  1. Vai alla pagina Previsioni batch.

    Vai a Previsioni batch

  2. Fai clic sul nome del job di monitoraggio dell'inferenza batch non riuscito.

  3. Fai clic sulla scheda Proprietà di monitoraggio.

  4. Fai clic sul link Directory di output del monitoraggio, che ti indirizza a un bucket Cloud Storage.

  5. Fai clic sulla cartella logs/.

  6. Fai clic su uno dei file .INFO, che ti indirizza alla pagina Dettagli oggetto.

  7. Apri il file dei log utilizzando una delle seguenti opzioni:

    • Fai clic su Scarica e apri il file nell'editor di testo locale.

    • Utilizza il percorso URI gsutil per eseguire gcloud storage cat gsutil_URI in Cloud Shell o nel terminale locale.

Tutorial su Notebook

Scopri di più su come utilizzare Vertex AI Model Monitoring per ottenere visualizzazioni e statistiche per i modelli con questi tutorial end-to-end.

AutoML

Personalizzato

Modelli XGBoost

Attribuzioni delle caratteristiche di Vertex Explainable AI

Inferenza batch

Configurazione per i modelli tabulari

Passaggi successivi