Este documento oferece uma vista geral do fluxo de trabalho tabular para pipelines e componentes da TabNet. Para preparar um modelo com o TabNet, consulte o artigo Prepare um modelo com o TabNet.
A TabNet usa a atenção sequencial para escolher as funcionalidades a partir das quais raciocinar em cada etapa de decisão. Isto promove a interpretabilidade e a aprendizagem mais eficiente, uma vez que a capacidade de aprendizagem é usada para as funcionalidades mais relevantes.
Vantagens
- Seleciona automaticamente o espaço de pesquisa de hiperparâmetros adequado com base no tamanho do conjunto de dados, no tipo de inferência e no orçamento de preparação.
- Integrado com o Vertex AI. O modelo preparado é um modelo do Vertex AI. Pode executar inferências em lote ou implementar o modelo para inferências online imediatamente.
- Oferece interpretabilidade inerente do modelo. Pode obter informações sobre as funcionalidades que a TabNet usou para tomar a sua decisão.
- Suporta a preparação de GPUs.
TabNet no Vertex AI Pipelines
O fluxo de trabalho tabular para o TabNet é uma instância gerida do Vertex AI Pipelines.
O Vertex AI Pipelines é um serviço sem servidor que executa pipelines Kubeflow. Pode usar pipelines para automatizar e monitorizar as suas tarefas de aprendizagem automática e preparação de dados. Cada passo num pipeline executa parte do fluxo de trabalho do pipeline. Por exemplo, um pipeline pode incluir passos para dividir dados, transformar tipos de dados e preparar um modelo. Uma vez que os passos são instâncias de componentes do pipeline, têm entradas, saídas e uma imagem de contentor. As entradas dos passos podem ser definidas a partir das entradas do pipeline ou podem depender da saída de outros passos neste pipeline. Estas dependências definem o fluxo de trabalho do pipeline como um gráfico acíclico orientado.
O fluxo de trabalho tabular para o TabNet oferece duas versões:
- O HyperparameterTuningJob procura o melhor conjunto de valores de hiperparâmetros a usar para a preparação do modelo.
- CustomJob permite-lhe especificar os valores dos hiperparâmetros a usar para a preparação do modelo. Se souber exatamente os valores dos hiperparâmetros de que precisa, especifique-os em vez de os procurar e poupe recursos de preparação.
Vista geral do pipeline e dos componentes do CustomJob da TabNet
O diagrama seguinte ilustra o pipeline CustomJob do TabNet:
Os componentes do pipeline são:
- feature-transform-engine: realizar engenharia de funcionalidades. Consulte o Feature Transform Engine para ver detalhes.
- split-materialized-data:
divida os dados materializados num conjunto de preparação, num conjunto de avaliação e num conjunto de teste.
Entrada:
- Dados materializados
materialized_data
.
Saída:
- Divisão de preparação materializada:
materialized_train_split
. - Divisão de avaliação materializada
materialized_eval_split
. - Conjunto de teste materializado
materialized_test_split
.
- Dados materializados
- tabnet-trainer:
realiza a preparação do modelo.
Entrada:
- Base da instância
instance_baseline
. - Esquema de preparação
training_schema
. - Transformar saída
transform_output
. - Divisão de comboio materializada
materialized_train_split
. - Divisão de avaliação materializada
materialized_eval_split
. - Conjunto de teste materializado
materialized_test_split
.
Saída:
- Modelo final
- Base da instância
- automl-tabular-infra-validator: valide o modelo preparado enviando um pedido de previsão e verificando se é concluído com êxito.
- model-upload: carregar o modelo do contentor do Google Cloud Storage do utilizador para o Vertex AI como um modelo do Vertex AI.
- condition-run-evaluation-2:
Opcional. Use o conjunto de testes para calcular as métricas de avaliação. Só é executada quando
run_evaluation
está definido comotrue
.
Vista geral do pipeline e dos componentes do HyperparameterTuningJob da TabNet
O diagrama seguinte ilustra o pipeline HyperparameterTuningJob da TabNet:
- feature-transform-engine: realizar engenharia de funcionalidades. Consulte o Feature Transform Engine para ver detalhes.
- split-materialized-data:
divida os dados materializados num conjunto de preparação, num conjunto de avaliação e num conjunto de teste.
Entrada:
- Dados materializados
materialized_data
.
Saída:
- Divisão de preparação materializada:
materialized_train_split
. - Divisão de avaliação materializada
materialized_eval_split
. - Conjunto de teste materializado
materialized_test_split
.
- Dados materializados
- get-tabnet-study-spec-parameters:
Gere a especificação do estudo com base numa configuração do pipeline de preparação. Se o utilizador fornecer valores para
study_spec_parameters_override
, use esses valores para substituir os valores da especificação do estudo.Entrada:
- Configuração do pipeline de preparação (
max_trial_count
,prediction_type
). - Estatísticas do conjunto de dados
dataset_stats
. - Substituição opcional dos parâmetros da especificação do estudo
study_spec_parameters_override
.
Saída:
- Lista final de hiperparâmetros e respetivos intervalos para a tarefa de hiperaperfeiçoamento dos parâmetros.
- Configuração do pipeline de preparação (
- tabnet-hyperparameter-tuning-job:
Realize uma ou mais experiências de hiperaperfeiçoamento dos parâmetros.
Entrada:
- Base da instância
instance_baseline
. - Esquema de preparação
training_schema
. - Transformar saída
transform_output
. - Divisão de comboio materializada
materialized_train_split
. - Divisão de avaliação materializada
materialized_eval_split
. - Conjunto de teste materializado
materialized_test_split
. - Lista de hiperparâmetros e respetivos intervalos para a tarefa de hiperaperfeiçoamento dos parâmetros.
- Base da instância
- get-best-hyperparameter-tuning-job-trial:
selecione o modelo da melhor tentativa de tarefa de aperfeiçoamento de hiperparâmetros do passo anterior.
Saída:
- Modelo final
- automl-tabular-infra-validator: valide o modelo preparado enviando um pedido de previsão e verificando se é concluído com êxito.
- model-upload: carregar o modelo do contentor do Google Cloud Storage do utilizador para o Vertex AI como um modelo do Vertex AI.
- condition-run-evaluation-2:
Opcional. Use o conjunto de testes para calcular as métricas de avaliação. Só é executada quando
run_evaluation
está definido comotrue
.