Creazione di un job di valutazione continua

Un job di valutazione continua definisce il modo in cui AI Platform Data Labeling Service esegue la valutazione continua su 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, si verificano due situazioni:

  • Poiché la versione del modello gestisce le previsioni online, l'input e l'output per alcune di queste previsioni vengono salvati in una tabella BigQuery.
  • A intervalli regolari, il job di valutazione continua viene eseguito, eseguendo 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 far sì che i revisori forniscano 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 alcune API Google Cloud. Leggi Prima di iniziare la valutazione continua per scoprire come soddisfare questi requisiti.

Configura le opzioni di base

Le seguenti sezioni 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 a quella versione del modello nella console Google Cloud e apri la pagina di creazione del job:

  1. Apri la pagina Modelli di AI Platform nella console Google Cloud:

    Vai alla pagina Modelli AI Platform

  2. Fai clic sul nome del modello contenente la versione del modello per cui 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. Quindi, fai clic su Configura job di valutazione.

Specifica descrizione, obiettivo del modello, etichette e percentuale di campionamento

I passaggi seguenti 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 job.

  2. Specifica il tipo di attività eseguito dal 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 etichetta singola o multietichetta nel campo Tipo di classificazione.
    • Se il modello esegue il rilevamento di oggetti immagine, specifica un minimo di intersezione sopra l'unione (IOU) compreso tra 0 e 1. Definisce il livello di somiglianza tra i riquadri di delimitazione previsti dal modello e i riquadri di delimitazione con dati empirici reali per poter essere considerati una previsione corretta.
  3. Nel campo Percorso file etichetta di previsione, specifica il percorso di un file CSV in Cloud Storage contenente le etichette possibili per le previsioni del tuo modello. Questo file definisce un set di specifiche di annotazione per il modello. Scopri come strutturare questo file.

  4. Nel campo Percentuale di campionamento giornaliera, specifica la percentuale di previsioni pubblicate dalla versione del modello che vuoi esportare in BigQuery e analizzarle nell'ambito della valutazione continua.

    Inoltre, specifica un limite di campionamento giornaliero per impostare un numero massimo 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 per l'etichettatura da parte dei revisori e comportare più costi di Data Labeling Service del previsto).

Specifica la tabella BigQuery

Nel campo Tabella BigQuery, devi specificare il nome di una tabella BigQuery in cui Data Labeling Service può archiviare 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 creando attualmente un job di valutazione.
  • YOUR_DATASET_NAME può essere qualsiasi nome di set di dati BigQuery valido. Il set di dati non deve ancora esistere.
  • YOUR_TABLE_NAME può essere qualsiasi nome di tabella BigQuery valido.

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

Nome campoTipoModalità
modelSTRINGAOBBLIGATORIO
model_versionSTRINGAOBBLIGATORIO
tempoTIMESTAMPOBBLIGATORIO
raw_dataSTRINGAOBBLIGATORIO
raw_predictionSTRINGAAMMETTE VALORI NULL
dati empirici realiSTRINGAAMMETTE VALORI NULL

La tabella non deve contenere altre colonne oltre a queste.

Specifica le chiavi di previsione

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

  • Chiave dati: la chiave di un campo nell'input di previsione della versione del modello che contiene i dati utilizzati per la previsione. Se abiliti l'etichettatura umana, Data Labeling Service fornisce questi dati ai revisori affinché forniscano etichette basate su dati empirici reali. Inoltre, lo utilizza per mostrare confronti affiancati quando visualizzi le metriche di valutazione nella console Google Cloud.

    Se la versione del modello esegue una classificazione del testo o una classificazione generale, devi fornire questa chiave. Se la tua versione del modello esegue la classificazione delle immagini o il rilevamento di oggetti immagine e accetta immagini con codifica Base64 come input di previsione, devi fornire anche questa chiave.

  • Chiave di riferimento dati: la chiave di un campo nell'input di previsione della versione del modello che contiene un percorso Cloud Storage di un'immagine. Data Labeling Service carica questa immagine e la utilizza per gli stessi scopi in cui utilizza Chiave dati.

    Fornisci questa chiave solo se la tua versione del modello esegue la classificazione delle immagini o il rilevamento di oggetti immagine e accetta i percorsi delle immagini in Cloud Storage come input di previsione. Sono obbligatorie almeno una chiave dati e una chiave di riferimento dati.

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

    Questo campo è obbligatorio.

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

    Questo campo è obbligatorio.

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

    Fornisci questa chiave solo se la versione del tuo modello esegue il rilevamento di oggetti immagine.

Esempi di chiavi di previsione

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

Classificazione delle immagini

Esempio con codifica Base64

Supponiamo che la versione del tuo modello accetti 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 di etichetta della previsione: sentiments
  • Chiave del punteggio di previsione: confidence

Esempio di riferimento di Cloud Storage

Supponiamo che la versione del tuo modello accetti 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 dati: image_path
  • Chiave di etichetta della previsione: sentiments
  • Chiave del punteggio di previsione: confidence

Classificazione del testo

Supponiamo che la versione del tuo modello accetti 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 di etichetta della previsione: sentiments
  • Chiave del punteggio di previsione: confidence

Classificazione generale

Supponiamo che la versione del tuo modello accetti 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 di etichetta della previsione: sentiments
  • Chiave del punteggio di previsione: confidence

Rilevamento di oggetti immagine

Esempio con codifica Base64

Supponiamo che la versione del tuo modello accetti 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 di etichetta della previsione: species
  • Chiave del punteggio di previsione: probability
  • Chiave riquadro di delimitazione: bird_locations

Esempio di riferimento di Cloud Storage

Supponiamo che la versione del tuo modello accetti 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 dati: image_path
  • Chiave di etichetta della previsione: species
  • Chiave del punteggio di previsione: probability
  • Chiave riquadro di delimitazione: bird_locations

Specifica il metodo basato su dati empirici reali

La valutazione continua confronta le previsioni del modello di machine learning con etichette basate su dati empirici reali annotate da persone. Seleziona il modo in cui vuoi creare etichette basate su dati empirici reali facendo clic sul metodo dei dati empirici reali 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 ai revisori per etichettare con dati empirici reali. Si applicano i prezzi di Data Labeling Service. Se scegli questa opzione, devi fornire istruzioni in formato PDF per etichettare l'input di previsione. Scopri come scrivere istruzioni efficaci.

  • Fornisci le tue etichette: se selezioni questa opzione, devi aggiungere etichette di dati empirici reali alla tabella BigQuery del job di valutazione. Devi aggiungere etichette basate su dati empirici reali per ogni nuovo input di previsione che viene campionato prima dell'esecuzione successiva del job di valutazione. Per impostazione predefinita, il job di valutazione viene eseguito ogni giorno alle 10:00 UTC, perciò devi aggiungere etichette basate su dati empirici reali ogni giorno per eventuali nuove righe nella tabella BigQuery prima di quel momento. 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 immediatamente a essere campionati dalla versione del modello nella tabella BigQuery.

Passaggi successivi

Scopri come visualizzare le metriche di valutazione.