Vertex ML Metadata ti consente di monitorare e analizzare i metadati prodotti dai tuoi flussi di lavoro di machine learning (ML). Se non hai mai utilizzato Vertex ML Metadata, leggi l'introduzione a Vertex ML Metadata per scopri di più sul monitoraggio e l'analisi del tuo flusso di lavoro ML metadati.
Questa guida illustra come registrare i metadati utilizzando la seguente procedura:
- Crea un'esecuzione che rappresenti un passaggio nel tuo ML un flusso di lavoro di machine learning.
- Cerca gli elementi esistenti per trovare gli elementi di input già scritti nell'archivio dei metadati.
- Crea artefatti per gli input dell'esecuzione che sono non sono già scritti nel tuo archivio di metadati e gli eventuali output prodotti dell'esecuzione.
- Crea eventi per rappresentare la relazione tra l'esecuzione e i suoi artefatti di input e output.
Se vuoi, aggiungi l'esecuzione e gli elementi a un contesto. Utilizza un contesto per raggruppare insiemi di esecuzioni e artefatti. Ad esempio, se stai sperimentando per trovare il migliore insieme di iperparametri per addestrare un modello, ogni esperimento può essere diversa esecuzione con il 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 crea un contesto.
Esistono due modi per creare asset Vertex ML Metadata. Puoi utilizzare i comandi REST o l'SDK Vertex AI per Python. La L'SDK Python semplifica la creazione e il rilevamento di vari tipi di asset. Quando crei le esecuzioni utilizzando Python, il payload non deve essere costituito manualmente.
Prima di iniziare
La prima volta che utilizzi Vertex ML Metadata in un progetto Google Cloud, Vertex AI crea l'archivi Vertex ML Metadata del progetto.
Se vuoi che i tuoi metadati siano 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. Segui le istruzioni per creare un archivio dei metadati che utilizza un CMEK per configurare l'archivio dei metadati del progetto.
Creazione di un'esecuzione
Le esecuzioni rappresentano un passaggio del flusso di lavoro ML. Segui queste 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 del repository dei 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 dall'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 soddisfare il formato "
. ". Lo spazio dei nomi deve iniziare con una lettera minuscola, può contenere caratteri minuscoli e numeri e può essere lungo da due a venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può avere una lunghezza compresa tra due e quaranta caratteri. - METADATA_SCHEMA_VERSION: (facoltativo) la versione dello schema che descrive i
.
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 parametri di esecuzione.
- DESCRIPTION: (facoltativo) una stringa leggibile che descrive lo scopo dell'esecuzione da creare.
- LABELS: facoltativo. Metadati definiti dall'utente per organizzare le esecuzioni.
Metodo HTTP e URL:
POST https://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 delle seguenti 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
: 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 elemento di input.output_artifacts
: un elenco di una o più istanze di aiplatform.Artifact che rappresentano un elemento 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, come i parametri di esecuzione.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.
Cercare un artefatto esistente
Gli artefatti rappresentano i dati utilizzati o prodotti dal flusso di lavoro ML, come i set di dati e modelli. Usa le seguenti istruzioni per cercare un artefatto 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 metadati in cui viene creato l'artefatto.
L'archivio dei metadati predefinito si chiama
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 chiamata MetadataService.ListArtifacts precedente. Specifica questo token per ottenere la pagina successiva dei risultati.
FILTER: specifica le condizioni necessarie per includere un elemento nell'insieme di risultati.
Metodo HTTP e URL:
GET https://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 delle seguenti opzioni:
Dovresti vedere un output simile al seguente. ARTIFACT_ID è l'ID del record dell'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 mentre elenca le risorse con il formato "display_name=\"my_filter\"" di Google.create_date_filter
: filtro da applicare al nome create_date mentre elenca le risorse con il formato "create_time>\"2022-06-11T12:30:00-08:00\"",.
Creazione di un artefatto
Segui queste 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 archivio di metadati in cui viene creato l'artefatto.
L'archivio dei metadati predefinito si chiama
default
. - ARTIFACT_ID: (Facoltativo) L'ID del record dell'elemento. Se l'ID artefatto non è specificato, Vertex ML Metadata crea un identificatore univoco per questo artefatto.
- DISPLAY_NAME: (facoltativo) il nome definito dall'utente dell'elemento.
- (Facoltativo) URI: la posizione in cui è archiviato l'elemento
- ARTIFACT_STATE: (facoltativo) un valore dall'enumerazione dello stato che rappresenta lo stato attuale l'artefatto. Questo campo è gestito dalle applicazioni client. Vertex ML Metadata non per controllare la validità delle transizioni di stato.
- METADATA_SCHEMA_TITLE: il titolo dello schema che descrive il campo dei metadati. Il titolo
dello schema deve soddisfare il formato "
. ". Lo spazio dei nomi deve iniziare con una lettera minuscola, può contenere caratteri minuscoli e numeri e può essere lungo da due a venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e possono avere una lunghezza compresa tra 2 e 40 caratteri. - METADATA_SCHEMA_VERSION: (facoltativo) 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'elemento, 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 organizzare gli elementi.
Metodo HTTP e URL:
POST https://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 delle seguenti 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 uniforme di risorse per il file dell'elemento, se esistente. Può essere vuoto se non esiste un file degli elementi effettivo.artifact_id
: (Facoltativo) L'ID del record dell'elemento. Se l'ID artefatto non è specificato, Vertex ML Metadata crea un identificatore univoco per questo artefatto.display_name
: (facoltativo) il nome definito dall'utente dell'elemento.schema_version
: la versione dello schema che descrive il campo dei metadati.description
: (Facoltativo) una stringa leggibile che descrive lo scopo dell'elemento da creare.metadata
: proprietà che descrivono l'artefatto, come i parametri dell'artefatto.
Crea eventi per collegare gli artefatti a un'esecuzione
Gli eventi rappresentano la relazione tra un'esecuzione e i relativi elementi di input e di output. Segui le istruzioni riportate di seguito per creare eventi per collegare gli elementi 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 del repository dei metadati in cui viene creata l'esecuzione.
L'archivio dei metadati predefinito si chiama
default
. - EXECUTION_ID: l'ID del record di esecuzione.
ARTIFACT: il nome della risorsa dell'elemento. 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 EventType che specifica se l'elemento è un input o un output dell'esecuzione.
Metodo HTTP e URL:
POST https://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 delle seguenti opzioni:
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Python
Python
input_artifacts
: un elenco di una o più istanze di aiplatform.Artifact che rappresentano un elemento di input.output_artifacts
: un elenco di una o più istanze di aiplatform.Artifact che rappresentano un elemento di output.project
: il tuo ID progetto. Puoi trovare questi ID nella console Google Cloud pagina di benvenuto.location
: consulta l'elenco delle reti disponibili di località.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 parametri di esecuzione.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 elementi e le 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 archivio di metadati in cui viene creata l'esecuzione.
L'archivio dei metadati predefinito si chiama
default
. - CONTEXT_ID: (Facoltativo) L'ID del record del contesto. Se l'ID contesto non è specificato, Vertex ML Metadata ha creato un identificatore univoco per questo contesto
- DISPLAY_NAME: nome visualizzato del contesto. Questo campo può contenere fino a 128 caratteri Unicode.
- PARENT_CONTEXT: specifica il nome della risorsa per eventuali 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. Titolo
dello schema deve essere nel formato "
. ". Lo spazio dei nomi deve iniziare con uno lettera minuscola, può contenere caratteri minuscoli e numeri e può avere da due a venti caratteri lunga. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può avere una lunghezza compresa tra due e quaranta caratteri. - METADATA_SCHEMA_VERSION: (facoltativo) la versione dello schema che descrive i
.
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 che descrive lo scopo dell'esecuzione da creare.
- LABELS: facoltativo. Metadati definiti dall'utente per organizzare i tuoi contesti.
Metodo HTTP e URL:
POST https://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 delle seguenti 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 console Google Cloud pagina di benvenuto.location
: consulta l'elenco delle reti disponibili di località.context_id
: (facoltativo) 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.
Aggiungi 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 del repository dei metadati in cui viene creata l'esecuzione.
L'archivio dei metadati predefinito si chiama
default
. - CONTEXT: (facoltativo) l'ID del record di contesto.
Specifica il nome risorsa ARTIFACT per tutti gli artefatti che vuoi aggiungere 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 le eventuali esecuzioni da 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 https://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 delle seguenti opzioni:
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.