Vertex AI Pipelines によるリソースのラベル付け

コンポーネント、リソース、Google Cloud Pipeline Components SDK のバージョンに応じて、Vertex AI Pipelines によってパイプライン実行のラベルを Google Cloud パイプライン コンポーネントから生成されるリソースに自動的に伝播するか、生成されたリソースにユーザーがラベルを付加する必要があります。ユーザー定義コンポーネントの場合は、ユーザーが環境変数からラベルを付けるコンポーネント コードを作成する必要があります。詳細については、ユーザー定義コンポーネントから生成されるリソースをご覧ください。

自動的にラベル付けされるリソース

Vertex AI Pipelines は、Google Cloud Pipeline Components SDK のバージョンに関係なく、次のリソースに自動的にラベルを付加します。

CustomJob 個のリソース

Vertex AI Pipelines は、パイプライン実行のラベルを CustomJob リソースに自動的に伝播します。これは、Google Cloud Pipeline Components SDK のすべてのバージョンの次のコンポーネントでサポートされています。

Google Cloud Pipeline Components SDK v1.0.31 以降で自動的にラベル付けされるリソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は次のリソースに自動的にラベルを付加します。

BatchPredictionJob 個のリソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は、パイプライン実行のラベルを ModelBatchPredictOp コンポーネントから生成された BatchPredictionJob リソースに自動的に伝播します。

Vertex AI の endpoint リソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は、パイプライン実行のラベルを EndpointCreateOp コンポーネントから生成された Vertex AI endpoint リソースに自動的に伝播します。

HyperparameterTuningJob 個のリソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は、パイプライン実行のラベルを HyperparameterTuningJobRunOp コンポーネントから生成された HyperparameterTuningJob リソースに自動的に伝播します。

Vertex AI データセット リソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は、パイプライン実行のラベルを次の Vertex AI コンポーネントから生成された Vertex AI データセット リソースに自動的に伝播します。

Google Cloud BigQuery ジョブのリソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は、BigQuery ML コンポーネントのいずれかから生成された Google Cloud BigQuery ジョブリソースに、パイプライン実行のラベルを自動的に伝播します。

Google Cloud Dataproc ジョブのリソース

Google Cloud Pipeline Components SDK v1.0.31 以降を使用している場合、Vertex AI Pipelines は、Dataproc サーバーレス コンポーネントのいずれかから生成された Google Cloud Dataproc ジョブリソースに、パイプライン実行のラベルを自動的に伝播します。

TrainingPipeline リソースと Modelリソース。

Google Cloud Pipeline コンポーネント SDK の v1.0.31 以降を使用している場合、Vertex AI Pipelines はパイプライン実行から TrainingPipelineModel リソースリソース(次の AutoML コンポーネントから生成されたもの)に自動的にラベルを伝播します。

Google Cloud BigQuery テーブル リソース

Google Cloud Pipeline コンポーネント SDK の v1.0.31 以降を使用している場合、Vertex AI Pipelines はパイプラインから Google Cloud BigQuery テーブル リソース、ForecastingPreprocessingOp コンポーネントによって生成されたリソースからラベルを自動的に伝播します。

自動的にラベル付けされないリソース

Google Cloud Pipeline Components SDK のバージョンに関係なく、Vertex AI Pipelines は次のリソースに自動的にラベルを付加しません。

Google Cloud Dataflow リソース

Vertex AI Pipelines は、DataflowPythonJobOp コンポーネントによって生成された Dataflow リソースに自動的にラベルを付加しません。リソースにラベルを付加する手順をコードに配置できます。

次のコードサンプルを使用して、パイプライン実行から DataflowPythonJobOp コンポーネントを使用して生成された Google Cloud Dataflow リソースに請求ラベルを伝播します。

  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:

ユーザー定義コンポーネントから生成されるリソース

Vertex AI Pipelines は、ユーザー定義コンポーネントから生成された Google Cloud リソースに自動的にラベルを付加しません。環境変数 VERTEX_AI_PIPELINES_RUN_LABELS からラベルを取得する手順をコードに配置し、実行時にコンポーネントを使用して生成された Google Cloud リソースにそれらのラベルを付けることができます。

環境変数 VERTEX_AI_PIPELINE_RUN_LABELS には、Key-Value ペアとして JSON 形式のラベルが含まれます。

例: { "label1_key": "label1_value", "label2_key": "label2_value", ...}

Vertex AI SDK for Python を使用している場合は、コンポーネント コードで次のコードサンプルを使用して、コンポーネントから生成された新しいリソースに環境変数からラベルを伝播します。

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"))
)

次のように置き換えます。

  • PROJECT_ID: このパイプラインが実行される Google Cloud プロジェクト。

  • LOCATION: このパイプラインが実行されるロケーションまたはリージョン。

  • RESOURCE: コンポーネントから生成された Google Cloud リソース(例: CustomJobModel)。

Python を使用して環境変数を解析する場合は、gcp_labels_util.attach_system_labels ユーティリティを使用することもできます。このユーティリティは、Google Cloud パイプライン コンポーネント ライブラリにアクセスでき、Python を使用している場合にのみ使用できます。詳細については、GitHub にあるユーティリティ関数のソースコードをご覧ください。

ラベル付けがサポートされていないリソース

Vertex AI Pipelines では、次のリソースへの請求ラベルの伝播はサポートされていません。

ML メタデータ リソース

ML メタデータ リソースに対してはストアレベルで課金されます。課金ラベルを使用してリソースレベルの費用を把握することはできません。

Cloud Storage リソース

Vertex AI Pipelines は、Cloud Storage バケットなどの Cloud Storage リソースに請求ラベルを伝播しません。

次のステップ