Workflow tabulaire pour wide et deep learning

Ce document présente le workflow tabulaire pour les pipelines et les composants de wide et deep learning. Pour apprendre à entraîner un modèle avec des modèles wide et deep learning, consultez la section Entraîner un modèle avec des modèles wide et deep learning.

Les modèles wide et deep learning permettent d'entraîner conjointement des modèles linéaires larges et des réseaux de neurones profonds. Ils combinent les avantages de la mémorisation et de la généralisation. Dans certains tests en ligne, les résultats ont montré que les modèles wide et deep learning ont augmenté de manière significative les acquisitions d'applications Google Store par rapport aux modèles uniquement larges et uniquement profonds.

Avantages

  • Intégré à Vertex AI. Le modèle entraîné est un modèle Vertex AI. Vous pouvez exécuter des prédictions par lot ou déployer immédiatement le modèle pour obtenir des prédictions en ligne.

Wide et deep learning sur des pipelines Vertex AI

Le workflow tabulaire pour les modèles wide et deep learning est une instance gérée de Vertex AI Pipelines.

Vertex AI Pipelines est un service sans serveur qui exécute des pipelines Kubeflow. Vous pouvez utiliser des pipelines pour automatiser et surveiller vos tâches de machine learning et de préparation des données. Chaque étape d'un pipeline effectue une partie du workflow du pipeline. Par exemple, un pipeline peut inclure des étapes permettant de fractionner les données, de transformer les types de données, et d'entraîner un modèle. Les étapes étant des instances de composants du pipeline, les étapes comportent des entrées, des sorties et une image de conteneur. Les entrées d'étape peuvent être définies à partir des entrées du pipeline ou elles peuvent dépendre de la sortie d'autres étapes dans ce pipeline. Ces dépendances définissent le workflow du pipeline en tant que graphe orienté acyclique.

Deux versions du workflow tabulaire pour wide et deep learning sont disponibles :

  • HyperparameterTuningJob, ou job de réglage des hyperparamètres, recherche le meilleur ensemble de valeurs d'hyperparamètres à utiliser pour l'entraînement du modèle.
  • CustomJob, ou job personnalisé, permet de spécifier les valeurs d'hyperparamètres à utiliser pour l'entraînement du modèle. Si vous connaissez exactement les valeurs d'hyperparamètres dont vous avez besoin, vous pouvez les spécifier au lieu de les rechercher, et économiser ainsi des ressources d'entraînement.

Présentation du pipeline de wide et deep learning CustomJob et de ses composants

Le pipeline de wide et deep learning CustomJob peut être illustré par le schéma suivant :

Pipeline de wide et deep learning CustomJob 

Les composants du pipeline sont les suivants :

  1. feature-transform-engine : effectue une ingénierie des caractéristiques. Pour en savoir plus, consultez la page Feature Transform Engine.
  2. split-materialized-data : divise les données matérialisées en un ensemble d'entraînement, un ensemble d'évaluation et un ensemble de test.

    Input:

    • Données matérialisées (materialized_data).

    Output:

    • Division d'entraînement matérialisée (materialized_train_split).
    • Répartition matérialisée pour l'évaluation materialized_eval_split.
    • Ensemble de test matérialisé materialized_test_split.
  3. wide-and-deep-trainer : effectue l'entraînement du modèle.

    Input:

    • Référence d'instance (instance_baseline).
    • Schéma d'entraînement (training_schema).
    • Sortie de transformation (transform_output).
    • Division d'entraînement matérialisée (materialized_train_split).
    • Répartition matérialisée pour l'évaluation materialized_eval_split.
    • Ensemble de test matérialisé materialized_test_split.

    Output:

    • Modèle final
  4. automl-tabular-infra-validator : validez le modèle entraîné en envoyant une requête de prédiction et en vérifiant si elle se termine correctement.
  5. model-upload : importe le modèle du bucket Cloud Storage de l'utilisateur vers Vertex AI en tant que modèle Vertex AI.
  6. condition-run-evaluation-2 : facultatif. utilise l'ensemble de test pour calculer les métriques d'évaluation. S'exécute uniquement lorsque run_evaluation est défini sur true.

Présentation du pipeline de wide et deep learning HyperparameterTuningJob et de ses composants

Le pipeline de wide et deep learning HyperparameterTuningJob peut être illustré par le schéma suivant :

Pipeline de wide et deep learning HyperparameterTuningJob 

  1. feature-transform-engine : effectue une ingénierie des caractéristiques. Pour en savoir plus, consultez la page Feature Transform Engine.
  2. split-materialized-data : divise les données matérialisées en un ensemble d'entraînement, un ensemble d'évaluation et un ensemble de test.

    Input:

    • Données matérialisées (materialized_data).

    Output:

    • Division d'entraînement matérialisée (materialized_train_split).
    • Répartition matérialisée pour l'évaluation materialized_eval_split.
    • Ensemble de test matérialisé materialized_test_split.
  3. get-wide-and-deep-study-spec-parameters : génère la spécification d'étude en fonction d'une configuration du pipeline d'entraînement. Si l'utilisateur fournit des valeurs pour study_spec_parameters_override, utilisez ces valeurs pour remplacer celles de la spécification d'étude.

    Input:

    • Remplacement facultatif des paramètres de la spécification d'étude (study_spec_parameters_override).

    Output:

    • Liste finale des hyperparamètres et de leurs plages pour le job de réglage d'hyperparamètres.
  4. wide-and-deep-hyperparameter-tuning-job : effectue un ou plusieurs essais des réglages d'hyperparamètres.

    Input:

    • Référence d'instance (instance_baseline).
    • Schéma d'entraînement (training_schema).
    • Sortie de transformation (transform_output).
    • Division d'entraînement matérialisée (materialized_train_split).
    • Répartition matérialisée pour l'évaluation materialized_eval_split.
    • Ensemble de test matérialisé materialized_test_split.
    • Liste des hyperparamètres et de leurs plages pour le job de réglage d'hyperparamètres.
  5. get-best-hyperparameter-tuning-job-trial : sélectionne le modèle correspondant à l'essai le plus concluant du job de réglage d'hyperparamètres, à l'étape précédente.

    Output:

    • Modèle final
  6. automl-tabular-infra-validator : validez le modèle entraîné en envoyant une requête de prédiction et en vérifiant si elle se termine correctement.
  7. model-upload : importe le modèle du bucket Cloud Storage de l'utilisateur vers Vertex AI en tant que modèle Vertex AI.
  8. condition-run-evaluation-2 : facultatif. utilise l'ensemble de test pour calculer les métriques d'évaluation. S'exécute uniquement lorsque run_evaluation est défini sur true.

Étapes suivantes