Classes d'entraînement

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