Je nach Art der Komponente, der Ressource und der Version des Google Cloud Pipeline Components SDK leiten Vertex AI Pipelines die Labels aus Ihrer Pipelineausführung entweder automatisch an die von Google Cloud Pipeline Components generierten Ressourcen weiter oder Sie müssen die generierten Ressourcen selbst labeln. Bei benutzerdefinierten Komponenten müssen Sie den Komponentencode so erstellen, dass die Labels aus einer Umgebungsvariablen angehängt werden. 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
Ressourcen
Vertex AI Pipelines überträgt die Labels aus Ihrer Pipelineausführung automatisch an CustomJob
-Ressourcen. Das 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
Ressourcen
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 Komponente EndpointCreateOp
generiert werden, wenn Sie Version 1.0.31 oder höher des Google Cloud Pipeline Components SDK verwenden.
HyperparameterTuningJob
Ressourcen
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.
Vertex AI-Datasetressourcen
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-Jobressourcen 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 Ressourcen für Dataproc-Jobs
Vertex AI Pipelines leitet automatisch Labels aus Ihrer Pipeline-Ausführung an Google Cloud Dataproc-Jobressourcen weiter, die aus einer der Dataproc-serverlosen Komponenten generiert 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 den folgenden Ressourcen unabhängig von der Version des Google Cloud Pipeline Components SDK kein 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 Anweisungen in Ihren Code aufnehmen, um die Ressourcen zu labeln.
Mit dem folgenden Codebeispiel können Sie Abrechnungslabels aus Ihrer Pipeline-Ausführung an alle Google Cloud Dataflow-Ressourcen weitergeben, die mit der Komponente DataflowPythonJobOp
generiert wurden:
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 den Google Cloud Ressourcen anzuhängen, die bei der Laufzeit mit der Komponente 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 von der Umgebungsvariablen an eine neue Ressource weiterzuleiten, die von 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: 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 die Umgebungsvariable mit Python parsen 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 Labelunterstützung
Vertex AI Pipelines unterstützt die Weiterleitung von Abrechnungslabels nicht zu den folgenden Ressourcen:
Ressourcen zu ML-Metadaten
ML-Metadatenressourcen werden auf Store-Ebene abgerechnet. Sie können die Kosten auf Ressourcenebene anhand der Abrechnungslabels nicht verstehen.
Cloud Storage-Ressourcen
Vertex AI Pipelines überträgt keine Abrechnungslabels auf Cloud Storage-Ressourcen wie Cloud Storage-Buckets.