O Vertex ML Metadata permite-lhe acompanhar e analisar os metadados produzidos pelos seus fluxos de trabalho de aprendizagem automática (ML). Se for a primeira vez que usa o Vertex ML Metadata, leia a introdução ao Vertex ML Metadata para saber mais sobre o acompanhamento e a análise dos metadados do seu fluxo de trabalho de ML.
Este guia demonstra como registar metadados através do seguinte processo:
- Crie uma execução que represente um passo no seu fluxo de trabalho de ML.
- Procure artefactos existentes para encontrar artefactos de entrada que já estejam escritos na sua loja de metadados.
- Crie artefactos para as entradas da sua execução que ainda não estejam escritas na sua loja de metadados e quaisquer resultados produzidos por esta execução.
- Crie eventos para representar a relação entre a sua execução e os respetivos artefactos de entrada e saída.
Opcionalmente, adicione a sua execução e artefactos a um Context. Use um contexto para agrupar conjuntos de execuções e artefactos. Por exemplo, se estiver a fazer experiências para encontrar o melhor conjunto de hiperparâmetros para preparar um modelo, cada experiência pode ser uma execução diferente com o seu próprio conjunto de parâmetros e métricas. Pode comparar as execuções num contexto para encontrar a experiência que produziu o melhor modelo.
Antes de poder adicionar execução e artefactos a um contexto, tem de criar um contexto.
Existem duas formas de criar recursos do Vertex ML Metadata. Pode usar comandos REST ou o SDK Vertex AI para Python. O SDK do Python simplifica a criação e a descoberta de vários tipos de recursos. Quando cria execuções com Python, não tem de criar o payload manualmente.
Antes de começar
A primeira vez que usa o Vertex ML Metadata num Google Cloud projeto, o Vertex AI cria o repositório do Vertex ML Metadata do seu projeto.
Se quiser que os seus metadados sejam encriptados através de uma chave de encriptação gerida pelo cliente (CMEK), tem de criar o seu repositório de metadados com uma CMEK antes de usar o Vertex ML Metadata para acompanhar ou analisar metadados. Use as instruções create a metadata store that uses a CMEK para configurar o armazenamento de metadados do seu projeto.
Crie uma execução
As execuções representam um passo no seu fluxo de trabalho de ML. Siga as instruções abaixo para criar uma execução.
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.
- METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada.
O repositório de metadados predefinido chama-se
default
. - EXECUTION_ID: o ID do registo de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para esta execução.
- DISPLAY_NAME: o nome a apresentar da execução. Este campo pode conter até 128 carateres Unicode.
- EXECUTION_STATE: (Opcional) Um valor da enumeração State que representa o estado atual da execução. Este campo é gerido por aplicações cliente. O Vertex ML Metadata não verifica a validade das transições de estado.
- METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema tem de cumprir o formato `
. `. O espaço de nomes tem de começar por uma letra minúscula, pode conter carateres minúsculos e números, e pode ter entre dois e vinte carateres. O nome do esquema tem de começar com uma letra maiúscula, pode incluir letras e números, e pode ter entre 2 e 49 carateres. - METADATA_SCHEMA_VERSION: (Opcional) A versão do esquema que descreve o campo de metadados.
schema_version
tem de ser uma string de três números separados por pontos, por exemplo, 1.0.0 ou 1.0.1. Este formato ajuda a ordenar e comparar versões. - METADATA: (Opcional) Propriedades que descrevem a execução, como os parâmetros de execução.
- DESCRIPTION: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
- LABELS: opcional. Metadados definidos pelo utilizador para organizar as suas execuções.
Método 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 do pedido:
{ "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 o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
: o nome a apresentar da execução. Este campo pode conter até 128 carateres Unicode.input_artifacts
: uma lista de uma ou mais instâncias de aiplatform.Artifact que representam um artefacto de entrada.output_artifacts
:uma lista de uma ou mais instâncias de aiplatform.Artifact que representam um artefacto de saída.project
: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.location
: consulte a lista de localizações disponíveis.execution_id
: o ID do registo de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para esta execução.metadata
: propriedades que descrevem a execução, como os parâmetros de execução.schema_version
:a versão do esquema que descreve o campo de metadados.description
: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
Procure um artefacto existente
Os artefactos representam dados usados ou produzidos pelo seu fluxo de trabalho de ML, como conjuntos de dados e modelos. Siga as instruções abaixo para procurar um artefacto existente.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: .
- METADATA_STORE: o ID do armazenamento de metadados onde o artefacto é criado.
O repositório de metadados predefinido chama-se
default
. - PAGE_SIZE: (Opcional) O número máximo de artefactos a devolver. Se este valor não for especificado, o serviço devolve um máximo de 100 registos.
- PAGE_TOKEN: (Opcional) Um token de página de uma chamada MetadataService.ListArtifacts anterior. Especifique este token para obter a página seguinte de resultados.
FILTER: especifica as condições necessárias para incluir um artefacto no conjunto de resultados.
Método 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
Para enviar o seu pedido, expanda uma destas opções:
Deverá ver uma saída semelhante à seguinte. ARTIFACT_ID é o ID do registo do 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
: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.location
: consulte a lista de localizações disponíveis.display_name_filter
: filtro a aplicar ao nome a apresentar ao listar os recursos com o formato "display_name=\"my_filter\"" .create_date_filter
: filtro a aplicar ao nome create_date ao listar os recursos com o formato "create_time>\"2022-06-11T12:30:00-08:00\"",.
Cria um artefacto.
Siga as instruções que se seguem para criar um artefacto.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: .
- METADATA_STORE: o ID do armazenamento de metadados onde o artefacto é criado.
O repositório de metadados predefinido chama-se
default
. - ARTIFACT_ID: (Opcional) O ID do registo do artefacto. Se o ID do artefacto não for especificado, o Vertex ML Metadata cria um identificador exclusivo para este artefacto.
- DISPLAY_NAME: (Opcional) O nome do artefacto definido pelo utilizador.
- URI: (opcional) a localização onde o artefacto está armazenado
- ARTIFACT_STATE: (Opcional) Um valor da enumeração State que representa o estado atual do artefacto. Este campo é gerido por aplicações cliente. O Vertex ML Metadata não verifica a validade das transições de estado.
- METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema tem de cumprir o formato `
. `. O espaço de nomes tem de começar por uma letra minúscula, pode conter carateres minúsculos e números, e pode ter entre dois e vinte carateres. O nome do esquema tem de começar com uma letra maiúscula, pode incluir letras e números, e pode ter entre 2 e 49 carateres. - METADATA_SCHEMA_VERSION: (Opcional) A versão do esquema que descreve o campo de metadados.
schema_version
tem de ser uma string de três números separados por pontos, por exemplo, 1.0.0 ou 1.0.1. Este formato ajuda a ordenar e comparar versões. - METADATA: (opcional.) Propriedades que descrevem o artefacto, como o tipo de conjunto de dados.
- DESCRIPTION: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
- LABELS:opcional. Metadados definidos pelo utilizador para organizar os seus artefactos.
Método 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 do pedido:
{ "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 o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.location
: consulte a lista de localizações disponíveis.uri
: (Opcional) O identificador uniforme de recursos do ficheiro de artefacto, se existir. Pode estar vazio se não existir um ficheiro de artefacto real.artifact_id
: (Opcional) O ID do registo do artefacto. Se o ID do artefacto não for especificado, o Vertex ML Metadata cria um identificador exclusivo para este artefacto.display_name
: (Opcional) O nome do artefacto definido pelo utilizador.schema_version
: a versão do esquema que descreve o campo de metadados.description
: (Opcional) Uma string legível que descreve a finalidade do artefacto a ser criado.metadata
: propriedades que descrevem o artefacto, como os parâmetros do artefacto.
Crie eventos para associar artefactos a uma execução
Os eventos representam a relação entre uma execução e os respetivos artefactos de entrada e saída. Siga as instruções que se seguem para criar eventos para associar artefactos a uma execução.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: .
- METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada.
O repositório de metadados predefinido chama-se
default
. - EXECUTION_ID: o ID do registo de execução.
ARTIFACT: o nome do recurso do artefacto. O nome do recurso está formatado da seguinte forma:
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
- EVENT_TYPE: (Opcional) Um valor da enumeração EventType que especifica se o artefacto é uma entrada ou uma saída da execução.
Método 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 do pedido:
{ "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "type": "EVENT_TYPE" } ] }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.
Python
Python
input_artifacts
: uma lista de uma ou mais instâncias de aiplatform.Artifact que representam um artefacto de entrada.output_artifacts
: uma lista de uma ou mais instâncias de aiplatform.Artifact que representam um artefacto de saída.project
: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.location
: consulte a lista de localizações disponíveis.execution_id
: o ID do registo de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para esta execução.metadata
Propriedades que descrevem a execução, como os parâmetros de execução.schema_version
: a versão do esquema que descreve o campo de metadados.description
: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
Crie um contexto
Os contextos permitem-lhe agrupar conjuntos de artefactos e execuções. Use as instruções seguintes para criar um contexto. Tenha em atenção que o Vertex AI Experiments cria um contexto que regista automaticamente artefactos e execuções nesse contexto, (consulte o artigo Crie ou elimine uma experiência).
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: .
- METADATA_STORE:o ID do armazenamento de metadados onde a execução é criada.
O repositório de metadados predefinido chama-se
default
. - CONTEXT_ID: (Opcional) O ID do registo de contexto. Se o ID do contexto não for especificado, o Vertex ML Metadata criou um identificador exclusivo para este contexto
- DISPLAY_NAME: o nome a apresentar do contexto. Este campo pode conter até 128 carateres Unicode.
- PARENT_CONTEXT: especifique o nome do recurso para quaisquer contextos principais. Um contexto não pode ter mais de 10 contextos principais.
- METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema tem de cumprir o formato `
. `. O espaço de nomes tem de começar por uma letra minúscula, pode conter carateres minúsculos e números, e pode ter entre dois e vinte carateres. O nome do esquema tem de começar com uma letra maiúscula, pode incluir letras e números, e pode ter entre 2 e 49 carateres. - METADATA_SCHEMA_VERSION: (Opcional) A versão do esquema que descreve o campo de metadados.
schema_version
tem de ser uma string de três números separados por pontos, por exemplo, 1.0.0 ou 1.0.1. Este formato ajuda a ordenar e comparar versões. - METADATA: propriedades que descrevem o contexto, como os parâmetros de contexto.
- DESCRIPTION:(Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
- LABELS: opcional. Metadados definidos pelo utilizador para organizar os seus contextos.
Método 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 do pedido:
{ "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 o seu pedido, expanda uma destas opções:
Deverá ver uma saída semelhante à seguinte. CONTEXT_ID é o ID do registo 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
: o nome a apresentar do contexto. Este campo pode conter até 128 carateres Unicode.project
: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.location
: consulte a lista de localizações disponíveis.context_id
: (Opcional) O ID do registo de contexto.metadata
Propriedades que descrevem o contexto, como os parâmetros de contexto.schema_version
: a versão do esquema que descreve o campo de metadados.description
: (Opcional) Uma string legível que descreve a finalidade do contexto a ser criado.
Adicione artefactos e execuções a um contexto
Siga as instruções abaixo para adicionar artefactos e execuções a um contexto.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: .
- METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada.
O repositório de metadados predefinido chama-se
default
. - CONTEXT: (Opcional) O ID do registo de contexto.
Especifique o nome do recurso ARTIFACT para todos os artefactos que quer adicionar a este contexto. O nome do recurso está formatado da seguinte forma:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
Especifique o nome do recurso EXECUTION para todas as execuções que quer adicionar a este contexto. O nome do recurso está formatado da seguinte forma:
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/executions/execution
Método 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 do pedido:
{ "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 o seu pedido, expanda uma destas opções:
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.