Flujo de trabajo tabular para la previsión

En este documento, se proporciona una descripción general de la canalización y los componentes del flujo de trabajo tabular para la previsión. Si deseas obtener información sobre cómo entrenar un modelo, consulta Entrena un modelo con el flujo de trabajo tabular para la previsión.

El flujo de trabajo tabular para la previsión es la canalización completa para las tareas de previsión. Es similar a la API de AutoML, pero te permite elegir qué controlar y qué automatizar. En lugar de tener controles para toda la canalización, tienes controles para cada paso de la canalización. Estos controles de canalización incluyen lo siguiente:

  • División de datos
  • Ingeniería de atributos
  • Búsqueda de arquitectura
  • Entrenamiento del modelo
  • Ensamble de modelos

Ventajas

A continuación, se muestran algunos de los beneficios del flujo de trabajo tabular para la previsión:

  • Admite conjuntos de datos grandes de hasta 1 TB de tamaño y hasta 200 columnas.
  • Te permite mejorar la estabilidad y reducir el tiempo de entrenamiento, ya que limita el espacio de búsqueda de los tipos de arquitectura, o bien omite la búsqueda de arquitectura.
  • Te permite mejorar la velocidad de entrenamiento mediante la selección manual del hardware usado para el entrenamiento y la búsqueda de arquitectura.
  • Para algunos métodos de entrenamiento de modelos, te permite reducir el tamaño del modelo y mejorar la latencia si cambias el tamaño del ensamble.
  • Cada componente se puede inspeccionar en una interfaz potente de gráficos de canalización que te permite ver las tablas de datos transformadas, las arquitecturas de modelos evaluados y muchos más detalles.
  • Cada componente obtiene flexibilidad y transparencia extendidas, como la capacidad de personalizar parámetros y hardware, ver el estado de los procesos, registros y mucho más.

Previsión en Vertex AI Pipelines

El flujo de trabajo tabular para la previsión 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.

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

En el siguiente diagrama, se muestra la canalización de modelado para el flujo de trabajo tabular para la previsión:

Canalización para la previsión 

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. training-configurator-and-validator: Valida la configuración de entrenamiento y genera los metadatos de entrenamiento.

    Entrada:

    • instance_schema: Esquema de instancia en la especificación de OpenAPI, que describe los tipos de datos de los datos de predicción.
    • dataset_stats: Estadísticas que describen el conjunto de datos sin procesar. Por ejemplo, dataset_stats proporciona la cantidad de filas en el conjunto de datos.
    • training_schema: Esquema de datos de entrenamiento en la especificación de OpenAPI, que describe los tipos de datos de los datos de entrenamiento.
  3. split-materialized-data: divide los datos materializados en un conjunto de entrenamiento, un conjunto de evaluación y un conjunto de prueba.

    Entrada:

    • materialized_data: Datos materializados.

    Resultado:

    • materialized_train_split: División del entrenamiento materializada.
    • materialized_eval_split: División de la evaluación materializada.
    • materialized_test_split: Conjunto de prueba materializado.
  4. calculate-training-parameters-2: calcula la duración esperada del entorno de ejecución para automl-forecasting-stage-1-tuner.

  5. get-hyperparameter-tuning-results - Optional: Si configuraste la canalización para omitir la búsqueda de arquitectura, carga los resultados del ajuste de hiperparámetros de una ejecución de canalización anterior.

  6. Realiza una búsqueda de arquitectura de modelos y ajusta los hiperparámetros (automl-forecasting-stage-1-tuner), o usa los resultados de ajuste de hiperparámetros de una ejecución de canalización anterior (automl-forecasting-stage-2-tuner).

    • Una arquitectura se define mediante un conjunto de hiperparámetros.
    • Estos hiperparámetros incluyen el tipo y los parámetros del modelo.
    • Los tipos de modelos que se consideran son redes neuronales y árboles con boosting.
    • Se entrena un modelo para cada arquitectura considerada.

    Entrada:

    • materialized_train_split: División del entrenamiento materializada.
    • materialized_eval_split: División de la evaluación materializada.
    • artifact: Resultados del ajuste de hiperparámetros de una ejecución de canalización anterior. Este artefacto es una entrada solo si configuraste la canalización para omitir la búsqueda de arquitectura.

    Resultado:

    • tuning_result_output: Resultado de ajuste.
  7. get-prediction-image-uri-2: Genera la URI de imagen de predicción correcta según el tipo de modelo.

  8. automl-forecasting-ensemble-2: Reúne las mejores arquitecturas para producir un modelo final.

    Entrada:

    • tuning_result_output: Resultado de ajuste.

    Resultado:

    • unmanaged_container_model: Modelo de salida.
  9. model-upload2: Sube el modelo.

    Entrada:

    • unmanaged_container_model: Modelo de salida.

    Resultado:

    • model: Modelo de Vertex AI.
  10. should_run_model_evaluation - Opcional: Usa el conjunto de prueba para calcular las métricas de evaluación.

¿Qué sigue?