Fluxo de trabalho tabular para amplo e profundo

Este documento apresenta uma visão geral do fluxo de trabalho tabular para componentes e pipelines de amplitude e profundidade. Para aprender a treinar um modelo com amplitude e profundidade, consulte Treinar um modelo com amplitude e profundidade.

O modelo profundo e amplo treina em conjunto modelos lineares amplos e redes neurais profundas. Ele combina os benefícios de memorização e generalização. Em alguns experimentos on-line, os resultados mostraram que o modelo profundo e amplo aumentou significativamente aquisições de aplicativos da Google Store em comparação com os modelos somente amplos e somente profundos.

Benefícios

  • Integrado com a Vertex AI. O modelo treinado é um modelo da Vertex AI. Você pode executar previsões em lote ou implantar o modelo para previsões on-line imediatamente.

Treinamento profundo e amplo sobre pipelines da Vertex AI

O fluxo de trabalho tabular para treinamento amplo e profundo é uma instância gerenciada dos pipelines da Vertex AI.

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.

Duas versões do fluxo de trabalho tabular para treinamento amplo e profundo estão disponíveis:

  • HyperparameterTuningJob procura o melhor conjunto de valores de hiperparâmetros a serem usados para treinamento de modelos.
  • Com o CustomJob, é possível especificar os valores de hiperparâmetros a serem usados para o treinamento do modelo. Se você souber exatamente de quais valores de hiperparâmetro é necessário, especifique-os em vez de procurá-los e economizar recursos de treinamento.

Visão geral de pipelines e componentes personalizados e profundos do job

O pipeline CustomJob de amplitude e profundidade pode ser ilustrado pelo diagrama a seguir:

Pipeline para CustomJob de amplitude e profundidade 

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. split-materialized-data: divida os dados materializados em um conjunto de treinamento, de avaliação e de teste.

    Entrada:

    • Dados materializados materialized_data.

    Saída:

    • Divisão de treinamento materializada materialized_train_split.
    • Divisão de avaliação materializada materialized_eval_split.
    • Conjunto de teste materializado materialized_test_split.
  3. wide-and-deep-trainer: realize o treinamento de modelo.

    Entrada:

    • Valor de referência de instância instance_baseline.
    • Esquema de treinamento training_schema.
    • Saída de transformação transform_output.
    • Divisão materializada do trem materialized_train_split.
    • Divisão de avaliação materializada materialized_eval_split.
    • Conjunto de teste materializado materialized_test_split.

    Saída:

    • modelo final
  4. automl-tabular-infra-validador: valida o modelo treinado enviando uma solicitação de previsão e verificando se ele foi concluído.
  5. model-upload: fazer upload do modelo do bucket do Cloud Storage do usuário para a Vertex AI como um modelo da Vertex AI.
  6. condition-run-evaluate-2: Opcional. Use o conjunto de teste para calcular as métricas de avaliação. É executado apenas quando run_evaluation está definido como true.

Visão geral do pipeline e dos componentes HyperparameterTuningJob amplo e profundo

O pipeline HyperparameterTuningJob de amplitude e profundidade pode ser ilustrado pelo diagrama a seguir:

Pipeline para HyperparameterTuningJob amplo e profundo 

  1. feature-transform-engine: executa a engenharia de atributos. Consulte Feature Transform Engine para saber mais detalhes.
  2. split-materialized-data: divida os dados materializados em um conjunto de treinamento, de avaliação e de teste.

    Entrada:

    • Dados materializados materialized_data.

    Saída:

    • Divisão de treinamento materializada materialized_train_split.
    • Divisão de avaliação materializada materialized_eval_split.
    • Conjunto de teste materializado materialized_test_split.
  3. get-wide-and-deep-study-spec-parameters: gere a especificação do estudo com base em uma configuração do pipeline de treinamento. Se o usuário fornecer valores para study_spec_parameters_override, use-os para substituir os valores da especificação do estudo.

    Entrada:

    • Substituição opcional dos parâmetros de especificações de estudo study_spec_parameters_override.

    Saída:

    • Lista final de hiperparâmetros e os intervalos deles para o job de ajuste de hiperparâmetros.
  4. wide-and-deep-hyperparameter-tuning-job: execute um ou mais testes de ajuste de hiperparâmetro.

    Entrada:

    • Valor de referência de instância instance_baseline.
    • Esquema de treinamento training_schema.
    • Saída de transformação transform_output.
    • Divisão materializada do trem materialized_train_split.
    • Divisão de avaliação materializada materialized_eval_split.
    • Conjunto de teste materializado materialized_test_split.
    • Lista de hiperparâmetros e os intervalos deles para o job de ajuste de hiperparâmetros.
  5. get-best-hyperparameter-Tuning-job-trial: selecione o modelo usando o melhor teste de job de ajuste de hiperparâmetros da etapa anterior.

    Saída:

    • modelo final
  6. automl-tabular-infra-validador: valida o modelo treinado enviando uma solicitação de previsão e verificando se ele foi concluído.
  7. model-upload: fazer upload do modelo do bucket do Cloud Storage do usuário para a Vertex AI como um modelo da Vertex AI.
  8. condition-run-evaluate-2: Opcional. Use o conjunto de teste para calcular as métricas de avaliação. É executado apenas quando run_evaluation está definido como true.

A seguir