Le SDK Vertex AI inclut plusieurs classes que vous utilisez lorsque vous entraînez votre modèle. La plupart des classes d'entraînement sont utilisées pour créer, entraîner et renvoyer votre modèle. Utilisez HyperparameterTuningJob
pour régler les hyperparamètres du job d'entraînement. Utilisez PipelineJob
pour gérer votre workflow de machine learning (ML) afin de pouvoir automatiser et surveiller vos systèmes de ML.
Les articles suivants fournissent une description détaillée de chaque classe liée à l'entraînement dans le SDK Vertex AI.
Classes d'entraînement AutoML pour les données structurées
Le SDK Vertex AI inclut les classes suivantes qui sont utilisées pour entraîner un modèle AutoML structuré.
AutoMLForecastingTrainingJob
La classe AutoMLForecastingTrainingJob
utilise la méthode d'entraînement AutoML
pour entraîner et exécuter un modèle de prévision.
La méthode d'entraînement AutoML
est un bon choix pour la plupart des cas d'utilisation des prévisions. Si votre cas d'utilisation ne bénéficie pas de la méthode d'entraînement Seq2seq
ou Temporal fusion transformer
proposée par les classes SequenceToSequencePlusForecastingTrainingJob
et TemporalFusionTransformerForecastingTrainingJob
respectivement, alors AutoML
est probablement la meilleure méthode d'entraînement pour vos prédictions de prévisions.
Pour obtenir un exemple de code illustrant comment utiliser AutoMLForecastingTrainingJob
, consultez l'exemple "Créer une prévision de pipeline d'entraînement" sur GitHub.
SequenceToSequencePlusForecastingTrainingJob
La classe SequenceToSequencePlusForecastingTrainingJob
utilise la méthode d'entraînement Seq2seq+
pour entraîner et exécuter un modèle de prévision.
La méthode d'entraînement Seq2seq+
est un bon choix pour les tests. Son algorithme est plus simple et utilise un espace de recherche plus petit que l'option AutoML
.
Seq2seq+
est une bonne option si vous souhaitez obtenir des résultats rapides et que vos ensembles de données sont inférieurs à 1 Go.
Pour obtenir un exemple de code illustrant comment utiliser SequenceToSequencePlusForecastingTrainingJob
, consultez l'exemple "Créer une prévision de pipeline d'entraînement Seq2seq" sur GitHub.
TemporalFusionTransformerForecastingTrainingJob
La classe TemporalFusionTransformerForecastingTrainingJob
utilise la méthode d'entraînement Temporal Fusion Transformer (TFT) pour entraîner et exécuter un modèle de prévision. La méthode d'entraînement TFT implémente un modèle de réseau de neurones profond (DNN, Deep Neural Network) basé sur l'attention qui utilise une tâche de prévision multi-horizons pour produire des prédictions.
Pour obtenir un exemple de code illustrant comment utiliser TemporalFusionTransformerForecastingTrainingJob
, consultez l'exemple "Créer un transformateur de fusion temporelle de prévision de pipeline d'entraînement" sur GitHub.
AutoMLTabularTrainingJob
Utiliser AutoMLTabularTrainingJob
représente un job qui crée, entraîne et renvoie un modèle tabulaire AutoML. Pour en savoir plus sur l'entraînement de modèles tabulaires et Vertex AI, consultez les sections Données tabulaires et Présentation des données tabulaires.
L'exemple d'extrait de code suivant vous montre comment vous pouvez utiliser le SDK Vertex AI pour créer et exécuter un modèle tabulaire AutoML :
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,
)
Classes d'entraînement AutoML pour les données non structurées
Le SDK Vertex AI inclut les classes suivantes pour entraîner des modèles d'image, de texte et de vidéos non structurés :
AutoMLImageTrainingJob
Utilisez la classe AutoMLImageTrainingJob
pour créer, entraîner et renvoyer un modèle d'image. Pour en savoir plus sur l'utilisation des modèles de données d'image dans Vertex AI, consultez la section Données d'image.
Pour obtenir un exemple d'utilisation de la classe AutoMLImageTrainingJob
, consultez le tutoriel dans le notebook Classification d'images AutoML.
AutoMLTextTrainingJob
Utilisez la classe AutoMLTextTrainingJob
pour créer, entraîner et renvoyer un modèle de texte. Pour en savoir plus sur l'utilisation des modèles de données textuelles dans Vertex AI, consultez la section Données textuelles.
Pour obtenir un exemple d'utilisation de la classe AutoMLTextTrainingJob
, consultez le tutoriel dans le notebook Entraînement AutoML d'un modèle d'extraction d'entités textuelles pour la prédiction en ligne.
AutoMLVideoTrainingJob
Utilisez la classe AutoMLVideoTrainingJob
pour créer, entraîner et renvoyer un modèle vidéo. Pour en savoir plus sur l'utilisation des modèles de données vidéo dans Vertex AI, consultez la section Données vidéo.
Pour obtenir un exemple d'utilisation de la classe AutoMLVideoTrainingJob
, consultez le tutoriel dans le notebook Entraînement AutoML d'un modèle de reconnaissance d'actions dans des vidéos pour les prédictions par lot.
Classes d'entraînement de données personnalisées
Vous pouvez utiliser le SDK Vertex AI pour automatiser un workflow d'entraînement personnalisé. Pour plus d'informations sur l'utilisation de Vertex AI pour exécuter des applications d'entraînement personnalisé, consultez la section Présentation de l'entraînement personnalisé.
Le SDK Vertex AI inclut trois classes qui créent un pipeline d'entraînement personnalisé. Un pipeline d'entraînement accepte en entrée un ensemble de données géré Vertex AI qu'il utilise pour entraîner un modèle. Il renvoie ensuite le modèle une fois le job d'entraînement terminé. Chacune des trois classes du pipeline d'entraînement personnalisé crée un pipeline d'entraînement différemment.
CustomTrainingJob
utilise un script Python, CustomContainerTrainingJob
utilise un conteneur personnalisé et CustomPythonPackageTrainingJob
utilise un package Python et un conteneur prédéfini.
La classe CustomJob
crée un job d'entraînement personnalisé, mais il ne s'agit pas d'un pipeline. Contrairement à un pipeline d'entraînement personnalisé, la classe CustomJob
peut utiliser un ensemble de données qui n'est pas un ensemble de données géré Vertex AI pour entraîner un modèle, et elle ne renvoie pas le modèle entraîné. Comme la classe accepte différents types d'ensembles de données et ne renvoie pas de modèle entraîné, elle est moins automatisée et plus flexible qu'un pipeline d'entraînement personnalisé.
CustomTrainingJob
Utilisez la classe CustomTrainingJob
pour lancer un pipeline d'entraînement personnalisé dans Vertex AI avec un script.
Pour obtenir un exemple d'utilisation de la classe CustomTrainingJob
, consultez le tutoriel dans le notebook Entraînement personnalisé d'un modèle de classification d'images pour la prédiction en ligne avec explications.
CustomContainerTrainingJob
Utilisez la classe CustomContainerTrainingJob
afin d'utiliser un conteneur pour lancer un pipeline d'entraînement personnalisé dans Vertex AI.
Pour obtenir un exemple d'utilisation de la classe CustomContainerTrainingJob
, consultez le tutoriel dans le notebook Entraînement parallèle avec données d'image distribuées sur plusieurs nœuds pour la classification d'image PyTorch sur un GPU utilisant l'entraînement Vertex AI avec un conteneur personnalisé.
CustomPythonPackageTrainingJob
Utilisez la classe CustomPythonPackageTrainingJob
afin d'utiliser un package Python pour lancer un pipeline d'entraînement personnalisé dans VertexÂ