コンポーネント、リソース、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 Components SDK の v1.0.31 以降を使用している場合、Vertex AI Pipelines はパイプライン実行から TrainingPipeline
リソースと Model
リソース(次の AutoML コンポーネントから生成されたもの)に自動的にラベルを伝播します。
Google Cloud BigQuery テーブル リソース
Google Cloud Pipeline Components SDK の v1.0.31 以降を使用している場合、Vertex AI Pipelines は ForecastingPreprocessingOp
コンポーネントによって生成されたパイプライン実行 Google Cloud BigQuery テーブル リソースからラベルを自動的に伝播します。
自動的にラベル付けされないリソース
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 リソース(例:
CustomJob
、Model
)。
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 リソースに請求ラベルを伝播しません。