Cada recurso de metadados está associado a um MetadataSchema específico.
Para simplificar o processo de criação de recursos de metadados, o Vertex ML Metadata publica tipos predefinidos denominados esquemas do sistema para conceitos de ML comuns. Os esquemas do sistema estão
no espaço de nomes system
. Pode aceder aos esquemas do sistema como recursos MetadataSchema na API Vertex ML Metadata. Os esquemas têm sempre versões. O formato dos esquemas do sistema é um subconjunto da especificação OpenAPI 3.0.
Como usar esquemas do sistema
O Vertex AI usa esquemas do sistema para criar recursos de metadados para monitorizar os seus fluxos de trabalho de ML. Em seguida, pode filtrar e agrupar recursos em consultas de metadados
através do campo schema_title
. Para mais informações sobre como usar as funções de filtro, consulte o artigo Analise os metadados do Vertex ML.
Também pode usar esquemas do sistema através da API Vertex ML Metadata para criar recursos de metadados diretamente. Pode identificar um esquema do sistema pelo título e pela versão do esquema. Os campos nos esquemas do sistema são sempre considerados opcionais. Não está restrito aos campos predefinidos dos esquemas do sistema e também pode registar metadados arbitrários adicionais em qualquer recurso de metadados. Para mais informações sobre a utilização de esquemas do sistema para criar recursos de metadados, consulte o artigo Monitorize os metadados do Vertex ML.
Apresente uma lista dos seus esquemas
Para ver uma lista de todos os esquemas registados existentes, use o seguinte comando.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: o seu 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 o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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 de esquemas rigorosa
O Vertex ML Metadata suporta duas flags que permitem aos autores de esquemas aplicar a correspondência estrita de esquemas.
additionalProperties
O valor additionalProperties
pode ser verdadeiro ou falso. Consistente com o esquema JSON, additionalProperties
tem o valor predefinido true. Esta flag é definida ao nível superior do esquema. Se for definido como falso, não são permitidas propriedades opcionais. Por exemplo, no esquema abaixo, apenas os campos payload_format
e container_format
são aceites nos metadados com base neste 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 são rejeitados:
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' }
}
obrigatório
A palavra-chave required
recebe uma matriz de zero ou mais strings. De acordo com o esquema JSON, as propriedades definidas pela palavra-chave properties não são obrigatórias. Pode fornecer uma lista de propriedades necessárias através da palavra-chave required
. Por exemplo, o seguinte esquema requer sempre container_format
.
Também funciona em propriedades aninhadas. Por exemplo, o seguinte torna o elemento 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 são rejeitados:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
O esquema suporta propriedades aninhadas em que as propriedades têm um campo do tipo object. Num esquema aninhado, o nó de propriedades aninhadas pode ter uma required
palavra-chave. Por 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 seguintes metadados, uma vez que o campo nested_property
não é obrigatório.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Os seguintes metadados 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 são rejeitados:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Exemplos de esquemas do sistema
Os exemplos seguintes são esquemas de sistema comuns que estão disponíveis para utilização imediata.
Artefacto
system.Artifact
é um esquema genérico que pode conter metadados sobre qualquer artefacto.
Não estão definidos campos específicos neste esquema.
title: system.Artifact
version: 0.0.1
type: object
Conjunto de dados
system.Dataset
representa um contentor de dados que foi consumido ou produzido por um passo do fluxo de trabalho de ML. Um conjunto de dados pode apontar para uma localização de ficheiro 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 preparado. O URI do modelo pode apontar para uma localização de ficheiro (PPP, contentor do Cloud Storage, unidade local) ou um recurso de API, como o recurso Model 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 da aplicação e do exemplo de utilização e podem consistir em métricas escalares simples, como a precisão, ou métricas complexas que são armazenadas noutro local do 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."
What's Next?
- Comece a monitorizar metadados com o Vertex ML Metadata.
- Reveja os conceitos e o modelo de dados do Vertex ML Metadata.