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
oderModel
.
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.