Rotulagem de recursos pelo Vertex AI Pipelines

Dependendo do tipo de componente, do recurso e da versão do SDK dos componentes do pipeline do Google Cloud, o Vertex AI Pipelines propaga automaticamente os rótulos da execução do pipeline para os recursos gerados pelos componentes do pipeline do Google Cloud ou exige que você rotule os recursos gerados. No caso de componentes definidos pelo usuário, é necessário criar o código do componente para anexar os identificadores de uma variável de ambiente. Para mais informações, consulte Recursos gerados a partir de componentes definidos pelo usuário.

Recursos com rotulagem automática

Os pipelines da Vertex AI rotulam automaticamente os seguintes recursos, seja qual for a versão do SDK dos componentes do pipeline do Google Cloud:

CustomJob recursos

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos CustomJob. Isso é compatível com os seguintes componentes em todas as versões do SDK de componentes de pipeline do Google Cloud:

Recursos com rotulagem automática no SDK dos componentes do pipeline do Google Cloud v1.0.31 ou mais recente

Os pipelines da Vertex AI rotulam automaticamente os seguintes recursos, se você usa o SDK dos componentes do pipeline do Google Cloud v1.0.31 ou mais recente:

BatchPredictionJob recursos

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos BatchPredictionJob gerados pelo componente ModelBatchPredictOp se você usa a versão 1.0.31 ou mais recente do SDK dos componentes de pipeline do Google Cloud.

Recursos endpoint da Vertex AI

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos endpoint da Vertex AI gerados pelo componente EndpointCreateOp se você usa a versão 1.0.31 ou mais recente do SDK dos componentes de pipeline do Google Cloud.

HyperparameterTuningJob recursos

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos HyperparameterTuningJob gerados pelo componente HyperparameterTuningJobRunOp se você usa a versão 1.0.31 ou mais recente do SDK dos componentes de pipeline do Google Cloud.

Recursos do conjunto de dados da Vertex AI

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos do conjunto de dados da Vertex AI gerados a partir dos seguintes componentes da Vertex AI se você usa a versão 1.0.31 ou mais recente do SDK dos componentes de pipeline do Google Cloud:

Recursos de jobs do BigQuery no Google Cloud

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos do job do BigQuery do Google Cloud gerados a partir de qualquer um dos componentes do BigQuery ML, se você usar a versão 1.0.31 ou posterior do SDK dos componentes do pipeline do Google Cloud.

Recursos do job do Google Cloud Dataproc

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos do job do Dataproc do Google Cloud gerados a partir de qualquer um dos componentes do Dataproc sem servidor, se você usar a versão 1.0.31 ou posterior do SDK dos componentes do pipeline do Google Cloud.

Recursos TrainingPipeline e Model

Os pipelines da Vertex AI propagam automaticamente os rótulos da execução do pipeline para os recursos TrainingPipeline e Model gerados pelos seguintes componentes do AutoML se você usa a versão 1.0.31 ou mais recente do SDK dos componentes de pipeline do Google Cloud:

Recursos da tabela do Google Cloud BigQuery

O Vertex AI Pipelines propaga automaticamente os rótulos da execução de pipeline dos recursos de tabela do Google Cloud BigQuery gerados pelo componente ForecastingPreprocessingOp se você usa a versão 1.0.31 ou mais recente do SDK de componentes do pipeline do Google Cloud.

Recursos sem rotulagem automática

Os pipelines da Vertex AI não rotulam os seguintes recursos automaticamente, seja qual for a versão do SDK dos componentes do pipeline do Google Cloud:

Recursos do Google Cloud Dataflow

Os pipelines da Vertex AI não rotulam automaticamente os recursos do Dataflow gerados pelo componente DataflowPythonJobOp. Você pode incluir instruções no código para rotular os recursos.

Use o exemplo de código a seguir para propagar os rótulos de faturamento da execução do pipeline para qualquer recurso do Google Cloud Dataflow gerado com o componente DataflowPythonJobOp:

  import argparse
  import apache_beam as beam
  ...
  def run(argv=None):
    parser = argparse.ArgumentParser()
    # Don't add `--labels` to the argument list, so that they will be passed to the pipeline_options 
    parser.add_argument('--input', )
    parser.add_argument('--output', )
  ...
    known_args, pipeline_args = parser.parse_known_args(argv)
    pipeline_options = PipelineOptions(pipeline_args)
    with beam.Pipeline(options=pipeline_options) as p:

Recursos gerados por componentes definidos pelo usuário

O Vertex AI Pipelines não rotula automaticamente os recursos do Google Cloud gerados com componentes definidos pelo usuário. É possível incluir instruções no seu código para recuperar os rótulos da variável de ambiente VERTEX_AI_PIPELINES_RUN_LABELS e anexá-los aos recursos do Google Cloud gerados usando o componente no ambiente de execução.

A variável de ambiente VERTEX_AI_PIPELINE_RUN_LABELS contém os rótulos no formato JSON como pares de chave-valor.

Por exemplo: { "label1_key": "label1_value", "label2_key": "label2_value", ...}

Se você estiver usando o SDK Vertex AI para Python, use o exemplo de código a seguir no código do componente para propagar os rótulos da variável de ambiente para um novo recurso gerado pelo componente:

import os
import json
from google.cloud import aiplatform

aiplatform.init(
  project='PROJECT_ID',
  location='LOCATION'
)

aiplatform.RESOURCE.create(
  ...
  json.loads(os.getenv("VERTEX_AI_PIPELINES_RUN_LABELS"))
)

Substitua:

  • PROJECT_ID: o projeto do Google Cloud em que este pipeline é executado.

  • LOCATION: o local ou a região em que o pipeline é executado.

  • RESOURCE: recurso do Google Cloud gerado pelo componente, por exemplo, CustomJob ou Model.

Também é possível usar o utilitário gcp_labels_util.attach_system_labels se você quiser usar o Python para analisar a variável de ambiente. Esse utilitário só poderá ser usado se você tiver acesso à biblioteca de componentes do pipeline do Google Cloud e estiver usando o Python. Para mais informações, consulte o código-fonte da função utilitária no GitHub.

Recursos sem suporte de identificação

Os pipelines da Vertex AI não são compatíveis com a propagação do rótulo de faturamento para os seguintes recursos:

Recursos de ML Metadata

Os recursos do ML Metadata são faturados no nível da loja. Não é possível usar rótulos de faturamento para entender o custo no nível do recurso.

Recursos do Cloud Storage

O Vertex AI Pipelines não propaga rótulos de faturamento para recursos do Cloud Storage, como buckets do Cloud Storage.

A seguir