Flujo de trabajo tabular para TabNet

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:

Flujo de procesamiento de CustomJob de TabNet 

Los componentes de la canalización son los siguientes:

  1. feature-transform-engine: realiza la ingeniería de funciones. Para obtener más información, consulta Feature Transform Engine.
  2. 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.
  3. 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
  4. automl-tabular-infra-validator valida el modelo entrenado enviando una solicitud de predicción y comprobando si se completa correctamente.
  5. model-upload: sube el modelo del bucket de Cloud Storage del usuario a Vertex AI como modelo de Vertex AI.
  6. 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 como true.

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:

Pipeline de TabNet HyperparameterTuningJob 

  1. feature-transform-engine: realiza la ingeniería de funciones. Para obtener más información, consulta Feature Transform Engine.
  2. 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.
  3. 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 y prediction_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.
  4. 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.
  5. 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
  6. automl-tabular-infra-validator valida el modelo entrenado enviando una solicitud de predicción y comprobando si se completa correctamente.
  7. model-upload: sube el modelo del bucket de Cloud Storage del usuario a Vertex AI como modelo de Vertex AI.
  8. 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 como true.

Siguientes pasos