Creazione di un job di valutazione continua

Un job di valutazione continua definisce in che modo AI Platform Data Labeling Service esegue la valutazione continua di una versione del modello di cui hai eseguito il deployment in AI Platform Prediction. Quando crei un job di valutazione per una versione del modello, iniziano a verificarsi due cose:

  • Poiché la versione del modello genera previsioni online, l'input e l'output di alcune di queste previsioni vengono salvati in una tabella BigQuery.
  • A intervalli regolari, il job di valutazione continua viene eseguito ed esegue le seguenti attività:
    1. Il job crea un set di dati di Data Labeling Service con tutte le nuove righe in BigQuery dall'ultima esecuzione.
    2. (Facoltativo) Il job invia una richiesta di etichettatura per chiedere ai revisori di fornire etichette basate su dati empirici reali per le previsioni.
    3. Il job calcola un insieme di metriche di valutazione, che puoi visualizzare nella console Google Cloud.

Prima di iniziare

Prima di iniziare, devi eseguire il deployment di una versione del modello in AI Platform Prediction che soddisfi requisiti specifici del modello. Devi anche abilitare determinate API Google Cloud. Leggi Prima di iniziare la valutazione continua per scoprire come soddisfare questi requisiti.

Configura le opzioni di base

Le sezioni seguenti descrivono come accedere alla pagina di creazione del job e configurare i dettagli di base per il job di valutazione.

Per creare un job di valutazione per una versione del modello, vai alla pagina relativa alla versione del modello nella console Google Cloud e apri la pagina di creazione del job:

  1. Apri la pagina Modelli della piattaforma AI nella console Google Cloud:

    Vai alla pagina dei modelli di AI Platform

  2. Fai clic sul nome del modello contenente la versione del modello per la quale vuoi creare un job di valutazione.

  3. Fai clic sul nome della versione del modello per cui vuoi creare un job di valutazione. Non può avere già un job di valutazione associato.

  4. Fai clic sulla scheda Valutazione. Poi fai clic su Configura job di valutazione.

Specifica la descrizione, lo scopo del modello, le etichette e la percentuale di campionamento

I passaggi riportati di seguito descrivono i dettagli di configurazione di base che devi specificare nel modulo di creazione del job:

  1. Aggiungi una descrizione per il job di valutazione nel campo Descrizione del job.

  2. Specifica il tipo di attività svolta dal tuo modello di machine learning nel campo Obiettivo del modello. Scopri di più sui tipi di modelli di machine learning supportati dalla valutazione continua.

    • Se il modello esegue la classificazione,specifica se esegue la classificazione con una sola etichetta o con più etichette nel campo Tipo di classificazione.
    • Se il tuo modello esegue il rilevamento di oggetti nelle immagini, specifica un indice di Jaccard (IoU) minimo tra 0 e 1. Questo valore definisce quanto devono essere simili i riquadri di delimitazione previsti dal modello rispetto ai riquadri di delimitazione basati su dati empirici reali per essere considerati una previsione corretta.
  3. Nel campo Percorso del file delle etichette di previsione, specifica il percorso di un file CSV in Cloud Storage contenente le possibili etichette per le previsioni del modello. Questo file definisce un set di specifiche di annotazione per il tuo modello. Scopri come strutturare questo file.

  4. Nel campo Percentuale del campione giornaliero, specifica la percentuale di predizioni pubblicate dalla versione del modello che vuoi esportare in BigQuery e analizzare nell'ambito della valutazione continua.

    Inoltre, specifica un limite di campioni giornalieri per impostare un valore massimo per il numero di previsioni da campionare durante un singolo periodo di valutazione.

    Ad esempio, potresti voler campionare il 10% delle previsioni per la valutazione continua. Tuttavia, se ricevi molte previsioni in un determinato giorno, devi assicurarti di non campionare mai più di 100 previsioni per l'esecuzione del job di valutazione di quel giorno. Un numero elevato di previsioni potrebbe richiedere molto tempo ai revisori umani per l'etichettatura e comportare costi del Servizio di etichettatura dei dati superiori alle aspettative.

Specifica la tabella BigQuery

Nel campo Tabella BigQuery, devi specificare il nome di una tabella BigQuery in cui Data Labeling Service può archiviare le previsioni campionate dalla versione del modello.

Se specifichi il nome di una tabella che non esiste ancora, Data Labeling Service creerà una tabella con lo schema corretto.

Devi fornire il nome completo della tabella nel seguente formato: bq://YOUR_PROJECT_ID.YOUR_DATASET_NAME.YOUR_TABLE_NAME

  • YOUR_PROJECT_ID deve essere l'ID del progetto in cui stai attualmente creando un job di valutazione.
  • YOUR_DATASET_NAME può essere qualsiasi nome di set di dati BigQuery valido. Il set di dati non deve essere ancora esistente.
  • YOUR_TABLE_NAME può essere qualsiasi nome tabella BigQuery valido.

Se la tabella specificata esiste già, deve avere lo schema corretto per la valutazione continua:

Nome campoTipoModalità
modelloSTRINGREQUIRED
model_versionSTRINGREQUIRED
tempoTIMESTAMPREQUIRED
raw_dataSTRINGREQUIRED
raw_predictionSTRINGNULLABLE
groundtruthSTRINGNULLABLE

La tabella non deve avere altre colonne oltre a queste.

Specifica le chiavi di previsione

Devi specificare le chiavi di determinati campi nell'input in modo che Data Labeling Service possa estrarre le informazioni necessarie dall'input e dall'output JSON della previsione non elaborata archiviati nella tabella BigQuery. Assicurati che la versione del modello accetti input e restituisca le previsioni nel formato richiesto. Quindi fornisci le chiavi pertinenti:

  • Chiave dei dati: la chiave di un campo nell'input di previsione della versione del modello che contiene i dati utilizzati per la previsione. Se attivi l'etichettatura umana, Data Labeling Service fornisce questi dati a revisori umani per fornire etichette del vero valore. Inoltre, le utilizza per mostrare confronti affiancati quando visualizzi le metriche di valutazione nella console Google Cloud.

    Se la versione del modello esegue la classificazione del testo o la classificazione generale, devi fornire questa chiave. Se la versione del modello esegue la classificazione delle immagini o il rilevamento di oggetti nelle immagini e accetta immagini con codifica base64 come input per le previsioni, devi fornire anche questa chiave.

  • Chiave di riferimento dei dati: la chiave di un campo nell'input della previsione della versione del modello che contiene un percorso Cloud Storage a un'immagine. Data Labeling Service carica questa immagine e la utilizza per le stesse finalità per cui utilizza la chiave dati.

    Fornisci questa chiave solo se la versione del modello esegue la classificazione delle immagini o il rilevamento di oggetti nelle immagini e accetta i percorsi delle immagini in Cloud Storage come input di previsione. È obbligatoria almeno una delle chiavi Data key e Data reference key.

  • Chiave dell'etichetta di previsione: la chiave di un campo nell'output della previsione della versione del modello che contiene un array di etichette previste. Data Labeling Service confronta questi valori con i valori basati su dati empirici reali per calcolare le metriche di valutazione, come le matrici di confusione.

    Questo campo è obbligatorio.

  • Chiave del punteggio di previsione: la chiave di un campo nell'output della previsione della versione del modello che contiene un array di punteggi previsti. Data Labeling Service utilizza questi valori insieme alle etichette di previsione e alle etichette basate su dati empirici reali per calcolare le metriche di valutazione come le curve di precisione e recupero.

    Questo campo è obbligatorio.

  • Chiave del riquadro di delimitazione: la chiave di un campo nell'output della previsione della versione del modello che contiene un array di riquadri di delimitazione. Questo è necessario per valutare il rilevamento di oggetti nelle immagini.

    Fornisci questa chiave solo se la versione del modello esegue il rilevamento di oggetti nelle immagini.

Esempi di chiavi di previsione

La sezione seguente fornisce esempi di come fornire chiavi di previsione per diversi tipi di modelli:

Classificazione delle immagini

Esempio di codifica Base64

Supponiamo che la versione del modello possa accettare il seguente input:

{
  "instances": [
    {
      "image_bytes": {
        "b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
      }
    }
  ]
}

Supponiamo che restituisca il seguente output:

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Quindi fornisci le seguenti chiavi:

  • Chiave dati: image_bytes/b64
  • Chiave etichetta di previsione: sentiments
  • Chiave punteggio di previsione: confidence

Esempio di riferimento Cloud Storage

Supponiamo che la versione del modello possa accettare il seguente input:

{
  "instances": [
    {
      "image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
    }
  ]
}

Supponiamo che restituisca il seguente output:

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Quindi fornisci le seguenti chiavi:

  • Chiave di riferimento dei dati: image_path
  • Chiave etichetta di previsione: sentiments
  • Chiave punteggio di previsione: confidence

Classificazione del testo

Supponiamo che la versione del modello possa accettare il seguente input:

{
  "instances": [
    {
      "text": "If music be the food of love, play on;"
    }
  ]
}

Supponiamo che restituisca il seguente output:

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Quindi fornisci le seguenti chiavi:

  • Chiave dati: text
  • Chiave etichetta di previsione: sentiments
  • Chiave punteggio di previsione: confidence

Classificazione generale

Supponiamo che la versione del modello possa accettare il seguente input:

{
  "instances": [
    {
      "weather": [
        "sunny",
        72,
        0.22
      ]
    }
  ]
}

Supponiamo che restituisca il seguente output:

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Quindi fornisci le seguenti chiavi:

  • Chiave dati: weather
  • Chiave etichetta di previsione: sentiments
  • Chiave punteggio di previsione: confidence

Rilevamento di oggetti immagine

Esempio di codifica Base64

Supponiamo che la versione del modello possa accettare il seguente input:

{
  "instances": [
    {
      "image_bytes": {
        "b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
      }
    }
  ]
}

Supponiamo che restituisca il seguente output:

{
  "predictions": [
    {
      "bird_locations": [
        {
          "top_left": {
            "x": 53,
            "y": 22
          },
          "bottom_right": {
            "x": 98,
            "y": 150
          }
        }
      ],
      "species": [
        "rufous hummingbird"
      ],
      "probability": [
        0.77
      ]
    }
  ]
}

Quindi fornisci le seguenti chiavi:

  • Chiave dati: image_bytes/b64
  • Chiave etichetta di previsione: species
  • Chiave punteggio di previsione: probability
  • Chiave della casella delimitante: bird_locations

Esempio di riferimento Cloud Storage

Supponiamo che la versione del modello possa accettare il seguente input:

{
  "instances": [
    {
      "image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
    }
  ]
}

Supponiamo che restituisca il seguente output:

{
  "predictions": [
    {
      "bird_locations": [
        {
          "top_left": {
            "x": 53,
            "y": 22
          },
          "bottom_right": {
            "x": 98,
            "y": 150
          }
        }
      ],
      "species": [
        "rufous hummingbird"
      ],
      "probability": [
        0.77
      ]
    }
  ]
}

Quindi fornisci le seguenti chiavi:

  • Chiave di riferimento dei dati: image_path
  • Chiave etichetta di previsione: species
  • Chiave punteggio di previsione: probability
  • Chiave della casella delimitante: bird_locations

Specifica il metodo dei dati empirici reali

La valutazione continua funziona confrontando le predizioni del modello di machine learning con le etichette basate su dati empirici reali annotate da persone. Seleziona come creare le etichette basate su dati empirici reali facendo clic sul metodo basato su dati empirici che preferisci:

  • Servizio di etichettatura gestito da Google: se selezioni questa opzione, ogni volta che viene eseguito il job di valutazione, Data Labeling Service invia tutti i nuovi dati campionati a revisori umani per l'etichettatura con dati empirici reali. Si applicano i prezzi di Data Labeling Service. Se scegli questa opzione, devi fornire istruzioni in formato PDF per l'etichettatura dell'input di previsione. Scopri come scrivere buone istruzioni.

  • Fornisci le tue etichette: se selezioni questa opzione, devi aggiungere autonomamente le etichette di verità oggettive alla tabella BigQuery del tuo job di valutazione. Devi aggiungere etichette basate su dati empirici reali per tutti i nuovi input di previsione campionati prima della successiva esecuzione del job di valutazione. Per impostazione predefinita, il job di valutazione viene eseguito ogni giorno alle ore 10:00 UTC, pertanto devi aggiungere ogni giorno le etichette basate su dati empirici reali per le nuove righe della tabella BigQuery prima di quell'ora. In caso contrario, i dati non verranno valutati e verrà visualizzato un errore nella console Google Cloud.

    Questa è l'unica opzione se la versione del modello esegue una classificazione generale.

Crea il tuo job

Fai clic sul pulsante Crea per creare il job di valutazione. L'input e l'output della previsione dovrebbero iniziare a essere campionati dalla versione del modello alla tabella BigQuery immediatamente.

Passaggi successivi

Scopri come visualizzare le metriche di valutazione.