Fluxo de trabalho tabular para a TabNet

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:

Pipeline para o CustomJob TabNet 

Os componentes do pipeline são:

  1. feature-transform-engine: realizar engenharia de funcionalidades. Consulte o Feature Transform Engine para ver detalhes.
  2. 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.
  3. 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
  4. automl-tabular-infra-validator: valide o modelo preparado enviando um pedido de previsão e verificando se é concluído com êxito.
  5. model-upload: carregar o modelo do contentor do Google Cloud Storage do utilizador para o Vertex AI como um modelo do Vertex AI.
  6. 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 como true.

Vista geral do pipeline e dos componentes do HyperparameterTuningJob da TabNet

O diagrama seguinte ilustra o pipeline HyperparameterTuningJob da TabNet:

Pipeline para TabNet HyperparameterTuningJob 

  1. feature-transform-engine: realizar engenharia de funcionalidades. Consulte o Feature Transform Engine para ver detalhes.
  2. 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.
  3. 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.
  4. 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.
  5. 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
  6. automl-tabular-infra-validator: valide o modelo preparado enviando um pedido de previsão e verificando se é concluído com êxito.
  7. model-upload: carregar o modelo do contentor do Google Cloud Storage do utilizador para o Vertex AI como um modelo do Vertex AI.
  8. 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 como true.

O que se segue?