Fluxo de trabalho tabular para TabNet

Este documento apresenta uma visão geral do fluxo de trabalho tabular para componentes e componentes do TabNet. Para saber como treinar um modelo com o TabNet, consulte Treinar um modelo com o TabNet.

A TabNet usa a atenção sequencial para escolher quais recursos usar em cada etapa de decisão. Isso promove interpretabilidade e aprendizado mais eficiente, porque a capacidade de aprendizado é usada para os atributos mais significativos.

Benefícios

  • Seleciona automaticamente o espaço de pesquisa de hiperparâmetros adequado com base no tamanho do conjunto de dados, no tipo de previsão e no orçamento de treinamento.
  • 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.
  • Fornece a interpretabilidade inerente do modelo. É possível receber insights sobre quais atributos a TabNet usou para tomar a decisão.
  • Oferece suporte ao treinamento de GPUs.

TabNet nos pipelines da Vertex AI

O fluxo de trabalho tabular para treinamento do TabNet é 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.

Duas versões do fluxo de trabalho tabular para o treinamento do TabNet 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 do pipeline e dos componentes do TabNet CustomJob

O pipeline do TabNet CustomJob pode ser ilustrado pelo seguinte diagrama:

Pipeline para CustomJob TabNet 

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. tabnet-trainer: realiza 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-validator: valida o modelo treinado enviando uma solicitação de previsão e verificando se ele foi concluído.
  5. model-upload: faça 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 do TabNet HyperparameterTuningJob

O pipeline do TabNet HyperparameterTuningJob pode ser ilustrado pelo diagrama a seguir:

Pipeline para o HyperparameterTuningJob do TabNet 

  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-tabnet-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:

    • Configuração do pipeline de treinamento (max_trial_count, prediction_type).
    • Estatísticas do conjunto de dados dataset_stats
    • 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. tabnet-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-validator: valida o modelo treinado enviando uma solicitação de previsão e verificando se ele foi concluído.
  7. model-upload: faça 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