Flujo de trabajo tabular para modelos profundos y amplios

En este documento se ofrece una descripción general del flujo de trabajo tabular para las canalizaciones y los componentes de Wide & Deep. Para entrenar un modelo con Wide & Deep, consulta Entrenar un modelo con Wide & Deep.

Wide & Deep entrena conjuntamente modelos lineales amplios y redes neuronales profundas. Combina las ventajas de la memorización y la generalización. En algunos experimentos online, los resultados mostraron que Wide & Deep aumentó significativamente las adquisiciones de aplicaciones de Google Store en comparación con los modelos de solo ancho y solo profundidad.

Ventajas

  • 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.

Wide & Deep en Vertex AI Pipelines

Tabular Workflow for Wide & Deep 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.

Hay dos versiones del flujo de trabajo tabular para modelos profundos y amplios:

  • 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 Wide & Deep

El siguiente diagrama muestra el flujo de procesamiento de Wide & Deep CustomJob:

Canalización de Wide & Deep CustomJob 

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. wide-and-deep-trainer realiza el entrenamiento del 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 de la canalización y los componentes de Wide & Deep HyperparameterTuningJob

El siguiente diagrama muestra la canalización Wide & Deep HyperparameterTuningJob:

Pipeline para Wide & Deep 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-wide-and-deep-study-spec-parameters genera la especificación del estudio a partir 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:

    • 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. wide-and-deep-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