En este documento se ofrece una descripción general del flujo de trabajo tabular de las canalizaciones y los componentes de TabNet. Para entrenar un modelo con TabNet, consulta Entrenar un modelo con TabNet.
TabNet usa la atención secuencial para elegir las características que se deben tener en cuenta en cada paso de la decisión. Esto favorece la interpretabilidad y un aprendizaje más eficiente, ya que la capacidad de aprendizaje se utiliza para las funciones más destacadas.
Ventajas
- Selecciona automáticamente el espacio de búsqueda de hiperparámetros adecuado en función del tamaño del conjunto de datos, el tipo de inferencia y el presupuesto de entrenamiento.
- Integrado con Vertex AI. El modelo entrenado es un modelo de Vertex AI. Puedes ejecutar inferencias por lotes o desplegar el modelo para hacer inferencias online de inmediato.
- Proporciona una interpretabilidad inherente del modelo. Puedes consultar qué funciones ha usado TabNet para tomar su decisión.
- Admite el entrenamiento con GPU.
TabNet en Vertex AI Pipelines
Tabular Workflow for TabNet es una instancia gestionada de Vertex AI Pipelines.
Vertex AI Pipelines es un servicio sin servidor que ejecuta flujos de procesamiento de Kubeflow. Puedes usar las pipelines para automatizar y monitorizar tus tareas de aprendizaje automático y preparación de datos. Cada paso de una pipeline realiza una parte del flujo de trabajo de la canalización. Por ejemplo, una canalización puede incluir pasos para dividir datos, transformar tipos de datos y entrenar un modelo. Como los pasos son instancias de componentes de flujo de trabajo, tienen entradas, salidas y una imagen de contenedor. Las entradas de los pasos se pueden definir a partir de las entradas de la canalización o pueden depender de la salida de otros pasos de la canalización. Estas dependencias definen el flujo de trabajo de la canalización como un grafo acíclico dirigido.
Tabular Workflow para TabNet ofrece dos versiones:
- HyperparameterTuningJob busca el mejor conjunto de valores de hiperparámetros que se puede usar para entrenar un modelo.
- CustomJob te permite especificar los valores de los hiperparámetros que se usarán para entrenar el modelo. Si sabes exactamente qué valores de hiperparámetros necesitas, especifícalos en lugar de buscarlos y ahorra recursos de entrenamiento.
Descripción general de la canalización y los componentes de CustomJob de TabNet
En el siguiente diagrama se muestra la canalización de CustomJob de TabNet:
Los componentes de la canalización son los siguientes:
- feature-transform-engine: realiza la ingeniería de funciones. Para obtener más información, consulta Feature Transform Engine.
- split-materialized-data:
divide los datos materializados en un conjunto de entrenamiento, un conjunto de evaluación y un conjunto de prueba.
Objetivo:
- Datos materializados
materialized_data
.
Resultado:
- División de entrenamiento materializada
materialized_train_split
. - División de la evaluación materializada
materialized_eval_split
. - Conjunto de pruebas materializado
materialized_test_split
.
- Datos materializados
- tabnet-trainer:
entrena el modelo.
Objetivo:
- Valor de referencia de la instancia
instance_baseline
. - Esquema de entrenamiento
training_schema
. - Transformar salida
transform_output
. - División del tren materializada
materialized_train_split
. - División de la evaluación materializada
materialized_eval_split
. - Conjunto de pruebas materializado
materialized_test_split
.
Resultado:
- Modelo final
- Valor de referencia de la instancia
- automl-tabular-infra-validator valida el modelo entrenado enviando una solicitud de predicción y comprobando si se completa correctamente.
- model-upload: sube el modelo del bucket de Cloud Storage del usuario a Vertex AI como modelo de Vertex AI.
- condition-run-evaluation-2:
Opcional. Usa el conjunto de prueba para calcular las métricas de evaluación. Solo se ejecuta cuando
run_evaluation
se define comotrue
.
Descripción general del flujo de procesamiento y los componentes de TabNet HyperparameterTuningJob
En el siguiente diagrama se muestra la canalización HyperparameterTuningJob de TabNet:
- feature-transform-engine: realiza la ingeniería de funciones. Para obtener más información, consulta Feature Transform Engine.
- split-materialized-data:
divide los datos materializados en un conjunto de entrenamiento, un conjunto de evaluación y un conjunto de prueba.
Objetivo:
- Datos materializados
materialized_data
.
Resultado:
- División de entrenamiento materializada
materialized_train_split
. - División de la evaluación materializada
materialized_eval_split
. - Conjunto de pruebas materializado
materialized_test_split
.
- Datos materializados
- get-tabnet-study-spec-parameters
genera la especificación del estudio en función de una configuración de la canalización de entrenamiento. Si el usuario proporciona valores para
study_spec_parameters_override
, úsalos para anular los valores de la especificación del estudio.Objetivo:
- Configuración del flujo de procesamiento de entrenamiento (
max_trial_count
yprediction_type
). - Estadísticas del conjunto de datos
dataset_stats
. - Anulación opcional de los parámetros de especificación del estudio
study_spec_parameters_override
.
Resultado:
- Lista final de hiperparámetros y sus intervalos para la tarea de ajuste de hiperparámetros.
- Configuración del flujo de procesamiento de entrenamiento (
- tabnet-hyperparameter-tuning-job
realiza una o varias pruebas de ajuste de hiperparámetros.
Objetivo:
- Valor de referencia de la instancia
instance_baseline
. - Esquema de entrenamiento
training_schema
. - Transformar salida
transform_output
. - División del tren materializada
materialized_train_split
. - División de la evaluación materializada
materialized_eval_split
. - Conjunto de pruebas materializado
materialized_test_split
. - Lista de hiperparámetros y sus intervalos para la tarea de ajuste de hiperparámetros.
- Valor de referencia de la instancia
- get-best-hyperparameter-tuning-job-trial
selecciona el modelo de la mejor prueba de tarea de ajuste de hiperparámetros del paso anterior.
Resultado:
- Modelo final
- automl-tabular-infra-validator valida el modelo entrenado enviando una solicitud de predicción y comprobando si se completa correctamente.
- model-upload: sube el modelo del bucket de Cloud Storage del usuario a Vertex AI como modelo de Vertex AI.
- condition-run-evaluation-2:
Opcional. Usa el conjunto de prueba para calcular las métricas de evaluación. Solo se ejecuta cuando
run_evaluation
se define comotrue
.