Flujo de trabajo tabular para hacer previsiones

En este documento se ofrece una descripción general del proceso y los componentes de Tabular Workflow for Forecasting. Para saber cómo entrenar un modelo, consulta Entrenar un modelo con el flujo de trabajo tabular para la previsión .

El flujo de trabajo tabular para las previsiones es la canalización completa para las tareas de previsión. Es similar a la API 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 la canalización incluyen lo siguiente:

  • División de datos
  • Ingeniería de funciones
  • Búsqueda de arquitectura
  • Preparación de modelos
  • Ensamblado de modelos

Ventajas

Estas son algunas de las ventajas de Tabular Workflow for Forecasting :

  • Admite conjuntos de datos de gran tamaño de hasta 1 TB y 200 columnas.
  • Te permite mejorar la estabilidad y reducir el tiempo de entrenamiento limitando el espacio de búsqueda de los tipos de arquitectura o saltándote la búsqueda de arquitectura.
  • Te permite mejorar la velocidad de entrenamiento seleccionando manualmente el hardware que se va a usar para el entrenamiento y la búsqueda de arquitectura.
  • Te permite reducir el tamaño del modelo y mejorar la latencia cambiando el tamaño del conjunto.
  • Cada componente se puede inspeccionar en una interfaz de gráfico de canalizaciones potente que te permite ver las tablas de datos transformadas, las arquitecturas de modelos evaluadas y muchos más detalles.
  • Cada componente obtiene más flexibilidad y transparencia, como la posibilidad de personalizar parámetros, hardware, ver el estado del proceso, los registros y más.

Previsiones en Vertex AI Pipelines

Tabular Workflow for Forecasting 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.

Descripción general de los flujos de procesamiento y los componentes

En el siguiente diagrama se muestra la canalización de modelado de Flujo de trabajo tabular para previsiones :

Flujo de procesamiento de previsión 

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

    Objetivo:

    • instance_schema: esquema de instancia en la especificación de OpenAPI, que describe los tipos de datos de los datos de inferencia.
    • dataset_stats: estadísticas que describen el conjunto de datos sin procesar. Por ejemplo, dataset_stats devuelve el número de filas del 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.

    Objetivo:

    • materialized_data: datos materializados.

    Resultado:

    • materialized_train_split: división de entrenamiento materializada.
    • materialized_eval_split: división de la evaluación materializada.
    • materialized_test_split: conjunto de datos de evaluación materializado.
  4. calculate-training-parameters-2: calcula la duración esperada del tiempo de ejecución de automl-forecasting-stage-1-tuner.

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

  6. Realiza una búsqueda de arquitectura de modelo y ajusta los hiperparámetros (automl-forecasting-stage-1-tuner) o usa los resultados del 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.
    • Los hiperparámetros incluyen el tipo de modelo y los parámetros del modelo.
    • Los tipos de modelos que se tienen en cuenta son las redes neuronales y los árboles de refuerzo.
    • Se entrena un modelo para cada arquitectura considerada.

    Objetivo:

    • materialized_train_split: división de entrenamiento materializada.
    • materialized_eval_split: división de la evaluación materializada.
    • artifact: resultados del ajuste de hiperparámetros de una ejecución de la canalización anterior. Este artefacto solo es una entrada si configura la canalización para que omita la búsqueda de arquitectura.

    Resultado:

    • tuning_result_output: salida de la optimización.
  7. get-prediction-image-uri-2 genera el URI de la imagen de inferencia correcto en función del tipo de modelo.

  8. automl-forecasting-ensemble-2 combina las mejores arquitecturas para producir un modelo final.

    Objetivo:

    • tuning_result_output: salida de la optimización.

    Resultado:

    • unmanaged_container_model: modelo de salida.
  9. model-upload-2: sube el modelo.

    Objetivo:

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

Siguientes pasos