Cada recurso de metadatos está asociado con un MetadataSchema específico.
A fin de simplificar el proceso de creación de recursos de metadatos, Vertex ML Metadata publica tipos predefinidos llamados esquemas del sistema para conceptos comunes del AA. Los esquemas del sistema residen en el espacio de nombres system
. Puedes acceder a los esquemas del sistema como recursos de MetadataSchema en la API de Vertex ML Metadata. Los esquemas siempre tienen versiones. El formato de los esquemas del sistema es un subconjunto de la especificación de OpenAPI 3.0.
Cómo usar esquemas del sistema
Vertex AI usa esquemas del sistema a fin de crear recursos de metadatos para realizar un seguimiento de los flujos de trabajo del AA. Luego, puedes filtrar y agrupar recursos en consultas de metadatos mediante el campo schema_title
. Si deseas obtener más información para usar las funciones de filtro, consulta Analiza Vertex ML Metadata.
También puedes usar esquemas del sistema a través de la API de Vertex ML Metadata para crear recursos de metadatos directamente. Puedes identificar un esquema del sistema por el título y la versión del esquema. Los campos en los esquemas del sistema siempre se consideran opcionales. No estás restringido a los campos predefinidos de los esquemas del sistema y también puedes registrar metadatos arbitrarios adicionales en cualquier recurso de metadatos. Si deseas obtener más información sobre el uso de esquemas de sistema para crear recursos de metadatos, consulta Realiza un seguimiento de Vertex ML Metadata.
Enumera tus esquemas
Para ver una lista de todos tus esquemas registrados existentes, usa el siguiente comando.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, haz los siguientes reemplazos:
- LOCATION_ID: Tu región.
- PROJECT_ID: El ID del proyecto.
Método HTTP y URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas?pageSize=100&filter=schema_title=%22system*%22+OR+schema_title=%22google*%22
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "metadataSchemas": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas/system-resolver-execution-v0-0-1", "schemaVersion": "0.0.1", "schema": "title: system.ResolverExecution\ntype: object\n", "schemaType": "EXECUTION_TYPE", "createTime": "2022-07-27T17:41:35.634Z" }, { "name": "projects/PROJECT_ID/locations/LOCATION_ID//metadataStores/default/metadataSchemas/system-html-v0-0-1", "schemaVersion": "0.0.1", "schema": "title: system.HTML\ntype: object\n", "schemaType": "ARTIFACT_TYPE", "createTime": "2022-07-27T17:41:35.602Z" } }
Coincidencia estricta de esquemas
Vertex ML Metadata admite dos marcas que permiten a los autores de esquemas aplicar una coincidencia estricta de esquemas.
additionalProperties
El valor additionalProperties
puede ser verdadero o falso. De acuerdo con el esquema JSON, additionalProperties
se establece de forma predeterminada en verdadero. Esta marca se configura en el nivel superior del esquema. Si se configura como falso, no se permiten propiedades opcionales. Por ejemplo, en el siguiente esquema, solo se aceptan los campos payload_format
y container_format
en los metadatos según este esquema.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
En el esquema anterior, se aceptan los siguientes metadatos:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Sin embargo, se rechazarán los siguientes metadatos:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
fields {
key: 'optional_field'
value: { string_value: 'optional_value' }
}
required
La palabra clave required
toma un array de cero o más strings. De acuerdo con el esquema JSON, no se requieren las propiedades que define la palabra clave de las propiedades. Puedes proporcionar una lista de propiedades obligatorias con la palabra clave required
. Por ejemplo, el siguiente esquema siempre requiere container_format
.
También funciona en propiedades anidadas. Por ejemplo, a continuación, se requiere container_format
.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
En el esquema anterior, se aceptan los siguientes metadatos:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Sin embargo, se rechazarán los siguientes metadatos:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
El esquema admite propiedades anidadas en las que las propiedades tienen un campo de objeto de tipo. En un esquema anidado, el nodo de propiedades anidadas puede tener una palabra clave required
. Por ejemplo:
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
payload:
type: string
nested_property:
type: object
required: ['property_1']
properties:
property_1:
type: integer
property_2:
type: integer
En el esquema anterior, se aceptan los siguientes metadatos, ya que el campo nested_property
en sí no es obligatorio.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
También son válidos los siguientes metadatos.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Sin embargo, se rechazarán los siguientes metadatos:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Ejemplos de esquemas del sistema
Los siguientes ejemplos son esquemas comunes del sistema que están disponibles para su uso inmediato.
Artifact
system.Artifact
es un esquema genérico que puede contener metadatos sobre cualquier artefacto.
No se definen campos específicos en este esquema.
title: system.Artifact
version: 0.0.1
type: object
Conjunto de datos
system.Dataset
representa un contenedor de datos que se consumió o se produjo en un paso de flujo de trabajo del AA. Un conjunto de datos puede apuntar a una ubicación de archivo o a una consulta, por ejemplo, un URI de BigQuery.
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
description: "Format of the container. Examples include 'TFRecord', 'Text', or 'Parquet'."
payload_format:
type: string
description: "Format of the payload. For example, 'proto:TFExample', 'CSV', or 'JSON'."
Modelo
system.Model
representa un modelo entrenado. El URI del modelo puede apuntar a una ubicación de archivo (PPP, un bucket de Cloud Storage, una unidad local) o a un recurso de la API, como el recurso del modelo en la API de Vertex AI.
title: system.Model
version: 0.0.1
type: object
properties:
framework:
type: string
description: "The framework type. For example: 'TensorFlow' or 'Scikit-Learn'."
framework_version:
type: string
description: "The framework version. For example: '1.15' or '2.1'."
payload_format:
type: string
description: "The format of the Model payload, for example: 'SavedModel' or 'TFLite'."
Métricas
system.Metrics
representa las métricas de evaluación producidas durante un flujo de trabajo del AA.
Las métricas dependen de la aplicación y del caso de uso, y pueden constar de métricas escalares simples, como la exactitud o métricas complejas que se almacenan en otro lugar del sistema.
title: system.Metrics
version: 0.0.1
type: object
properties:
type:
accuracy:
type: number
description: "Optional summary metric describing accuracy of a model."
precision:
type: number
description: "Optional summary metric describing precision of a model."
recall:
type: number
description: "Optional summary metric describing the recall of a model."
f1score:
type: number
description: "Optional summary metric describing the f1-score of a model."
mean_absolute_error:
type: number
description: "Optional summary metric describing the mean absolute error of a model."
mean_squared_error:
type: number
description: "Optional summary metric describing the mean-squared error of a model."
¿Qué sigue?
- Comienza el seguimiento de metadatos con Vertex ML Metadata.
- Revisa los conceptos y el modelo de datos de Vertex ML Metadata.