Flujo de trabajo tabular para el modelo amplio y profundo

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

El entrenamiento profundo y amplio entrena modelos lineales amplios y redes neuronales profundas a la vez. Combina los beneficios de la memorización y la generalización. En algunos experimentos en línea, los resultados mostraron que el entrenamiento profundo y amplio aumentó significativamente las adquisiciones de aplicaciones de Google Store en comparación con los modelos solo amplio y solo profundo.

Ventajas

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

Modelo amplio y profundo en Vertex AI Pipelines

El flujo de trabajo tabular para el algoritmo amplio y profundo 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 el modelo amplio y profundo:

  • 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 CustomJob del algoritmo de amplitud y profundidad

La canalización de CustomJob del algoritmo de amplitud y profundidad se puede ilustrar en el siguiente diagrama:

Canalización para CustomJob del algoritmo de amplitud y profundidad 

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. wide-and-deep-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 HyperparameterTuning del algoritmo de amplitud y profundidad

La canalización de HyperparameterTuningJob del algoritmo de amplitud y profundidad se puede ilustrar en el siguiente diagrama:

Canalización para HyperparameterTuningJob del algoritmo de amplitud y profundidad 

  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-wide-and-deep-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:

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