Vertex ML Metadata ti consente di monitorare e analizzare i metadati prodotti dai tuoi workflow 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 ML.
Questa guida mostra come registrare i metadati utilizzando la seguente procedura:
- Crea un'esecuzione che rappresenta un passaggio del flusso di lavoro ML.
- Cerca gli artefatti esistenti per trovare eventuali artefatti di input già scritti nel tuo archivio dei metadati.
- Crea artefatti per gli input dell'esecuzione che non sono ancora stati scritti nel datastore dei metadati e per gli eventuali 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 potrebbe 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 esecuzioni 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 Agent Platform per Python. L'SDK Python semplifica la creazione e il rilevamento 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 , Gemini Enterprise Agent Platform crea l'archivio Vertex ML Metadata del progetto.
Se vuoi che i tuoi metadati vengano criptati utilizzando chiavi di crittografia gestite dal cliente (CMEK), devi creare l'archivio dei metadati utilizzando una CMEK prima di utilizzare Vertex ML Metadata per monitorare o analizzare i metadati. Segui 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 del flusso di lavoro ML. Segui queste istruzioni per creare un'esecuzione.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto
- METADATA_STORE: l'ID dell'archivio dei metadati in cui viene creata l'esecuzione.
Il datastore dei metadati predefinito è denominato
default. - EXECUTION_ID: l'ID del record di esecuzione. Se l'ID esecuzione non viene specificato, Vertex ML Metadata crea un identificatore univoco per l'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 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 due e venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può avere una lunghezza compresa tra 2 e 49 caratteri. - METADATA_SCHEMA_VERSION: (Facoltativo) La versione dello schema che descrive il campo dei metadati.
schema_versiondeve 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 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 viene specificato, Vertex ML Metadata crea un identificatore univoco per l'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.
Cerca 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 sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: l'ID dell'archivio dei metadati in cui viene creato l'artefatto.
Il datastore dei metadati predefinito è denominato
default. - PAGE_SIZE: (Facoltativo) Il numero massimo di artefatti 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 visualizzare la pagina di risultati successiva.
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 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 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, segui le istruzioni riportate di seguito.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: l'ID dell'archivio dei metadati in cui viene creato l'artefatto.
Il datastore dei metadati predefinito è denominato
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 località 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 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 due e venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può avere una lunghezza compresa tra 2 e 49 caratteri. - METADATA_SCHEMA_VERSION: (Facoltativo) La versione dello schema che descrive il campo dei metadati.
schema_versiondeve 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 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 presente. Può essere vuoto se non esiste un file dell'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 l'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 sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: l'ID dell'archivio dei metadati in cui viene creata l'esecuzione.
Il nome dell'archivio dei metadati predefinito è
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 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 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 viene specificato, Vertex ML Metadata crea un identificatore univoco per l'esecuzione.metadataProprietà 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 artefatti e le esecuzioni in base a quel contesto (consulta Crea o elimina un esperimento).
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE:l'ID dell'archivio dei metadati in cui viene creata l'esecuzione.
Il nome dell'archivio dei metadati predefinito è
default. - CONTEXT_ID: (facoltativo) l'ID del record di contesto. Se l'ID contesto non è specificato, Vertex ML Metadata crea 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 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ò avere una lunghezza compresa tra due e venti caratteri. Il nome dello schema deve iniziare con una lettera maiuscola, può includere lettere e numeri e può avere una lunghezza compresa tra 2 e 49 caratteri. - METADATA_SCHEMA_VERSION: (Facoltativo) La versione dello schema che descrive il campo dei metadati.
schema_versiondeve 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 di benvenuto della console Google Cloud .location: consulta l'elenco delle località disponibili.context_id: (facoltativo) l'ID del record di contesto.metadataProprietà che descrivono il contesto, ad esempio i parametri del 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
Segui queste istruzioni per aggiungere artefatti ed esecuzioni a un contesto.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: .
- METADATA_STORE: l'ID dell'archivio dei metadati in cui viene creata l'esecuzione.
Il datastore dei metadati predefinito è denominato
default. - CONTEXT: (facoltativo) 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 è formattato come segue:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifactSpecifica il nome della risorsa EXECUTION per tutte 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.