Per avviare un job di monitoraggio, Model Monitoring deve conoscere lo schema del set di dati tabulare per analizzare correttamente l'input per il payload.
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:
Model Monitoring può analizzare automaticamente gli schemi modelli che utilizzano un formato di input di coppie 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 dell'attivazione o meno Model Monitoring per un endpoint di previsione online 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 caratteristica
e "value"
è il valore della caratteristica. 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 dell'istanza di analisi. Il file di schema specifica il formato del payload di input, i nomi di ogni caratteristica e il tipo di ciascuna caratteristica.
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 tua richiesta di previsione è uno dei seguenti formati:object
: coppie chiave/valorearray
: di tipo arraystring
: stringa-csv
properties
indica il tipo di ogni singola caratteristica.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, in una richiesta di esempio manca feature_c
sarebbe: {[1, 2, , 4, 6]}
. La lunghezza dell'elenco è ancora 5, con un valore null
al centro.
Analisi dello schema per le previsioni batch
Per le previsioni batch, puoi consentire Model Monitoring analizza lo schema automaticamente o carica un quando crei un job di monitoraggio.
Analisi automatica dello schema
Se non fornisci uno schema durante la creazione del job di monitoraggio, Model Monitoring deduce i tipi di dati delle caratteristiche e genera lo schema basato sui dati di addestramento.
Model Monitoring deve inoltre sapere quale funzionalità colonna target, ovvero la caratteristica da prevedere. La colonna target è esclusi dalla metrica di disallineamento schema e caratteristiche. Puoi specificare il target 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, Model Monitoring etichetta il nome dell'ultima caratteristica nel tuo dati di addestramento come colonna di destinazione.
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, le etichette di monitoraggio dei modelli column_c
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 ciascuna caratteristica e il tipo di ogni caratteristica.
Lo schema deve essere scritto come file YAML con sintassi 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
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 della matrice nei dati di input deve essere uguale al numero di 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
- Abilita il rilevamento di disallineamenti e deviazioni per i tuoi modelli.
- Prova il blocco note di esempio in Colab oppure visualizzalo su GitHub.