Ce document présente le workflow tabulaire pour les pipelines et les composants TabNet. Pour apprendre à entraîner un modèle avec TabNet, consultez la section Entraîner un modèle avec TabNet.
TabNet utilise une attention séquentielle pour choisir les caractéristiques à partir desquelles établir le raisonnement, à chaque étape de décision. Cela permet une interprétabilité et un apprentissage plus efficace, car la capacité d'apprentissage est utilisée pour les caractéristiques les plus saillantes.
Avantages
- Sélectionne automatiquement l'espace de recherche d'hyperparamètres approprié en fonction de la taille de l'ensemble de données, du type de prédiction et du budget d'entraînement.
- 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.
- Fournit l'interprétabilité des modèles inhérente. Vous pouvez obtenir des informations sur les fonctionnalités utilisées par TabNet pour prendre sa décision.
- Compatible avec l'entraînement avec GPU.
TabNet sur Vertex AI Pipelines
Le workflow tabulaire pour TabNet 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 TabNet 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 TabNet CustomJob et de ses composants
Le pipeline TabNet CustomJob peut être illustré par le schéma suivant :
Les composants du pipeline sont les suivants :
- feature-transform-engine : effectue une ingénierie des caractéristiques. Pour en savoir plus, consultez la page Feature Transform Engine.
- 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
.
- Données matérialisées (
- tabnet-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
- Référence d'instance (
- 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.
- model-upload : importe le modèle du bucket Cloud Storage de l'utilisateur vers Vertex AI en tant que modèle Vertex AI.
- 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 surtrue
.
Présentation du pipeline TabNet HyperparameterTuningJob et de ses composants
Le pipeline TabNet HyperparameterTuningJob peut être illustré par le schéma suivant :
- feature-transform-engine : effectue une ingénierie des caractéristiques. Pour en savoir plus, consultez la page Feature Transform Engine.
- 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
.
- Données matérialisées (
- get-tabnet-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:
- Configuration du pipeline d'entraînement (
max_trial_count
,prediction_type
). - Statistiques des ensembles de données
dataset_stats
- 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.
- Configuration du pipeline d'entraînement (
- tabnet-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.
- Référence d'instance (
- 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
- 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.
- model-upload : importe le modèle du bucket Cloud Storage de l'utilisateur vers Vertex AI en tant que modèle Vertex AI.
- 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 surtrue
.