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:
Estes são os componentes do pipeline:
- feature-transform-engine: executa a engenharia de atributos. Consulte Feature Transform Engine para saber mais detalhes.
- 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
.
- Dados materializados
- 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
- Valor de referência de instância
- automl-tabular-infra-validador: valida o modelo treinado enviando uma solicitação de previsão e verificando se ele foi concluído.
- model-upload: fazer upload do modelo do bucket do Cloud Storage do usuário para a Vertex AI como um modelo da Vertex AI.
- 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 comotrue
.
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:
- feature-transform-engine: executa a engenharia de atributos. Consulte Feature Transform Engine para saber mais detalhes.
- 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
.
- Dados materializados
- 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.
- Substituição opcional dos parâmetros de especificações de estudo
- 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.
- Valor de referência de instância
- 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
- automl-tabular-infra-validador: valida o modelo treinado enviando uma solicitação de previsão e verificando se ele foi concluído.
- model-upload: fazer upload do modelo do bucket do Cloud Storage do usuário para a Vertex AI como um modelo da Vertex AI.
- 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 comotrue
.
A seguir
- Treinar um modelo com Amplitude e profundidade.