Fornire schemi a Vertex AI Model Monitoring

Per avviare un job di monitoraggio, il monitoraggio dei modelli deve conoscere lo schema del set di dati tabulari per analizzare correttamente il payload di input.

  • Per i modelli AutoML, Model Monitoring analizza automaticamente lo schema perché Vertex AI ha già accesso per i dati di addestramento.

  • Per i modelli con addestramento personalizzato:

    • Il monitoraggio dei modelli può analizzare automaticamente gli schemi per i modelli che utilizzano un formato di input con coppia chiave-valore standard.

    • Per i modelli con addestramento personalizzato che non utilizzano un formato di input di coppie chiave-valore, puoi devi fornire uno schema quando crei il monitoraggio Google Cloud.

    La generazione dello schema varia a seconda che tu stia attivando il monitoraggio dei modelli per un endpoint di previsione online o per le previsioni batch.

Analisi dello schema per gli endpoint di previsione online

Per gli endpoint di previsione online, puoi consentire Model Monitoring analizza lo schema automaticamente o carica un quando crei un job di monitoraggio.

Analisi automatica dello schema

Dopo aver abilitato il rilevamento di disallineamenti o deviazioni per un endpoint online, Di solito, Model Monitoring può analizzare automaticamente l'input . Per l'analisi automatica dello schema, Model Monitoring analizza le prime 1000 richieste di input per determinare lo schema.

L'analisi automatica dello schema funziona al meglio quando le richieste di input sono formattate come coppie chiave-valore, dove "key" è il nome della funzionalità e "value" è il valore della funzionalità. Ad esempio:

"key":"value"
{"TenYearCHD":"0", "glucose":"5.4", "heartRate":"1", "age":"30",
"prevalentStroke":"0", "gender":"f", "ethnicity":"latin american"}

Se gli input non sono Formato "key":"value", Model Monitoring cerca di identificare il tipo di dati e assegna automaticamente un nome di caratteristica predefinito a ogni input.

Schemi di istanze personalizzate

Puoi fornire un tuo schema di input quando crei un Job Model Monitoring Model Monitoring analizza correttamente gli input del modello.

Questo schema è chiamato schema istanza di analisi. Il file dello schema specifica il formato del payload di input, i nomi di ogni funzionalità e il tipo di ogni funzionalità.

Lo schema deve essere scritto come file YAML nel formato Open API. L'esempio seguente riguarda una richiesta di previsione con il formato object:

type: object
properties:
  age:
    type: string
  BMI:
    type: number
  TenYearCHD:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
  BPMeds:
    type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds
  • type indica se la richiesta di previsione è in uno dei seguenti formati:

    • object: coppie chiave-valore
    • array: simile ad array
    • string: stringa-csv
  • properties indica il tipo di ogni singola funzionalità.

  • Se la richiesta è in formato array o stringa-csv, specifica l'ordine in cui le funzionalità sono elencate in ogni richiesta nel campo required.

Se la richiesta di previsione è in formato array o stringa-csv, rappresenta qualsiasi caratteristiche mancanti come valori nulli. Considera ad esempio una richiesta di previsione con cinque funzionalità:

[feature_a, feature_b, feature_c, feature_d, feature_e]

Se feature_c consente valori mancanti, una richiesta di esempio in cui manca feature_c sarà: {[1, 2, , 4, 6]}. La lunghezza dell'elenco è ancora 5, con un valore nullo al centro.

Analisi dello schema per le previsioni batch

Per le previsioni in batch, puoi lasciare che il monitoraggio dei modelli analizzi automaticamente lo schema o caricarne uno quando crei un job di monitoraggio.

Analisi automatica dello schema

Se non fornisci uno schema durante la creazione del job di monitoraggio, il monitoraggio del modello deducono i tipi di dati delle funzionalità e genera lo schema in base ai dati di addestramento.

Il monitoraggio dei modelli deve anche sapere quale caratteristica è la colonna di destinazione, ovvero la funzionalità che viene prevista. La colonna target è esclusa dalla metrica dello schema e del disallineamento delle funzionalità. Puoi specificare la colonna di destinazione durante la creazione di un job di monitoraggio.

Specifica della colonna di destinazione

Se non specifichi la colonna di destinazione durante la creazione di un job di monitoraggio, il monitoraggio del modello etichetta come colonna di destinazione l'ultimo nome dell'elemento nei dati di addestramento.

Ad esempio, le etichette di monitoraggio dei modelli column_c dati di addestramento CSV come colonna di destinazione perché column_c si trova alla fine del prima riga:

column_a, column_b, column_d, column_c
1,"a", 2, "c"
2,"b", 342, "d"

Analogamente, il monitoraggio dei modelli etichetta column_c in questo file JSONL come colonna di destinazione perché column_c si trova alla fine della prima riga:

{"column_a": 1, "column_b": "a", "column_d": 2, "column_c": "c" }
{"column_a": 2, "column_b": "b", "column_c": "d",  "column_d": 342}

In entrambi gli esempi, lo schema finale contiene solo column_a, column_b e column_d.

Custom schemas (Schemi personalizzati)

Lo schema personalizzato specifica il formato del payload di input, i nomi di ogni funzionalità e il tipo di ogni funzionalità.

Lo schema deve essere scritto come file YAML con sintassi Open API. Il seguente esempio è relativo a una richiesta di previsione con il formato object:

type: object
properties:
  age:
    type: string
  BMI:
    type: number
  TenYearCHD:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
  BPMeds:
    type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds

Model Monitoring calcola il disallineamento delle caratteristiche in base al codice JSON Righe output della previsione batch. Se il tipo di dati contiene un array, la lunghezza dell'array nei dati di input deve essere uguale al numero di caratteristiche specificate nel file yaml. Altrimenti Model Monitoring esclude l'istanza di previsione con lunghezza errata dell'array dal calcolo del disallineamento delle caratteristiche.

Ad esempio, gli array nei seguenti tipi di dati contengono due caratteristiche:

  • Array: {[[1, 2]]}

  • "Chiave"/"Valore": {"key": 0, "values": [[1, 2]]}

Lo schema corrispondente deve inoltre specificare due caratteristiche:

type: object
properties:
  name:
    type: string
  age:
    type: number
required:
- name
- age

Passaggi successivi