Vertex ML Metadata consente di monitorare e analizzare i metadati prodotti dai flussi di lavoro di machine learning (ML). Se non hai mai utilizzato Vertex ML Metadata, leggi l'introduzione a Vertex ML Metadata per scoprire di più sul monitoraggio e sull'analisi dei metadati del flusso di lavoro ML.
Questa guida illustra come registrare i metadati utilizzando la seguente procedura:
- Crea un'esecuzione che rappresenti un passaggio nel flusso di lavoro ML.
- Cerca gli artefatti esistenti per trovare eventuali artefatti di input già scritti nel tuo archivio di metadati.
- Crea artefatti per gli input dell'esecuzione che non sono già scritti nell'archivio di metadati e gli eventuali output prodotti da questa esecuzione.
- Crea eventi per rappresentare la relazione tra l'esecuzione e gli artefatti di input e di output.
Se vuoi, aggiungi l'esecuzione e gli artefatti a un Contesto. Usate un contesto per raggruppare insiemi di esecuzioni ed artefatti. Ad esempio, se stai sperimentando per trovare il miglior set di iperparametri per addestrare un modello, ogni esperimento potrebbe essere un'esecuzione diversa con un proprio set di parametri e metriche. Puoi confrontare le esecuzioni all'interno di un contesto per trovare l'esperimento che ha prodotto il modello migliore.
Prima di poter aggiungere esecuzione e artefatti a un contesto, devi creare un contesto.
Esistono due modi per creare asset Vertex ML Metadata. Puoi utilizzare i comandi REST o l'SDK Vertex AI per Python. L'SDK Python semplifica la creazione e il rilevamento di vari tipi di asset. Quando si creano esecuzioni utilizzando Python, il payload non deve essere creato manualmente.
Prima di iniziare
La prima volta che utilizzi Vertex ML Metadata in un progetto Google Cloud, Vertex AI crea l'archivio Vertex ML Metadata del progetto.
Se vuoi che i tuoi metadati vengano criptati utilizzando una chiave di crittografia gestita dal cliente (CMEK), devi creare l'archivio di metadati utilizzando una CMEK prima di utilizzare Vertex ML Metadata per monitorare o analizzare i metadati. Utilizza le istruzioni per creare un archivio di metadati che utilizza una CMEK per configurare l'archivio di metadati del progetto.
Creazione di un'esecuzione
Le esecuzioni rappresentano un passaggio nel flusso di lavoro ML. Utilizza le seguenti istruzioni per creare un'esecuzione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- METADATA_STORE: l'ID dell'archivio di metadati in cui viene creata l'esecuzione.
L'archivio di metadati predefinito è denominato
default
. - EXECUTION_ID: l'ID del record di esecuzione. Se l'ID esecuzione non è specificato, Vertex ML Metadata crea un identificatore univoco per questa esecuzione.
- DISPLAY_NAME: il nome visualizzato dell'esecuzione. Questo campo può contenere fino a 128 caratteri Unicode.
- EXECUTION_STATE: (facoltativo) un valore dell'enumerazione dello stato che rappresenta lo stato attuale dell'esecuzione. Questo campo è gestito dalle applicazioni client. Vertex ML Metadata non controlla la validità delle transizioni di stato.
- METADATA_SCHEMA_TITLE: il titolo dello schema che descrive il campo dei metadati. Il titolo
dello schema deve rispettare il formato "
. ". Lo spazio dei nomi deve iniziare con una lettera minuscola, può contenere caratteri minuscoli e numeri e può avere una lunghezza compresa tra 2 e venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può contenere da due a quaranta caratteri. - (Facoltativo) METADATA_SCHEMA_VERSION: la versione dello schema che descrive il campo dei metadati.
schema_version
deve essere una stringa di tre numeri separati da punti, ad esempio 1.0.0, 1.0.1. Questo formato consente di ordinare e confrontare le versioni. - METADATA: (facoltativo) proprietà che descrivono l'esecuzione, ad esempio i relativi parametri.
- DESCRIPTION: (facoltativo) una stringa leggibile che descrive lo scopo dell'esecuzione da creare.
- LABELS: facoltativo. Metadati definiti dall'utente per l'organizzazione delle esecuzioni.
Metodo HTTP e URL:
POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?executionId=EXECUTION_ID
Corpo JSON della richiesta:
{ "displayName": "DISPLAY_NAME", "state": "EXECUTION_STATE", "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "displayName": "Example Execution", "etag": "67891011", "labels": { "test_label": "test_label_value" }, "createTime": "2021-05-18T00:04:49.659Z", "updateTime": "2021-05-18T00:04:49.659Z", "schemaTitle": "system.Run", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example execution." }
Python
Python
display_name
: il nome visualizzato dell'esecuzione. Questo campo può contenere fino a 128 caratteri Unicode.input_artifacts
: un elenco di una o più istanze di aiplatform.Artifact che rappresentano un artefatto di input.output_artifacts
:un elenco di una o più istanze di aiplatform.Artifact che rappresentano un artefatto di output.project
: il tuo ID progetto. Puoi trovare questi ID nella pagina di benvenuto della console Google Cloud.location
: consulta l'elenco delle località disponibili.execution_id
: l'ID del record di esecuzione. Se l'ID esecuzione non è specificato, Vertex ML Metadata crea un identificatore univoco per questa esecuzione.metadata
: proprietà che descrivono l'esecuzione, ad esempio i relativi parametri.schema_version
:la versione dello schema che descrive il campo dei metadati.description
: (facoltativo) una stringa leggibile che descrive lo scopo dell'esecuzione da creare.
Cerca un artefatto esistente
Gli artefatti rappresentano i dati utilizzati o prodotti dal flusso di lavoro ML, come set di dati e modelli. Utilizza le seguenti istruzioni per cercare un elemento esistente.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- METADATA_STORE: l'ID dell'archivio di metadati in cui viene creato l'artefatto.
L'archivio di metadati predefinito è denominato
default
. - PAGE_SIZE: (facoltativo) il numero massimo di elementi da restituire. Se questo valore non viene specificato, il servizio restituisce un massimo di 100 record.
- PAGE_TOKEN: (facoltativo) un token di pagina di una precedente chiamata a MetadataService.ListArtifacts. Specifica questo token per visualizzare la pagina dei risultati successiva.
FILTER: specifica le condizioni necessarie per includere un artefatto nel set di risultati.
Metodo HTTP e URL:
GET http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti vedere un output simile al seguente. ARTIFACT_ID è l'ID del record di artefatto.
{ "artifacts": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "67891011", "createTime": "2021-05-18T00:33:13.833Z", "updateTime": "2021-05-18T00:33:13.833Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }, { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Another example artifact", "uri": "gs://your_bucket_name/artifacts/dataset-2.csv", "etag": "67891012", "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the other example artifact." } ] }
Python
Python
project
: il tuo ID progetto. Puoi trovare questi ID nella pagina di benvenuto della console Google Cloud.location
: consulta l'elenco delle località disponibili.display_name_filter
: filtro da applicare al nome visualizzato durante l'elenco delle risorse con il formato "display_name=\"my_filter\"" .create_date_filter
: filtro da applicare al nome di create_date mentre elenchi le risorse con il formato "create_time>\"2022-06-11T12:30:00-08:00\"",.
Creazione di un artefatto
Utilizza le seguenti istruzioni per creare un artefatto.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- METADATA_STORE: l'ID dell'archivio di metadati in cui viene creato l'artefatto.
L'archivio di metadati predefinito è denominato
default
. - ARTIFACT_ID: (facoltativo) l'ID del record di artefatto. Se l'ID artefatto non è specificato, Vertex ML Metadata crea un identificatore univoco per questo artefatto.
- DISPLAY_NAME: (facoltativo) il nome dell'elemento definito dall'utente.
- URI: (facoltativo) la posizione in cui è archiviato l'elemento
- ARTIFACT_STATE: (facoltativo) un valore dell'enumerazione dello stato che rappresenta lo stato attuale dell'artefatto. Questo campo è gestito dalle applicazioni client. Vertex ML Metadata non verifica la validità delle transizioni di stato.
- METADATA_SCHEMA_TITLE: il titolo dello schema che descrive il campo dei metadati. Il titolo
dello schema deve rispettare il formato "
. ". Lo spazio dei nomi deve iniziare con una lettera minuscola, può contenere caratteri minuscoli e numeri e può avere una lunghezza compresa tra 2 e venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può contenere da due a quaranta caratteri. - (Facoltativo) METADATA_SCHEMA_VERSION: la versione dello schema che descrive il campo dei metadati.
schema_version
deve essere una stringa di tre numeri separati da punti, ad esempio 1.0.0, 1.0.1. Questo formato consente di ordinare e confrontare le versioni. - METADATA: (facoltativo) Proprietà che descrivono l'artefatto, ad esempio il tipo di set di dati.
- DESCRIPTION: (facoltativo) una stringa leggibile che descrive lo scopo dell'esecuzione da creare.
- LABELS:facoltativo. Metadati definiti dall'utente per l'organizzazione degli artefatti.
Metodo HTTP e URL:
POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?artifactId=ARTIFACT_ID
Corpo JSON della richiesta:
{ "displayName": "DISPLAY_NAME", "uri": "URI", "state": "ARTIFACT_STATE", "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "67891011", "labels": { "test_label": "test_label_value" }, "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }
Python
Python
project
: il tuo ID progetto. Puoi trovare questi ID nella pagina di benvenuto della console Google Cloud.location
: consulta l'elenco delle località disponibili.uri
: (facoltativo) l'identificatore di risorsa uniforme per il file dell'artefatto, se esistente. Può essere vuoto se non è presente alcun file dell'artefatto effettivo.artifact_id
: (facoltativo) l'ID del record di artefatto. Se l'ID artefatto non è specificato, Vertex ML Metadata crea un identificatore univoco per questo artefatto.display_name
: (facoltativo) il nome dell'elemento definito dall'utente.schema_version
: la versione dello schema che descrive il campo dei metadati.description
: (facoltativo) una stringa leggibile da una persona, che descrive lo scopo dell'artefatto da creare.metadata
: proprietà che descrivono l'artefatto, ad esempio i relativi parametri.
Crea eventi per collegare gli artefatti a un'esecuzione
Gli eventi rappresentano la relazione tra un'esecuzione e i relativi input e artefatti di output. Utilizza le seguenti istruzioni per creare eventi per collegare gli artefatti a un'esecuzione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- METADATA_STORE: l'ID dell'archivio di metadati in cui viene creata l'esecuzione.
L'archivio di metadati predefinito è denominato
default
. - EXECUTION_ID: l'ID del record di esecuzione.
ARTIFACT: il nome della risorsa dell'artefatto. Il nome della risorsa è formattato come segue:
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
- EVENT_TYPE: (facoltativo) un valore dell'Enumerazione del tipo di evento che specifica se l'artefatto è un input o un output dell'esecuzione.
Metodo HTTP e URL:
POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID:addExecutionEvents
Corpo JSON della richiesta:
{ "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "type": "EVENT_TYPE" } ] }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Python
Python
input_artifacts
: un elenco di una o più istanze di aiplatform.Artifact che rappresentano un artefatto di input.output_artifacts
: un elenco di una o più istanze di aiplatform.Artifact che rappresentano un artefatto di output.project
: il tuo ID progetto. Puoi trovare questi ID nella pagina di benvenuto della console Google Cloud.location
: consulta l'elenco delle località disponibili.execution_id
: l'ID del record di esecuzione. Se l'ID esecuzione non è specificato, Vertex ML Metadata crea un identificatore univoco per questa esecuzione.metadata
Proprietà che descrivono l'esecuzione, ad esempio i relativi parametri.schema_version
: la versione dello schema che descrive il campo dei metadati.description
: (facoltativo) una stringa leggibile che descrive lo scopo dell'esecuzione da creare.
Crea un contesto
I contesti consentono di raggruppare insiemi di artefatti ed esecuzioni. Utilizza le seguenti istruzioni per creare un contesto. Tieni presente che Vertex AI Experiments crea un contesto che registra automaticamente gli artefatti ed esecuzioni in base a quel contesto (consulta Creare o eliminare un esperimento).
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- METADATA_STORE:l'ID dell'archivio di metadati in cui viene creata l'esecuzione.
L'archivio di metadati predefinito è denominato
default
. - (Facoltativo) CONTEXT_ID: l'ID del record di contesto. Se l'ID contesto non è specificato, Vertex ML Metadata ha creato un identificatore univoco per questo contesto
- DISPLAY_NAME: il nome visualizzato del contesto. Questo campo può contenere fino a 128 caratteri Unicode.
- PARENT_CONTEXT: specifica il nome della risorsa per tutti i contesti padre. Un contesto non può avere più di 10 contesti principali.
- METADATA_SCHEMA_TITLE: il titolo dello schema che descrive il campo dei metadati. Il titolo
dello schema deve rispettare il formato "
. ". Lo spazio dei nomi deve iniziare con una lettera minuscola, può contenere caratteri minuscoli e numeri e può avere una lunghezza compresa tra 2 e venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può contenere da due a quaranta caratteri. - (Facoltativo) METADATA_SCHEMA_VERSION: la versione dello schema che descrive il campo dei metadati.
schema_version
deve essere una stringa di tre numeri separati da punti, ad esempio 1.0.0, 1.0.1. Questo formato consente di ordinare e confrontare le versioni. - METADATA: proprietà che descrivono il contesto, ad esempio i parametri di contesto.
- DESCRIPTION:(facoltativo) una stringa leggibile da una persona che descrive lo scopo dell'esecuzione da creare.
- LABELS: facoltativo. Metadati definiti dall'utente per organizzare i contesti.
Metodo HTTP e URL:
POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?contextId=CONTEXT_ID
Corpo JSON della richiesta:
{ "displayName": "DISPLAY_NAME:", "parentContexts": [ "PARENT_CONTEXT_1", "PARENT_CONTEXT_2" ], "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti vedere un output simile al seguente. CONTEXT_ID è l'ID del record di contesto.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID", "displayName": "Example context:", "etag": "67891011", "labels": { "test_label": "test_label_value" }, "createTime": "2021-05-18T01:52:51.642Z", "updateTime": "2021-05-18T01:52:51.642Z", "schemaTitle": "system.Experiment", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example context." }
Python
Python
display_name
: il nome visualizzato del contesto. Questo campo può contenere fino a 128 caratteri Unicode.project
: il tuo ID progetto. Puoi trovare questi ID nella pagina di benvenuto della console Google Cloud.location
: consulta l'elenco delle località disponibili.- (Facoltativo)
context_id
: l'ID del record di contesto. metadata
Proprietà che descrivono il contesto, ad esempio i parametri di contesto.schema_version
: la versione dello schema che descrive il campo dei metadati.description
: (facoltativo) una stringa leggibile che descrive lo scopo del contesto da creare.
Aggiungere artefatti ed esecuzioni a un contesto
Utilizza le seguenti istruzioni per aggiungere artefatti ed esecuzioni a un contesto.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- METADATA_STORE: l'ID dell'archivio di metadati in cui viene creata l'esecuzione.
L'archivio di metadati predefinito è denominato
default
. - (Facoltativo) CONTEXT: l'ID del record di contesto.
Specifica il nome della risorsa ARTIFACT per tutti gli artefatti che vuoi aggiungere a questo contesto. Il nome della risorsa ha il seguente formato:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
Specifica il nome della risorsa EXECUTION per tutte le esecuzioni che vuoi aggiungere a questo contesto. Il nome della risorsa ha il seguente formato:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/executions/execution
Metodo HTTP e URL:
POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT:addContextArtifactsAndExecutions
Corpo JSON della richiesta:
{ "artifacts": [ "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID" ], "executions": [ "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID" ] }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.