Ogni risorsa di metadati è associata a uno specifico MetadataSchema.
Per semplificare il processo di creazione delle risorse di metadati, Vertex ML Metadata pubblica tipi predefiniti chiamati schemi di sistema per concetti ML comuni. Gli schemi di sistema risiedono
nello spazio dei nomi system
. Puoi accedere agli schemi di sistema come risorse MetadataSchema
nell'API Vertex ML Metadata. Gli schemi vengono sempre sottoposti al controllo delle versioni. Il formato degli schemi di sistema è un sottoinsieme della specifica OpenAPI 3.0.
Come utilizzare gli schemi di sistema
Vertex AI utilizza gli schemi di sistema per creare risorse di metadati per
monitorare i flussi di lavoro ML. Puoi quindi filtrare e raggruppare le risorse nelle query di metadati utilizzando il campo schema_title
. Per ulteriori informazioni su come utilizzare le funzioni di filtro, consulta
Analizzare i metadati Vertex ML.
Puoi anche utilizzare schemi di sistema tramite l'API Vertex ML Metadata per creare direttamente risorse di metadati. Puoi identificare uno schema di sistema in base al titolo e alla versione. I campi negli schemi di sistema sono sempre considerati facoltativi. Non devi limitarti ai campi predefiniti degli schemi di sistema e puoi anche registrare altri metadati arbitrari in qualsiasi risorsa di metadati. Per ulteriori informazioni sull'utilizzo degli schemi di sistema per creare risorse di metadati, consulta Monitorare i metadati di Vertex ML.
Elenca i tuoi schemi
Per visualizzare un elenco di tutti gli schemi registrati esistenti utilizzando il seguente comando.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
Metodo HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas?pageSize=100&filter=schema_title=%22system*%22+OR+schema_title=%22google*%22
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "metadataSchemas": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas/system-resolver-execution-v0-0-1", "schemaVersion": "0.0.1", "schema": "title: system.ResolverExecution\ntype: object\n", "schemaType": "EXECUTION_TYPE", "createTime": "2022-07-27T17:41:35.634Z" }, { "name": "projects/PROJECT_ID/locations/LOCATION_ID//metadataStores/default/metadataSchemas/system-html-v0-0-1", "schemaVersion": "0.0.1", "schema": "title: system.HTML\ntype: object\n", "schemaType": "ARTIFACT_TYPE", "createTime": "2022-07-27T17:41:35.602Z" } }
Corrispondenza rigorosa dello schema
Vertex ML Metadata supporta due flag che consentono agli autori dello schema di applicare una corrispondenza rigida dello schema.
additionalProperties
Il valore additionalProperties
può essere vero o falso. Coerentemente con lo schema JSON, il valore predefinito di additionalProperties
è true. Il flag è impostato al livello superiore
dello schema. Se viene impostato su false, non sono consentite proprietà facoltative. Ad esempio, nello schema seguente, solo i campi payload_format
e container_format
sono accettati nei metadati basati su questo schema.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
Lo schema riportato sopra accetta i seguenti metadati:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Tuttavia, i seguenti metadati verranno rifiutati:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
fields {
key: 'optional_field'
value: { string_value: 'optional_value' }
}
obbligatorio
La parola chiave required
accetta un array di zero o più stringhe. Coerentemente con lo schema JSON, le proprietà definite dalla parola chiave delle proprietà non sono obbligatorie. Puoi fornire un elenco di proprietà obbligatorie utilizzando la parola chiave required
. Ad esempio, il seguente schema richiede sempre container_format
.
Funziona anche con le proprietà nidificate. Ad esempio, seguente rende
obbligatorio l'attributo container_format
.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
Lo schema riportato sopra accetta i seguenti metadati:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Tuttavia, i seguenti metadati verranno rifiutati:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Lo schema supporta proprietà nidificate in cui le proprietà hanno un campo di tipo
oggetto. In uno schema nidificato, il nodo delle proprietà nidificate può avere una parola chiave required
. Ad esempio:
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
payload:
type: string
nested_property:
type: object
required: ['property_1']
properties:
property_1:
type: integer
property_2:
type: integer
Lo schema riportato sopra accetta i seguenti metadati, poiché il campo nested_property
non è obbligatorio.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Anche i seguenti metadati sono validi.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Tuttavia, i seguenti metadati verranno rifiutati:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Esempi di schema di sistema
Gli esempi riportati di seguito sono schemi di sistema comuni disponibili per l'uso immediato.
Artefatto
system.Artifact
è uno schema generico che può contenere metadati relativi a qualsiasi artefatto.
Nessun campo specifico definito in questo schema.
title: system.Artifact
version: 0.0.1
type: object
Set di dati
system.Dataset
rappresenta un container di dati consumati o prodotti da un passaggio del flusso di lavoro ML. Un set di dati può puntare alla posizione del
file o a una query, ad esempio un URI BigQuery.
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
description: "Format of the container. Examples include 'TFRecord', 'Text', or 'Parquet'."
payload_format:
type: string
description: "Format of the payload. For example, 'proto:TFExample', 'CSV', or 'JSON'."
Modello
system.Model
rappresenta un modello addestrato. L'URI del modello può puntare a una posizione del file (PPP, bucket Cloud Storage, unità locale) o a una risorsa API come la risorsa Modello nell'API Vertex AI.
title: system.Model
version: 0.0.1
type: object
properties:
framework:
type: string
description: "The framework type. For example: 'TensorFlow' or 'Scikit-Learn'."
framework_version:
type: string
description: "The framework version. For example: '1.15' or '2.1'."
payload_format:
type: string
description: "The format of the Model payload, for example: 'SavedModel' or 'TFLite'."
Metriche
system.Metrics
rappresenta le metriche di valutazione prodotte durante un flusso di lavoro ML.
Le metriche dipendono dall'applicazione e dai casi d'uso e possono essere costituite da semplici metriche scalari, come l'accuratezza, o metriche complesse archiviate altrove nel sistema.
title: system.Metrics
version: 0.0.1
type: object
properties:
type:
accuracy:
type: number
description: "Optional summary metric describing accuracy of a model."
precision:
type: number
description: "Optional summary metric describing precision of a model."
recall:
type: number
description: "Optional summary metric describing the recall of a model."
f1score:
type: number
description: "Optional summary metric describing the f1-score of a model."
mean_absolute_error:
type: number
description: "Optional summary metric describing the mean absolute error of a model."
mean_squared_error:
type: number
description: "Optional summary metric describing the mean-squared error of a model."
Passaggi successivi
- Inizia a monitorare i metadati con Vertex ML Metadata.
- Esamina i concetti e il modello dei dati di Vertex ML Metadata.