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 scoprire di piรน sul monitoraggio e l'analisi dei metadati del flusso di lavoro di machine learning.
Questa guida mostra come registrare i metadati utilizzando la seguente procedura:
- Crea un'esecuzione che rappresenti un passaggio del tuo flusso di lavoro ML.
- Cerca gli artefatti esistenti per trovare gli artefatti di input giร scritti nell'archivio dei metadati.
- Crea artefatti per gli input dell'esecuzione che non sono giร stati scritti nell'archivio di metadati e per gli output prodotti da questa esecuzione.
- Crea eventi per rappresentare la relazione tra l'esecuzione e i relativi artefatti di input e output.
Se vuoi, aggiungi l'esecuzione e gli artefatti a un contesto. Utilizza un contesto per raggruppare insiemi di esecuzioni e artefatti. Ad esempio, se stai sperimentando per trovare il miglior set di iperparametri per addestrare un modello, ogni esperimento puรฒ essere un'esecuzione diversa 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 l'esecuzione e gli 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 l'individuazione di vari tipi di asset. Quando crei esecuzioni utilizzando Python, il payload non deve essere costruito manualmente.
Prima di iniziare
La prima volta che utilizzi Vertex ML Metadata in un progettoGoogle Cloud , Vertex AI crea l'archivio Vertex ML Metadata del progetto.
Se vuoi criptare i metadati utilizzando una chiave di crittografia gestita dal cliente (CMEK), devi creare l'archivio dei metadati utilizzando una CMEK prima di utilizzare Vertex ML Metadata per monitorare o analizzare i metadati. Utilizza le istruzioni per creare un archivio dei metadati che utilizza una chiave di crittografia gestita dal cliente (CMEK) per configurare l'archivio dei metadati del progetto.
Creazione di un'esecuzione
Le esecuzioni rappresentano un passaggio del flusso di lavoro ML. Segui le istruzioni riportate di seguito per creare un'esecuzione.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto
- METADATA_STORE: L'ID dello store di metadati in cui viene creata l'esecuzione.
L'archivio predefinito dei metadati si chiama
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 State 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รฒ essere lungo da 2 a 20 caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, puรฒ includere lettere e numeri e puรฒ essere lungo da 2 a 49 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'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 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
: . Puoi trovare questi ID nella pagina 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 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 set di dati e modelli. Segui queste istruzioni per cercare un artefatto esistente.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: l'ID dello store di metadati in cui viene creato l'artefatto.
L'archivio predefinito dei metadati si chiama
default
. - PAGE_SIZE: (Facoltativo) Il numero massimo di artefatti da restituire. Se questo valore non รจ specificato, il servizio restituisce un massimo di 100 record.
- PAGE_TOKEN: (facoltativo) un token di pagina di una precedente chiamata MetadataService.ListArtifacts. Specifica questo token per ottenere la pagina successiva dei risultati.
FILTER: specifica le condizioni necessarie per includere un artefatto nel set 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 di queste 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
: . Puoi trovare questi ID nella pagina 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 create_date durante l'elenco delle risorse con il formato "create_time>\"2022-06-11T12:30:00-08:00\"".
Creazione di un artefatto
Per creare un artefatto:
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: l'ID dello store di metadati in cui viene creato l'artefatto.
L'archivio predefinito dei metadati si chiama
default
. - ARTIFACT_ID: (facoltativo) l'ID del record dell'artefatto. Se l'ID artefatto non รจ specificato, Vertex ML Metadata crea un identificatore univoco per questo artefatto.
- DISPLAY_NAME: (facoltativo) il nome dell'artefatto definito dall'utente.
- URI: (facoltativo) la posizione in cui รจ archiviato l'artefatto
- ARTIFACT_STATE: (facoltativo) un valore dell'enumerazione State che rappresenta lo stato attuale dell'artefatto. 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รฒ essere lungo da 2 a 20 caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, puรฒ includere lettere e numeri e puรฒ essere lungo da 2 a 49 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'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 organizzare gli artefatti.
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 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
: . Puoi trovare questi ID nella pagina Benvenuto della console Google Cloud .location
: consulta l'elenco delle localitร disponibili.uri
: (facoltativo) l'identificatore uniforme di risorse per il file dell'artefatto, se esistente. Puรฒ essere vuoto se non esiste un file di artefatto effettivo.artifact_id
: (facoltativo) l'ID del record dell'artefatto. Se l'ID artefatto non รจ specificato, Vertex ML Metadata crea un identificatore univoco per questo artefatto.display_name
: (facoltativo) il nome dell'artefatto definito dall'utente.schema_version
: La versione dello schema che descrive il campo dei metadati.description
: (facoltativo) Una stringa leggibile che descrive lo scopo dell'artefatto da creare.metadata
: proprietร che descrivono l'artefatto, ad esempio i parametri dell'artefatto.
Crea eventi per collegare gli artefatti a un'esecuzione
Gli eventi rappresentano la relazione tra un'esecuzione e i relativi artefatti di input e output. Segui queste istruzioni per creare eventi per collegare gli artefatti a un'esecuzione.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: L'ID dello store di metadati in cui viene creata l'esecuzione.
L'archivio predefinito dei metadati si chiama
default
. - EXECUTION_ID: l'ID del record di esecuzione.
ARTIFACT: il nome della risorsa dell'artefatto. Il nome della risorsa รจ formattato nel seguente modo:
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
- EVENT_TYPE: (facoltativo) un valore dell'enumerazione EventType che specifica se l'artefatto รจ 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 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
: . Puoi trovare questi ID nella pagina 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 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.
Creare un contesto
I contesti ti consentono di raggruppare insiemi di artefatti ed esecuzioni. Segui le istruzioni riportate di seguito per creare un contesto. Tieni presente che Vertex AI Experiments crea un contesto che registra automaticamente gli artefatti e le esecuzioni in base a quel contesto (vedi Creare o eliminare un esperimento).
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE:L'ID dello store di metadati in cui viene creata l'esecuzione.
L'archivio predefinito dei metadati si chiama
default
. - CONTEXT_ID: (facoltativo) 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 principali. 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รฒ essere lungo da 2 a 20 caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, puรฒ includere lettere e numeri e puรฒ essere lungo da 2 a 49 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: 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 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 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
: . Puoi trovare questi ID nella pagina Benvenuto della console Google Cloud .location
: consulta l'elenco delle localitร disponibili.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.
Aggiungere artefatti ed esecuzioni a un contesto
Segui queste istruzioni per aggiungere artefatti ed esecuzioni a un contesto.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: L'ID dello store di metadati in cui viene creata l'esecuzione.
L'archivio predefinito dei metadati si chiama
default
. - CONTEXT: (facoltativo) l'ID del record di contesto.
Specifica il ARTIFACT nome risorsa per gli artefatti che vuoi aggiungere a questo contesto. Il nome della risorsa รจ formattato come segue:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
Specifica il nome della risorsa EXECUTION per le esecuzioni che vuoi aggiungere a questo contesto. Il nome della risorsa รจ formattato come segue:
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 di queste opzioni:
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.