Cada recurso de metadados é associado a um MetadataSchema específico.
Para simplificar o processo de criação de recursos de metadados, o Vertex ML Metadata publica tipos predefinidos chamados esquemas do sistema para conceitos comuns de ML. Os esquemas do sistema
estão no namespace system
. É possível acessar os esquemas do sistema como recursos MetadataSchema na
API Vertex ML Metadata. Os esquemas têm sempre o controle de versão. O formato dos esquemas do sistema é um subconjunto da especificação OpenAPI 3.0.
Como usar esquemas do sistema
A Vertex AI usa esquemas do sistema para criar recursos de metadados para rastrear seus fluxos de trabalho de ML. Em seguida, é possível filtrar e agrupar recursos em consultas de metadados usando o campo schema_title
. Para mais informações sobre como usar as funções de filtro, consulte Analisar metadados de Vertex ML.
Também é possível usar esquemas do sistema por meio da API Vertex ML Metadata para criar recursos de metadados diretamente. É possível identificar um esquema de sistema por título e versão do esquema. Os campos em esquemas do sistema são sempre considerados opcionais. Os usuários não estão restritos aos campos predefinidos dos esquemas do sistema, mas também podem registrar outros metadados arbitrários em qualquer recurso de metadados. Para saber mais sobre como usar esquemas do sistema para criar recursos de metadados, consulte Rastrear metadados de Vertex ML.
Liste seus esquemas
Para ver uma lista de todos os esquemas registrados atuais, use o comando a seguir.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: sua região.
- PROJECT_ID: o ID do projeto.
Método HTTP e 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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" } }
Correspondência restrita de esquema
A Vertex ML Metadata é compatível com duas sinalizações que permitem que os autores do esquema apliquem uma correspondência estrita do esquema.
additionalProperties
O valor additionalProperties
pode ser verdadeiro ou falso. De maneira consistente com o esquema JSON, additionalProperties
padroniza para verdadeiro. Essa sinalização é definida no nível
superior do esquema. Se ela for definida como falsa, nenhuma propriedade opcional será permitida. Por exemplo, no esquema abaixo, somente os campos payload_format
e container_format
são aceitos nos metadados com base nesse esquema.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
O esquema acima aceita os seguintes metadados:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
No entanto, os seguintes metadados serão recusados:
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
A palavra-chave required
usa uma matriz com zero ou mais strings. De maneira consistente com o esquema JSON, as propriedades definidas pela palavra-chave de propriedades não são obrigatórias. Você pode fornecer uma lista de propriedades obrigatórias usando a palavra-chave required
. Por exemplo, o esquema a seguir sempre requer container_format
.
Também funciona em propriedades aninhadas. O exemplo a seguir torna container_format
obrigatório.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
O esquema acima aceita os seguintes metadados:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
No entanto, os seguintes metadados serão recusados:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
O esquema é compatível com propriedades aninhadas em que as propriedades têm um campo de tipo de objeto. Em um esquema aninhado, o nó de propriedades aninhadas pode ter uma palavra-chave
required
. Exemplo:
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
O esquema acima aceita os metadados a seguir, já que o próprio campo nested_property
não é obrigatório.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Os metadados a seguir também são válidos.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
No entanto, os seguintes metadados serão recusados:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Exemplos de esquema do sistema
Os exemplos a seguir são esquemas comuns de sistema disponíveis para uso imediato.
Artefato
system.Artifact
é um esquema genérico que pode conter metadados sobre qualquer artefato.
Não há campos específicos definidos neste esquema.
title: system.Artifact
version: 0.0.1
type: object
Conjunto de dados
system.Dataset
representa um contêiner de dados consumidos ou
produzidos por uma etapa do fluxo de trabalho de ML. Um conjunto de dados pode apontar para um local de arquivo
ou uma consulta, por exemplo, um URI do 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 um modelo treinado. O URI do modelo pode apontar para um local de arquivo (PPP, bucket do Cloud Storage, unidade local) ou um recurso de API, como o recurso Modelo na API 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 as métricas de avaliação produzidas durante um fluxo de trabalho de ML.
As métricas dependem do aplicativo e do caso de uso, podendo consistir em métricas escalares
simples, como precisão ou métricas complexas, armazenadas em outro lugar no 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."
A seguir
- Comece a acompanhar metadados com o Vertex ML Metadata.
- Revise os conceitos de metadados e o modelo de dados de Vertex ML.