Flujo de trabajo tabular para TabNet

En este documento, se proporciona una descripción general del flujo de trabajo tabular para las canalizaciones y los componentes de TabNet. Para aprender a entrenar un modelo con TabNet, consulta Entrena un modelo con TabNet.

TabNet usa la atención secuencial para elegir qué atributos razonar en cada paso de decisión. Esto promueve la interpretabilidad y el aprendizaje más eficiente, ya que la capacidad de aprendizaje se usa para los atributos más destacados.

Beneficios

  • Selecciona de forma automática el espacio de búsqueda de hiperparámetros adecuado en función del tamaño del conjunto de datos, el tipo de predicción y el presupuesto de entrenamiento.
  • Se integra en Vertex AI. El modelo entrenado es un modelo de Vertex AI. Puedes ejecutar predicciones por lotes o implementar el modelo para predicciones en línea de inmediato.
  • Proporciona interpretabilidad inherente del modelo. Puedes obtener información sobre las características que TabNet usó para tomar su decisión.
  • Admite el entrenamiento de GPU.

TabNet en Vertex AI Pipelines

Flujo de trabajo tabular para el entrenamiento de TabNet es una instancia administrada de Vertex AI Pipelines.

Vertex AI Pipelines es un servicio sin servidores que ejecuta canalizaciones de Kubeflow. Puedes usar canalizaciones para automatizar y supervisar tus tareas de preparación de datos y aprendizaje automático. Cada paso de una canalización realiza 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. Dado que los pasos son instancias de componentes de canalización, tienen entradas, salidas y una imagen de contenedor. Las entradas de pasos se pueden configurar a partir de las entradas de la canalización o pueden depender del resultado de otros pasos dentro de esta canalización. Estas dependencias definen el flujo de trabajo de la canalización como un grafo acíclico dirigido.

Hay dos versiones disponibles del flujo de trabajo tabular para TabNet:

  • HyperparameterTuningJob busca el mejor conjunto de valores de hiperparámetros para usar en el entrenamiento de modelos.
  • CustomJob te permite especificar los valores de hiperparámetros para usar en el entrenamiento de modelos. Si sabes con exactitud qué valores de hiperparámetros necesitas, puedes especificarlos en lugar de buscarlos y ahorrar en recursos de entrenamiento.

Descripción general de la canalización y los componentes de TabNet CustomJob

La canalización TabNet CustomJob se puede ilustrar en el siguiente diagrama:

Canalización para TabNet CustomJob 

Los componentes de canalización son los siguientes:

  1. feature-transform-engine: realiza la ingeniería de atributos. Consulta Feature Transform Engine para obtener más detalles.
  2. split-materialized-data: divide los datos materializados en un conjunto de entrenamiento, un conjunto de evaluación y un conjunto de prueba.

    Entrada:

    • Datos materializados materialized_data.

    Resultado:

    • División del entrenamiento materializada materialized_train_split.
    • División de la evaluación materializada materialized_eval_split.
    • Conjunto de prueba materializado materialized_test_split.
  3. tabnet-trainer: Realiza el entrenamiento de modelos.

    Entrada:

    • Modelo de referencia de la instancia instance_baseline.
    • Esquema de entrenamiento training_schema.
    • Resultado de la transformación transform_output.
    • División del entrenamiento materializada materialized_train_split.
    • División de la evaluación materializada materialized_eval_split.
    • Conjunto de prueba materializado materialized_test_split.

    Resultado:

    • Modelo final
  4. automl-tabular-infra-validator: Valida el modelo entrenado mediante una solicitud de predicción y verifica si se completa con éxito.
  5. model-upload: Sube el modelo del bucket de Cloud Storage del usuario a Vertex AI como un modelo de Vertex AI.
  6. condition-run-evaluation-2: opcional. Usa el conjunto de pruebas para calcular las métricas de evaluación. Se ejecuta solo cuando run_evaluation se establece como true.

Descripción general de la canalización y los componentes de HyperparameterTuningJob de TabNet

La canalización HyperparameterTuningJob de TabNet se puede ilustrar en el siguiente diagrama:

Canalización HyperparameterTuningJob de TabNet 

  1. feature-transform-engine: realiza la ingeniería de atributos. Consulta Feature Transform Engine para obtener más detalles.
  2. split-materialized-data: divide los datos materializados en un conjunto de entrenamiento, un conjunto de evaluación y un conjunto de prueba.

    Entrada:

    • Datos materializados materialized_data.

    Resultado:

    • División del entrenamiento materializada materialized_train_split.
    • División de la evaluación materializada materialized_eval_split.
    • Conjunto de prueba materializado materialized_test_split.
  3. get-tabnet-study-spec-parameters: Genera las especificaciones del estudio según una configuración de la canalización de entrenamiento. Si el usuario proporciona valores para study_spec_parameters_override, úsalos a fin de anular los valores de las especificaciones del estudio.

    Entrada:

    • Configuración de la canalización de entrenamiento (max_trial_count, prediction_type).
    • Estadísticas de conjuntos 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 rangos para el trabajo de ajuste de hiperparámetros.
  4. tabnet-hyperparameter-tuning-job: Realiza una o más pruebas del ajuste de hiperparámetros.

    Entrada:

    • Modelo de referencia de la instancia instance_baseline.
    • Esquema de entrenamiento training_schema.
    • Resultado de la transformación transform_output.
    • División del entrenamiento materializada materialized_train_split.
    • División de la evaluación materializada materialized_eval_split.
    • Conjunto de prueba materializado materialized_test_split.
    • Lista de hiperparámetros y sus rangos para el trabajo de ajuste de hiperparámetros.
  5. get-best-hyperparameter-tuning-job-trial: Selecciona el modelo de la mejor prueba del trabajo de ajuste de hiperparámetros del paso anterior.

    Resultado:

    • Modelo final
  6. automl-tabular-infra-validator: Valida el modelo entrenado mediante una solicitud de predicción y verifica si se completa con éxito.
  7. model-upload: Sube el modelo del bucket de Cloud Storage del usuario a Vertex AI como un modelo de Vertex AI.
  8. condition-run-evaluation-2: opcional. Usa el conjunto de pruebas para calcular las métricas de evaluación. Se ejecuta solo cuando run_evaluation se establece como true.

¿Qué sigue?