Fluxo de trabalho tabular para previsão

Neste documento, apresentamos uma visão geral do fluxo de trabalho tabular para previsão de pipeline e componentes. Para saber como treinar um modelo, consulte Treinar um modelo com fluxo de trabalho tabular para previsão.

O fluxo de trabalho tabular para previsão é o pipeline completo para tarefas de previsão. Ele é semelhante à API AutoML, mas permite que você escolha o que controlar e o que automatizar. Em vez de ter controles para o pipeline inteiro, você tem controles para cada etapa no pipeline. Esses controles de pipeline incluem o seguinte:

  • Divisão de dados
  • Engenharia de atributos
  • Pesquisa de arquitetura
  • Treinamento de modelo
  • Conjunto de modelos

Benefícios

Veja a seguir alguns dos benefícios do fluxo de trabalho tabular para previsão:

  • Suporta conjuntos de dados grandes com tamanho de até 1 TB e até 200 colunas.
  • Permite melhorar a estabilidade e reduzir o tempo de treinamento limitando o espaço de pesquisa de tipos de arquitetura ou pulando a pesquisa de arquitetura.
  • Permite melhorar a velocidade do treinamento selecionando manualmente o hardware usado para pesquisa de treinamento e arquitetura.
  • Para alguns métodos de treinamento de modelo, é possível reduzir o tamanho do modelo e melhorar a latência alterando o tamanho do conjunto.
  • Cada componente pode ser inspecionado em uma ótima interface de gráfico de pipelines que permite ver as tabelas de dados transformadas, as arquiteturas de modelos avaliadas e muitos outros detalhes.
  • Os componentes têm mais flexibilidade e transparência, como personalização de parâmetros, hardware, status do processo de visualização, registros e muito mais.

Previsão em pipelines da Vertex AI

O fluxo de trabalho tabular para previsão é uma instância gerenciada do Vertex AI Pipelines.

O Vertex AI Pipelines é um serviço sem servidor que executa pipelines do Kubeflow. É possível usar pipelines para automatizar e monitorar suas tarefas de machine learning e de preparação de dados. Cada etapa em um pipeline executa parte do fluxo de trabalho do pipeline. Por exemplo, um pipeline pode incluir etapas para dividir dados, transformar tipos de dados e treinar um modelo. Como as etapas são instâncias de componentes do pipeline, as etapas têm entradas, saídas e uma imagem de contêiner. As entradas de etapa podem ser definidas nas entradas do pipeline ou elas podem depender da saída de outras etapas dentro do pipeline. Essas dependências definem o fluxo de trabalho do pipeline como um gráfico acíclico dirigido.

Visão geral do pipeline e dos componentes

O diagrama a seguir mostra o pipeline de modelagem do Fluxo de trabalho tabular para previsão:

Pipeline para previsão 

Estes são os componentes do pipeline:

  1. feature-transform-engine: executa a engenharia de atributos. Consulte Feature Transform Engine para saber mais detalhes.
  2. training-configurator-and-validator: valide a configuração do treinamento e gere os metadados de treinamento.

    Entrada:

    • instance_schema: esquema de instâncias na especificação da OpenAPI, que descreve os tipos de dados dos dados de previsão.
    • dataset_stats: estatísticas que descrevem o conjunto de dados brutos. Por exemplo, dataset_stats fornece o número de linhas no conjunto de dados.
    • training_schema: esquema de dados de treinamento na especificação da OpenAPI, que descreve os tipos de dados dos dados de treinamento.
  3. split-materialized-data: divida os dados materializados em um conjunto de treinamento, de avaliação e de teste.

    Entrada:

    • materialized_data: dados materializados.

    Saída:

    • materialized_train_split: divisão de treinamento materializada.
    • materialized_eval_split: divisão de avaliação materializada.
    • materialized_test_split: conjunto de teste materializado.
  4. calculate-training-parameters-2: calcula a duração do ambiente de execução esperada para automl-forecasting-stage-1-tuner.

  5. get-hyperparameter-tuning-results: opcional: se você configurou o pipeline para pular a pesquisa de arquitetura, carregue os resultados do ajuste de hiperparâmetro da execução de um pipeline anterior.

  6. Executa a pesquisa de arquitetura de modelo e ajusta hiperparâmetros (automl-forecasting-stage-1-tuner) ou usa os resultados de ajuste de hiperparâmetros de uma execução de pipeline anterior (automl-forecasting-stage-2-tuner).

    • Uma arquitetura é definida por um conjunto de hiperparâmetros.
    • Os hiperparâmetros incluem o tipo de modelo e os parâmetros do modelo.
    • Os tipos de modelo considerados são redes neurais e árvores aprimoradas.
    • Um modelo é treinado para cada arquitetura considerada.

    Entrada:

    • materialized_train_split: divisão de treinamento materializada.
    • materialized_eval_split: divisão de avaliação materializada.
    • artifact: resultados do ajuste de hiperparâmetros de uma execução de pipeline anterior. Esse artefato será uma entrada somente se você tiver configurado o pipeline para pular a pesquisa de arquitetura.

    Saída:

    • tuning_result_output: saída de ajuste.
  7. get-prediction-image-uri-2: produza o URI de imagem de previsão correto com base no tipo de modelo.

  8. automl-forecasting-ensemble-2: montar as melhores arquiteturas para produzir um modelo final.

    Entrada:

    • tuning_result_output: saída de ajuste.

    Saída:

    • unmanaged_container_model: modelo de saída.
  9. model-upload-2: faça o upload do modelo.

    Entrada:

    • unmanaged_container_model: modelo de saída.

    Saída:

    • model: modelo da Vertex AI
  10. should_run_model_evaluation: opcional: use o conjunto de teste para calcular as métricas de avaliação.

A seguir