Vertex ML Metadata te permite monitorizar y analizar los metadatos que generan tus flujos de trabajo de aprendizaje automático. Si no conoces Vertex ML Metadata, consulta la introducción a Vertex ML Metadata para obtener más información sobre cómo monitorizar y analizar los metadatos de tu flujo de trabajo de aprendizaje automático.
En esta guía se muestra cómo registrar metadatos siguiendo este proceso:
- Crea una ejecución que represente un paso de tu flujo de trabajo de aprendizaje automático.
- Busca artefactos para encontrar artefactos de entrada que ya se hayan escrito en tu tienda de metadatos.
- Crea artefactos para las entradas de tu ejecución que aún no se hayan escrito en tu almacén de metadatos, así como para las salidas que haya producido esta ejecución.
- Crea Eventos para representar la relación entre tu ejecución y sus artefactos de entrada y salida.
También puedes añadir tu ejecución y tus artefactos a un Context. Usa un contexto para agrupar conjuntos de ejecuciones y artefactos. Por ejemplo, si estás experimentando para encontrar el mejor conjunto de hiperparámetros para entrenar un modelo, cada experimento puede ser una ejecución diferente con su propio conjunto de parámetros y métricas. Puedes comparar las ejecuciones de un contexto para encontrar el experimento que ha producido el mejor modelo.
Para poder añadir ejecuciones y artefactos a un contexto, debes crear un contexto.
Hay dos formas de crear recursos de metadatos de Vertex ML. Puedes usar comandos REST o el SDK de Vertex AI para Python. El SDK de Python simplifica la creación y el descubrimiento de varios tipos de recursos. Cuando se crean ejecuciones con Python, no es necesario crear la carga útil manualmente.
Antes de empezar
La primera vez que uses Vertex ML Metadata en unGoogle Cloud proyecto, Vertex AI creará el almacén de metadatos de Vertex ML del proyecto.
Si quiere que sus metadatos se cifren con una clave de cifrado gestionada por el cliente (CMEK), debe crear su almacén de metadatos con una CMEK antes de usar Vertex ML Metadata para monitorizar o analizar metadatos. Sigue las instrucciones para crear un almacén de metadatos que use una CMEK y configura el almacén de metadatos de tu proyecto.
Crear ejecución
Las ejecuciones representan un paso en tu flujo de trabajo de aprendizaje automático. Sigue estas instrucciones para crear una ejecución.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: tu ID de proyecto.
- METADATA_STORE: ID del almacén de metadatos en el que se crea la ejecución.
El almacén de metadatos predeterminado se llama
default
. - EXECUTION_ID: ID del registro de ejecución. Si no se especifica el ID de ejecución, Vertex ML Metadata crea un identificador único para esta ejecución.
- DISPLAY_NAME: el nombre visible de la ejecución. Este campo puede contener hasta 128 caracteres Unicode.
- EXECUTION_STATE: (Opcional) Un valor de la enumeración State que representa el estado actual de la ejecución. Este campo lo gestionan las aplicaciones cliente. Vertex ML Metadata no comprueba la validez de las transiciones de estado.
- METADATA_SCHEMA_TITLE: el título del esquema que describe el campo de metadatos. El título del esquema debe tener el formato `
. `. El espacio de nombres debe empezar por una letra minúscula, puede contener caracteres en minúscula y números, y puede tener entre dos y veinte caracteres. El nombre del esquema debe empezar por una letra mayúscula, puede incluir letras y números, y puede tener entre dos y cuarenta y nueve caracteres. - METADATA_SCHEMA_VERSION: (opcional) Versión del esquema que describe el campo de metadatos.
schema_version
debe ser una cadena de tres números separados por puntos. Por ejemplo, 1.0.0 o 1.0.1. Este formato ayuda a ordenar y comparar versiones. - METADATA: (Opcional) Propiedades que describen la ejecución, como los parámetros de ejecución.
- DESCRIPTION: (Opcional) Cadena legible por humanos que describe el propósito de la ejecución que se va a crear.
- LABELS: opcional. Metadatos definidos por el usuario para organizar las ejecuciones.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?executionId=EXECUTION_ID
Cuerpo JSON de la solicitud:
{ "displayName": "DISPLAY_NAME", "state": "EXECUTION_STATE", "schemaTitle": "METADATA_SCHEMA_TITLE", "schemaVersion": "METADATA_SCHEMA_VERSION", "metadata": { METADATA }, "labels": {"LABEL_1":"LABEL_2"}, "description": "DESCRIPTION" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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
: el nombre visible de la ejecución. Este campo puede contener hasta 128 caracteres Unicode.input_artifacts
: lista de una o varias instancias de aiplatform.Artifact que representan un artefacto de entrada.output_artifacts
:lista de una o varias instancias de aiplatform.Artifact que representan un artefacto de salida.project
: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.location
: consulta la lista de ubicaciones disponibles.execution_id
: ID del registro de ejecución. Si no se especifica el ID de ejecución, Vertex ML Metadata crea un identificador único para esta ejecución.metadata
: propiedades que describen la ejecución, como los parámetros de ejecución.schema_version
:versión del esquema que describe el campo de metadatos.description
: (Opcional) Cadena legible por humanos que describe el propósito de la ejecución que se va a crear.
Buscar un artefacto
Los artefactos representan los datos que usa o genera tu flujo de trabajo de aprendizaje automático, como los conjuntos de datos y los modelos. Sigue estas instrucciones para buscar un artefacto.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: .
- METADATA_STORE: ID del almacén de metadatos en el que se crea el artefacto.
El almacén de metadatos predeterminado se llama
default
. - PAGE_SIZE: (opcional) Número máximo de artefactos que se devolverán. Si no se especifica este valor, el servicio devuelve un máximo de 100 registros.
- PAGE_TOKEN: (Opcional) Un token de página de una llamada anterior a MetadataService.ListArtifacts. Especifica este token para obtener la siguiente página de resultados.
FILTER: especifica las condiciones necesarias para incluir un artefacto en el conjunto de resultados.
Método HTTP y 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
Para enviar tu solicitud, despliega una de estas opciones:
Debería ver un resultado similar al siguiente. ARTIFACT_ID es el ID del registro del artefacto.
{ "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
: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.location
: consulta la lista de ubicaciones disponibles.display_name_filter
: filtro que se aplicará al nombre visible al enumerar los recursos con el formato "display_name=\"mi_filtro\"" .create_date_filter
: filtro que se aplicará al nombre de create_date al enumerar los recursos con el formato "create_time>\"2022-06-11T12:30:00-08:00\"",.
Crear un artefacto
Sigue estas instrucciones para crear un artefacto.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: .
- METADATA_STORE: ID del almacén de metadatos en el que se crea el artefacto.
El almacén de metadatos predeterminado se llama
default
. - ARTIFACT_ID: (Opcional) El ID del registro del artefacto. Si no se especifica el ID del artefacto, Vertex ML Metadata crea un identificador único para este artefacto.
- DISPLAY_NAME: (opcional) nombre del artefacto definido por el usuario.
- URI: (opcional) ubicación en la que se almacena el artefacto.
- ARTIFACT_STATE: (Opcional) Un valor de la enumeración State que representa el estado actual del artefacto. Este campo lo gestionan las aplicaciones cliente. Vertex ML Metadata no comprueba la validez de las transiciones de estado.
- METADATA_SCHEMA_TITLE: el título del esquema que describe el campo de metadatos. El título del esquema debe tener el formato `
. `. El espacio de nombres debe empezar por una letra minúscula, puede contener caracteres en minúscula y números, y puede tener entre dos y veinte caracteres. El nombre del esquema debe empezar por una letra mayúscula, puede incluir letras y números, y puede tener entre dos y cuarenta y nueve caracteres. - METADATA_SCHEMA_VERSION: (opcional) Versión del esquema que describe el campo de metadatos.
schema_version
debe ser una cadena de tres números separados por puntos. Por ejemplo, 1.0.0 o 1.0.1. Este formato ayuda a ordenar y comparar versiones. - METADATA: (opcional). Propiedades que describen el artefacto, como el tipo de conjunto de datos.
- DESCRIPTION: (Opcional) Cadena legible por humanos que describe el propósito de la ejecución que se va a crear.
- LABELS:opcional. Metadatos definidos por el usuario para organizar los artefactos.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?artifactId=ARTIFACT_ID
Cuerpo JSON de la solicitud:
{ "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" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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
: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.location
: consulta la lista de ubicaciones disponibles.uri
: (opcional) Identificador uniforme de recursos del archivo de artefacto, si existe. Puede estar vacío si no hay ningún archivo de artefacto.artifact_id
: (Opcional) El ID del registro del artefacto. Si no se especifica el ID del artefacto, Vertex ML Metadata crea un identificador único para este artefacto.display_name
: (opcional) nombre del artefacto definido por el usuario.schema_version
: versión del esquema que describe el campo de metadatos.description
: (Opcional) Cadena legible por humanos que describe el propósito del artefacto que se va a crear.metadata
: propiedades que describen el artefacto, como los parámetros del artefacto.
Crea eventos para vincular artefactos a una ejecución
Los eventos representan la relación entre una ejecución y sus artefactos de entrada y salida. Sigue estas instrucciones para crear eventos que vinculen artefactos a una ejecución.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: .
- METADATA_STORE: ID del almacén de metadatos en el que se crea la ejecución.
El almacén de metadatos predeterminado se llama
default
. - EXECUTION_ID: ID del registro de ejecución.
ARTIFACT: nombre del recurso del artefacto. El nombre del recurso tiene el siguiente formato:
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
- EVENT_TYPE: (Opcional) Valor de la enumeración EventType que especifica si el artefacto es una entrada o una salida de la ejecución.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID:addExecutionEvents
Cuerpo JSON de la solicitud:
{ "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "type": "EVENT_TYPE" } ] }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Python
Python
input_artifacts
: lista de una o varias instancias de aiplatform.Artifact que representan un artefacto de entrada.output_artifacts
: lista de una o varias instancias de aiplatform.Artifact que representan un artefacto de salida.project
: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.location
: consulta la lista de ubicaciones disponibles.execution_id
: ID del registro de ejecución. Si no se especifica el ID de ejecución, Vertex ML Metadata crea un identificador único para esta ejecución.metadata
Propiedades que describen la ejecución, como los parámetros de ejecución.schema_version
: versión del esquema que describe el campo de metadatos.description
: (Opcional) Cadena legible por humanos que describe el propósito de la ejecución que se va a crear.
Crear un contexto
Los contextos le permiten agrupar conjuntos de artefactos y ejecuciones. Sigue estas instrucciones para crear un contexto. Ten en cuenta que Vertex AI Experiments crea un contexto que registra automáticamente los artefactos y las ejecuciones en ese contexto (consulta Crear o eliminar un experimento).
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: .
- METADATA_STORE:ID del almacén de metadatos en el que se crea la ejecución.
El almacén de metadatos predeterminado se llama
default
. - CONTEXT_ID: (Opcional) El ID del registro de contexto. Si no se especifica el ID de contexto, Vertex ML Metadata ha creado un identificador único para este contexto.
- DISPLAY_NAME: el nombre visible del contexto. Este campo puede contener hasta 128 caracteres Unicode.
- PARENT_CONTEXT: especifica el nombre del recurso de los contextos superiores. Un contexto no puede tener más de 10 contextos superiores.
- METADATA_SCHEMA_TITLE: el título del esquema que describe el campo de metadatos. El título del esquema debe tener el formato `
. `. El espacio de nombres debe empezar por una letra minúscula, puede contener caracteres en minúscula y números, y puede tener entre dos y veinte caracteres. El nombre del esquema debe empezar por una letra mayúscula, puede incluir letras y números, y puede tener entre dos y cuarenta y nueve caracteres. - METADATA_SCHEMA_VERSION: (opcional) Versión del esquema que describe el campo de metadatos.
schema_version
debe ser una cadena de tres números separados por puntos. Por ejemplo, 1.0.0 o 1.0.1. Este formato ayuda a ordenar y comparar versiones. - METADATA: propiedades que describen el contexto, como los parámetros de contexto.
- DESCRIPTION:(Opcional) Cadena legible por humanos que describe el propósito de la ejecución que se va a crear.
- LABELS: opcional. Metadatos definidos por el usuario para organizar los contextos.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?contextId=CONTEXT_ID
Cuerpo JSON de la solicitud:
{ "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" }
Para enviar tu solicitud, despliega una de estas opciones:
Debería ver un resultado similar al siguiente. CONTEXT_ID es el ID del registro de contexto.
{ "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
: el nombre visible del contexto. Este campo puede contener hasta 128 caracteres Unicode.project
: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.location
: consulta la lista de ubicaciones disponibles.context_id
: (Opcional) El ID del registro de contexto.metadata
Propiedades que describen el contexto, como los parámetros de contexto.schema_version
: versión del esquema que describe el campo de metadatos.description
: (Opcional) Cadena legible por humanos que describe el propósito del contexto que se va a crear.
Añadir artefactos y ejecuciones a un contexto
Sigue estas instrucciones para añadir artefactos y ejecuciones a un contexto.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: .
- METADATA_STORE: ID del almacén de metadatos en el que se crea la ejecución.
El almacén de metadatos predeterminado se llama
default
. - CONTEXT: (Opcional) El ID del registro de contexto.
Especifica el ARTIFACT nombre de recurso de los artefactos que quieras añadir a este contexto. El nombre del recurso tiene el siguiente formato:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
Especifica el nombre de recurso EXECUTION de las ejecuciones que quieras añadir a este contexto. El nombre del recurso tiene el siguiente formato:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/executions/execution
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT:addContextArtifactsAndExecutions
Cuerpo JSON de la solicitud:
{ "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" ] }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.