Monitoraggio dei modelli Vertex AI per le previsioni in batch

Questa pagina descrive come configurare le richieste di job di previsione batch per includere un'analisi una tantum di Model Monitoring. Per le predizioni in 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 previsione batch con l'analisi di distorsione del monitoraggio del modello, devi includere nella richiesta sia i dati di input di previsione batch sia i dati di addestramento originali per il modello. Puoi aggiungere un'analisi di monitoraggio del modello solo quando crei nuovi job di previsione batch.

Per ulteriori informazioni sull'asimmetria, consulta Introduzione al monitoraggio dei modelli.

Per istruzioni su come configurare il monitoraggio dei modelli per le previsioni online (in tempo reale), consulta Utilizzare il monitoraggio dei modelli.

Prerequisiti

Per utilizzare il monitoraggio dei modelli con le previsioni batch, completa quanto segue:

  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. Il monitoraggio del modello confronta i dati di addestramento con l'output della previsione in batch. Assicurati di utilizzare i formati file supportati per i dati di addestramento e l'output della previsione batch:

    Tipo di modello Dati di addestramento Output di previsione batch
    Addestrato dal cliente CSV, JSONL, BigQuery, TFRecord(tf.train.Example) JSONL
    Dati tabulari AutoML 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 tuo modello su Cloud Storage. Model Monitoring richiede lo schema per calcolare la distribuzione di riferimento per il rilevamento dei disallineamenti.

Richiedere una previsione batch

Puoi utilizzare i seguenti metodi per aggiungere configurazioni di monitoraggio del modello ai job di previsione in batch:

Console

Segui le istruzioni per effettuare una richiesta di previsione batch con il monitoraggio dei modelli abilitato:

API REST

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

Quando crei la richiesta di previsione batch, aggiungi la seguente configurazione di monitoraggio del modello 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 su cui vuoi ricevere gli avvisi da Model Monitoring. Ad esempio, example@example.com.

  • NOTIFICATION_CHANNELS: un elenco di canali di notifica di Cloud Monitoring dove 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 sono le soglie di avviso per ogni funzionalità da monitorare. Ad esempio, se specifichi Age=0.4, Model Monitoring registra un avviso quando la distanza statistica tra le distribuzioni di input e di riferimento per la caratteristica Age supera 0,4. Per impostazione predefinita, ogni caratteristica categorica e numerica viene monitorata con valori di soglia di 0,3.

Per ulteriori informazioni sulle configurazioni di Model Monitoring, consulta la Guida di riferimento dei job di monitoraggio.

Python

Consulta il notebook di esempio per eseguire un job di previsione batch con il monitoraggio dei modelli per un modello tabulare personalizzato.

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

Accedere alle metriche di scostamento

Per accedere alle metriche di scostamento per i job di previsione batch, puoi utilizzare i seguenti metodi:

Console (istogramma)

Utilizza la console Google Cloud per visualizzare le ampiezze di distribuzione delle funzionalità per ogni funzionalità monitorata e scoprire quali modifiche hanno causato uno scostamento nel tempo:

  1. Vai alla pagina Previsioni batch:

    Vai a Previsioni batch

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

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

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

    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 un esempio di distribuzione dei dati di input e 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 delle previsioni batch.

  3. Fai clic sulla scheda Proprietà di monitoraggio.

  4. Fai clic sul link Directory di output di Monitoring, 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 per aprire la pagina Dettagli oggetto.

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

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

  • Utilizza il percorso dell'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 suo disallineamento. 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 notebook di esempio per accedere alle metriche di bias per un modello tabulare personalizzato dopo aver eseguito un job di previsione in batch con Monitoraggio del modello.

Debug degli errori di monitoraggio delle previsioni in batch

Se il job di monitoraggio delle previsioni 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 delle previsioni in batch non riuscito.

  3. Fai clic sulla scheda Proprietà di monitoraggio.

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

  5. Fai clic sulla cartella logs/.

  6. Fai clic su uno dei file .INFO per aprire la 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 dell'URI gsutil per eseguire gcloud storage cat gsutil_URI in Cloud Shell o nel terminale locale.

Tutorial sul 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 funzionalità di Vertex Explainable AI

Previsione batch

Configurazione per i modelli tabulari

Passaggi successivi