Das Vertex AI SDK enthält mehrere Klassen, die Sie beim Trainieren Ihres Modells verwenden. Die meisten Trainingsklassen werden zum Erstellen, Trainieren und Zurückgeben Ihres Modells verwendet. Verwenden Sie die
HyperparameterTuningJob, um die
Hyperparameter des Trainingsjobs zu optimieren. Mit
PipelineJob können Sie Ihren ML-Workflow (Machine Learning)
verwalten, um Ihre ML-Systeme zu automatisieren und zu überwachen.
Die folgenden Themen enthalten eine allgemeine Beschreibung jeder trainingsbezogenen Klasse im Vertex AI SDK.
AutoML-Trainingsklassen für strukturierte Daten
Das Vertex AI SDK enthält die folgenden Klassen, die zum Trainieren eines strukturierten AutoML-Modells verwendet werden.
AutoMLForecastingTrainingJob
Die AutoMLForecastingTrainingJob Klasse verwendet die AutoML Trainingsmethode, um ein Prognosemodell zu trainieren und auszuführen.
Die Trainingsmethode AutoML eignet sich für die meisten Anwendungsfälle der Prognose. Wenn
Ihr Anwendungsfall nicht von der Seq2seq oder der
Temporal fusion transformer Trainingsmethode profitiert, die von den
SequenceToSequencePlusForecastingTrainingJob
und
TemporalFusionTransformerForecastingTrainingJob
Klassen angeboten werden, dann ist AutoML wahrscheinlich die beste Trainingsmethode für Ihre Prognose
vorhersagen.
Beispielcode, der die Verwendung von
AutoMLForecastingTrainingJob veranschaulicht, finden Sie auf GitHub unter Beispiel für die Prognose einer Trainingspipeline erstellen.
AutoMLTabularTrainingJob
Die AutoMLTabularTrainingJob Klasse
stellt einen Job dar, mit dem ein tabellarisches AutoML Modell von erstellt, trainiert und zurückgegeben wird.
Weitere Informationen zum Trainieren tabellarischer Modelle und zur Gemini Enterprise Agent Platform finden Sie unter
Tabellendaten und Übersicht über tabellarische Daten.
Das folgende Beispielcode-Snippet zeigt, wie Sie mit dem Vertex AI SDK ein tabellarisches AutoML-Modell erstellen und ausführen können:
dataset = aiplatform.TabularDataset('projects/my-project/location/us-central1/datasets/{DATASET_ID}')
job = aiplatform.AutoMLTabularTrainingJob(
display_name="train-automl",
optimization_prediction_type="regression",
optimization_objective="minimize-rmse",
)
model = job.run(
dataset=dataset,
target_column="target_column_name",
training_fraction_split=0.6,
validation_fraction_split=0.2,
test_fraction_split=0.2,
budget_milli_node_hours=1000,
model_display_name="my-automl-model",
disable_early_stopping=False,
)
SequenceToSequencePlusForecastingTrainingJob
Die Klasse SequenceToSequencePlusForecastingTrainingJob verwendet die Trainingsmethode Seq2seq+, um ein Prognosemodell zu trainieren und auszuführen.
Die Trainingsmethode Seq2seq+ ist eine gute Wahl für Experimente. Der Algorithmus ist einfacher und verwendet einen kleineren Suchbereich als die Option AutoML.
Seq2seq+ ist eine gute Option, wenn Sie schnelle Ergebnisse wünschen und Ihre Datasets kleiner als 1 GB sind.
Beispielcode, der die Verwendung von SequenceToSequencePlusForecastingTrainingJob veranschaulicht, finden Sie auf GitHub unter Beispiel für eine Trainings-Pipeline zur Vorhersage von Seq2seq erstellen.
TemporalFusionTransformerForecastingTrainingJob
Die Klasse TemporalFusionTransformerForecastingTrainingJob verwendet die Trainingsmethode „Temporal Fusion Transformer (TFT)“, um ein Prognosemodell zu trainieren und auszuführen. Bei der TFT-Trainingsmethode wird ein datengetriebenes Modell für ein neuronales Deep-Learning-Netzwerk (DNN) implementiert, das für die Erstellung von Vorhersagen eine Multi-Horizon-Prognoseaufgabe verwendet.
Einen Beispielcode, der die Verwendung von TemporalFusionTransformerForecastingTrainingJob veranschaulicht, finden Sie unter Beispiel für eine Trainingspipeline zur Vorhersage eines Temporal Fusion Transformer erstellen auf GitHub.
TimeSeriesDenseEncoderForecastingTrainingJob
Die Klasse TimeSeriesDenseEncoderForecastingTrainingJob verwendet die Trainingsmethode "Times-Dens-Encoder (TiDE)", um ein Prognosemodell zu trainieren und auszuführen. TiDE verwendet einen Multi-Layer Perceptron (MLP), um lineare Geschwindigkeiten mit Kovarianzen und nicht linearen Abhängigkeiten zu prognostizieren.
Weitere Informationen zu TiDE finden Sie unter Aktuelle Fortschritte im Bereich Deep-Horizon-Prognosen und in diesem TiDE-Blogpost.
AutoML-Trainingsklassen für unstrukturierte Daten
Das Vertex AI SDK enthält die folgenden Klassen zum Trainieren unstrukturierter Bildmodelle:
AutoMLImageTrainingJob
Verwenden Sie die AutoMLImageTrainingJob Klasse, um
ein Bildmodell zu erstellen, zu trainieren und zurückzugeben. Weitere Informationen zur Arbeit
mit Bilddatenmodellen in der Gemini Enterprise Agent Platform finden Sie unter
Bilddaten.
Ein Beispiel für die Verwendung der
AutoMLImageTrainingJob Klasse finden Sie in der
Anleitung im Notebook AutoML-Bild
klassifizierung.
Benutzerdefinierte Datentrainingsklassen
Mit dem Vertex AI SDK können Sie einen benutzerdefinierten Trainingsworkflow automatisieren. Informationen zur Verwendung der Gemini Enterprise Agent Platform zum Ausführen benutzerdefinierter Trainings anwendungen finden Sie unter Übersicht: benutzerdefiniertes Training.
Das Vertex AI SDK enthält drei Klassen, die eine benutzerdefinierte Trainingspipeline erstellen. Eine Trainingspipeline akzeptiert ein von der Gemini Enterprise Agent Platform verwaltetes Eingabe-Dataset, das zum Trainieren eines Modells verwendet wird. Als Nächstes gibt er das Modell zurück, nachdem der Trainingsjob abgeschlossen wurde. Jede der drei benutzerdefinierten Trainingspipeline-Klassen erstellt eine Trainingspipeline unterschiedlich.
CustomTrainingJob verwendet ein Python-Skript,
CustomContainerTrainingJob verwendet einen benutzerdefinierten Container und CustomPythonPackageTrainingJob verwendet ein Python-Paket und einen vordefinierten Container.
Die CustomJob Klasse erstellt einen benutzerdefinierten Trainingsjob
ist aber keine Pipeline. Im Gegensatz zu einer benutzerdefinierten Trainingspipeline kann die
CustomJob Klasse ein Dataset verwenden, das kein von der
Gemini Enterprise Agent Platform verwaltetes Dataset ist, um ein Modell zu trainieren, und sie gibt das
trainierte Modell nicht zurück. Da die Klasse verschiedene Datasets akzeptiert und kein trainiertes Modell zurückgibt, ist sie weniger automatisiert und flexibler als eine benutzerdefinierte Trainingspipeline.
CustomContainerTrainingJob
Verwenden Sie die CustomContainerTrainingJob
Klasse, um einen Container zum Starten einer benutzerdefinierten Trainingspipeline in der Gemini Enterprise Agent Platform zu verwenden.
Ein Beispiel für die Verwendung der
CustomContainerTrainingJob Klasse
finden Sie in der Anleitung im Notebook Paralleltraining von PyTorch zur Bildklassifizierung mit mehreren Knoten und verteilten
Daten auf GPU unter Verwendung von Gemini Enterprise Agent Platform Training mit benutzerdefiniertem Container.
CustomJob
Verwenden Sie die CustomJob Klasse, um ein Skript zum Starten eines
benutzerdefinierten Trainingsjobs in der Gemini Enterprise Agent Platform zu verwenden.
Ein Trainingsjob ist flexibler als eine Trainingspipeline, da Sie nicht darauf beschränkt sind, Ihre Daten in ein von der Gemini Enterprise Agent Platform verwaltetes Dataset zu laden, und ein Verweis auf Ihr Modell nicht registriert wird, nachdem der Trainingsjob abgeschlossen wurde. Sie
können beispielsweise die CustomJob Klasse, die
from_local_script
Methode und ein Skript zum Laden eines Datasets von
scikit-learn oder
TensorFlow verwenden. Alternativ können Sie Ihr trainiertes Modell analysieren oder testen, bevor Sie es bei der Gemini Enterprise Agent Platform registrieren.
Weitere Informationen zu benutzerdefinierten Trainingsjobs, einschließlich der Anforderungen vor dem Senden eines benutzerdefinierten Trainingsjobs, was ein benutzerdefinierter Job enthält, und ein Python-Code beispiel finden Sie unter Benutzerdefinierte Trainingsjobs erstellen.
Da das CustomJob.run nicht das trainierte Modell zurückgibt, müssen Sie ein Skript verwenden, um das Modellartefakt an einen Speicherort wie einen Cloud Storage-Bucket zu schreiben. Weitere Informationen finden Sie unter Trainiertes ML-Modell exportieren.
Der folgende Beispielcode zeigt, wie Sie einen benutzerdefinierten Job mithilfe einer Beispielspezifikation für einen Worker-Pool erstellen und ausführen. Der Code schreibt das trainierte Modell in einen Cloud Storage-Bucket namens artifact-bucket.
# Create a worker pool spec that specifies a TensorFlow cassava dataset and
# includes the machine type and Docker image. The Google Cloud project ID
# is 'project-id'.
worker_pool_specs=[
{
"replica_count": 1,
"machine_spec": { "machine_type": "n1-standard-8",
"accelerator_type": "NVIDIA_TESLA_V100",
"accelerator_count": 1
},
"container_spec": {"image_uri": "gcr.io/{project-id}/multiworker:cassava"}
},
{
"replica_count": 1,
"machine_spec": { "machine_type": "n1-standard-8",
"accelerator_type": "NVIDIA_TESLA_V100",
"accelerator_count": 1
},
"container_spec": {"image_uri": "gcr.io/{project-id}/multiworker:cassava"}
}
]
# Use the worker pool spec to create a custom training job. The custom training
# job artifacts are stored in the Cloud Storage bucket
# named 'artifact-bucket'.
your_custom_training_job = aiplatform.CustomJob(
display_name='multiworker-cassava-sdk',
worker_pool_specs=worker_pool_specs,
staging_bucket='gs://{artifact-bucket}')
# Run the training job. This method doesn't return the trained model.
my_multiworker_job.run()
CustomPythonPackageTrainingJob
Verwenden Sie die
CustomPythonPackageTrainingJob
Klasse, um ein Python-Paket zum Starten einer benutzerdefinierten Trainingspipeline in der
Gemini Enterprise Agent Platform zu verwenden.
Ein Beispiel für die Verwendung der
CustomPythonPackageTrainingJob
Klasse finden Sie in der Anleitung im Notebook Benutzerdefiniertes Training mit Python-Paket, verwaltetem
Text-Dataset und TensorFlow-Container.
CustomTrainingJob
Verwenden Sie die CustomTrainingJob Klasse, um eine benutzerdefinierte Trainingspipeline in der Gemini Enterprise Agent Platform mit einem Skript zu starten.
Ein Beispiel für die Verwendung der Klasse
CustomTrainingJob finden Sie in der Anleitung im
Notebook
Benutzerdefiniertes Trainingsmodell zur Klassifizierung von Bildern für die Online-Vorhersage mit
Erklärbarkeit.
Hyperparameter-Trainingsklasse
Das Vertex AI SDK enthält eine Klasse für die Hyperparameter-Abstimmung. Durch die Hyperparameter-Abstimmung wird die Vorhersage-Accuracy des Modells maximiert, indem Variablen (auch Hyperparameter genannt) optimiert werden, die den Trainingsprozess steuern. Weitere Informationen finden Sie in der Übersicht über die Hyperparameter-Abstimmung.
HyperparameterTuningJob
Verwenden Sie die Klasse HyperparameterTuningJob
, um die Hyperparameter-Abstimmung in einer Trainingsanwendung zu automatisieren.
Informationen zum Erstellen und Abstimmen eines benutzerdefiniert trainierten Modells mit der HyperparameterTuningJob-Klasse finden Sie in der
Anleitung Hyperparameter-Abstimmung auf GitHub.
Informationen zum Verwenden der Klasse HyperparameterTuningJob zum Ausführen eines Hyperparameter-Abstimmungsjobs der Gemini Enterprise Agent Platform für ein TensorFlow-Modell finden Sie in der
Anleitung Hyperparameter-Abstimmung für ein TensorFlow-Modell ausführen auf GitHub.
Pipeline-Trainingsklasse
Eine Pipeline orchestriert Ihren ML-Workflow in der Gemini Enterprise Agent Platform. Mithilfe einer Pipeline können Sie Ihre Systeme für maschinelles Lernen automatisieren, überwachen und verwalten. Weitere Informationen zu Pipelines in der Gemini Enterprise Agent Platform finden Sie unter Einführung in Gemini Enterprise Agent Platform Pipelines.
PipelineJob
Eine Instanz der PipelineJob Klasse stellt eine Gemini Enterprise Agent Platform-Pipeline dar.
Es gibt mehrere Notebooks mit Anleitungen zur Verwendung der PipelineJob Klasse:
Informationen zum Ausführen einer Kubeflow Pipelines (KFP)-Pipeline finden Sie in der Anleitung Pipeline-Steuerungsstrukturen mit dem KFP SDK auf GitHub.
Informationen zum Trainieren eines scikit-learn tabellarischen Klassifizierungsmodells und zum Erstellen eines Batch-Vorhersagejobs mit einer Gemini Enterprise Agent Platform-Pipeline finden Sie in der Anleitung Training und Batch-Vorhersage mit BigQuery-Quelle und -Ziel für ein benutzerdefiniertes tabellarisches Klassifizierungsmodell auf GitHub.
Informationen zum Erstellen eines AutoML-Bildklassifizierungsmodells und Verwenden einer Gemini Enterprise Agent Platform-Pipeline finden Sie im GitHub-Tutorial AutoML-Bildklassifizierungspipelines mit google-cloud-pipeline-components.
Weitere Anleitungs-Notebooks finden Sie in den Notebooks-Anleitungen zur Gemini Enterprise Agent Platform.