Ressourcen-Labeling von Vertex AI Pipelines

Je nach Komponententyp, Ressource und Version des Google Cloud Pipeline Components SDK leitet Vertex AI Pipelines die Labels entweder automatisch aus der Pipeline-Ausführung an die Ressourcen weiter, die aus Google Cloud-Pipeline-Komponenten generiert werden, oder Sie müssen die generierten Ressourcen mit Labels versehen. Bei benutzerdefinierten Komponenten müssen Sie Ihren Komponentencode erstellen, um die Labels aus einer Umgebungsvariablen anzuhängen. Weitere Informationen finden Sie unter Aus benutzerdefinierten Komponenten generierte Ressourcen.

Ressourcen mit automatischem Labeling

Vertex AI Pipelines fügt den folgenden Ressourcen unabhängig von der Version des Google Cloud Pipeline Components SDK automatisch ein Label hinzu:

CustomJob Ressource

Vertex AI Pipelines leitet die Labels automatisch aus Ihrer Pipeline-Ausführung an CustomJob-Ressourcen weiter. Dies wird von den folgenden Komponenten in allen Versionen des Google Cloud Pipeline Components SDK unterstützt:

Ressourcen mit automatischer Labelerstellung in Google Cloud Pipeline Components SDK Version 1.0.31 oder höher

Vertex AI Pipelines fügt den folgenden Ressourcen automatisch ein Label hinzu, wenn Sie das Google Cloud Pipeline Components SDK Version 1.0.31 oder höher verwenden:

BatchPredictionJob Ressource

Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline-Ausführung an BatchPredictionJob-Ressourcen weiter, die aus der Komponente ModelBatchPredictOp generiert werden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.

Vertex AI-endpoint-Ressourcen

Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline-Ausführung an Vertex AI-endpoint-Ressourcen weiter, die von der EndpointCreateOp-Komponente generiert werden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.

HyperparameterTuningJob Ressource

Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline-Ausführung an HyperparameterTuningJob-Ressourcen weiter, die aus der Komponente HyperparameterTuningJobRunOp generiert werden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.

Dataset-Ressourcen von Vertex AI

Vertex AI Pipelines leitet Labels von Ihrer Pipeline-Ausführung automatisch an Vertex AI-Dataset-Ressourcen weiter, die aus den folgenden Vertex AI-Komponenten generiert werden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden:

Google Cloud BigQuery-Jobressourcen

Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline-Ausführung an Google Cloud BigQuery-Jobressourcenressourcen weiter, die aus einer der BigQuery ML-Komponenten generiert wurden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.

Google Cloud Dataproc-Jobressourcen

Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline-Ausführung an Google Cloud Dataproc-Jobressourcenressourcen weiter, die aus einer der Dataproc serverlosen Komponenten erstellt wurden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.

TrainingPipeline- und Model-Ressourcen

Vertex AI Pipelines leitet Labels aus Ihrer Pipeline-Ausführung automatisch an TrainingPipeline- und Model-Ressourcen weiter, die aus den folgenden AutoML-Komponenten generiert werden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden:

Google Cloud BigQuery-Tabellenressourcen

Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline weiter, indem Sie Google Cloud BigQuery-Tabellenressourcenressourcen ausführen, die aus der Komponente ForecastingPreprocessingOp generiert wurden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.

Ressourcen ohne automatisches Labeling

Vertex AI Pipelines fügt die folgenden Ressourcen unabhängig von der Version des Google Cloud Pipeline Components SDK nicht automatisch ein Label hinzu:

Google Cloud Dataflow-Ressourcen

Vertex AI Pipelines fügt Dataflow-Ressourcen, die von der DataflowPythonJobOp-Komponente generiert werden, nicht automatisch ein Label hinzu. Sie können eine Anleitung in Ihren Code einfügen, um die Ressourcen mit Labels zu versehen.

Verwenden Sie das folgende Codebeispiel, um Abrechnungslabels aus Ihrer Pipelineausführung an eine Google Cloud Dataflow-Ressource weiterzugeben, die mit der Komponente DataflowPythonJobOp generiert wurde:

  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:

Aus benutzerdefinierten Komponenten generierte Ressourcen

Vertex AI Pipelines fügt Google Cloud-Ressourcen, die aus benutzerdefinierten Komponenten generiert wurden, nicht automatisch ein Label hinzu. Sie können Anweisungen in Ihren Code aufnehmen, um die Labels aus der Umgebungsvariablen VERTEX_AI_PIPELINES_RUN_LABELS abzurufen und diese Labels an die Google Cloud-Ressourcen anzuhängen, die mit der Komponente zur Laufzeit generiert wurden.

Die Umgebungsvariable VERTEX_AI_PIPELINE_RUN_LABELS enthält die Labels im JSON-Format als Schlüssel/Wert-Paare.

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

Wenn Sie das Vertex AI SDK für Python verwenden, verwenden Sie das folgende Codebeispiel in Ihrem Komponentencode, um Labels aus der Umgebungsvariablen an eine neue Ressource weiterzugeben, die aus der Komponente generiert wird:

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

Dabei gilt:

  • PROJECT_ID: Das Google Cloud-Projekt, in dem diese Pipeline ausgeführt wird.

  • LOCATION: Der Standort oder die Region, in der diese Pipeline ausgeführt wird.

  • RESOURCE: Die Google Cloud-Ressource, die aus der Komponente generiert wird, z. B. CustomJob oder Model.

Sie können auch das Dienstprogramm gcp_labels_util.attach_system_labels verwenden, wenn Sie Python zum Parsen der Umgebungsvariablen verwenden möchten. Sie können dieses Dienstprogramm nur verwenden, wenn Sie Zugriff auf die Google Cloud Pipeline Components-Bibliothek haben und Python verwenden. Weitere Informationen finden Sie im Quellcode der Dienstfunktion in GitHub.

Ressourcen ohne Labeling-Unterstützung

Vertex AI Pipelines unterstützt nicht die Weitergabe von Abrechnungslabels an die folgenden Ressourcen:

ML-Metadaten-Ressourcen

ML-Metadatenressourcen werden auf Speicherebene abgerechnet. Sie können die Kosten auf Ressourcenebene anhand der Abrechnungslabels nicht verstehen.

Cloud Storage-Ressourcen

Vertex AI Pipelines leitet keine Abrechnungslabels an Cloud Storage-Ressourcen wie Cloud Storage-Buckets weiter.

Nächste Schritte