Prepare um modelo com o TabNet

Esta página mostra como preparar um modelo de classificação ou regressão a partir de um conjunto de dados tabulares com o fluxo de trabalho tabular para o TabNet.

Estão disponíveis duas versões do fluxo de trabalho tabular para o TabNet:

  • 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.

Para saber mais sobre as contas de serviço que este fluxo de trabalho usa, consulte o artigo Contas de serviço para fluxos de trabalho tabulares.

APIs Workflow

Este fluxo de trabalho usa as seguintes APIs:

  • Vertex AI
  • Dataflow
  • Compute Engine
  • Cloud Storage

Prepare um modelo com HyperparameterTuningJob

O seguinte exemplo de código demonstra como executar um pipeline HyperparameterTuningJob:

pipeline_job = aiplatform.PipelineJob(
    ...
    template_path=template_path,
    parameter_values=parameter_values,
    ...
)
pipeline_job.run(service_account=SERVICE_ACCOUNT)

O parâmetro service_account opcional em pipeline_job.run() permite-lhe definir a conta de serviço do Vertex AI Pipelines para uma conta à sua escolha.

O pipeline e os valores dos parâmetros são definidos pela seguinte função. Os dados de preparação podem ser um ficheiro CSV no Cloud Storage ou uma tabela no BigQuery.

template_path, parameter_values =  automl_tabular_utils.get_tabnet_hyperparameter_tuning_job_pipeline_and_parameters(...)

Segue-se um subconjunto de parâmetros get_tabnet_hyperparameter_tuning_job_pipeline_and_parameters:

Nome do parâmetro Tipo Definição
data_source_csv_filenames String Um URI para um CSV armazenado no Cloud Storage.
data_source_bigquery_table_path String Um URI para uma tabela do BigQuery.
dataflow_service_account String (Opcional) Conta de serviço personalizada para executar tarefas do Dataflow. A tarefa do Dataflow pode ser configurada para usar IPs privados e uma sub-rede da VPC específica. Este parâmetro funciona como uma substituição da conta de serviço do trabalhador do Dataflow predefinida.
study_spec_parameters_override List[Dict[String, Any]] (Opcional) Uma substituição para o aperfeiçoamento de hiperparâmetros. Este parâmetro pode estar vazio ou conter um ou mais dos hiperparâmetros possíveis. Se um valor de hiperparâmetro não estiver definido, o Vertex AI usa o intervalo de otimização predefinido para o hiperparâmetro.

Para configurar os hiperparâmetros através do parâmetro study_spec_parameters_override, use a função auxiliar do Vertex AI get_tabnet_study_spec_parameters_override. A função tem as seguintes entradas:

  • dataset_size_bucket: um contentor para o tamanho do conjunto de dados
    • 'small': < 1 milhão de linhas
    • 'medium': 1 milhão a 100 milhões de linhas
    • 'large': > 100 milhões de linhas
  • training_budget_bucket: um contentor para o orçamento de formação
    • 'small': < 600 €
    • 'medium': $600 - $2400
    • 'large': > 2400 €
  • prediction_type: o tipo de inferência pretendido

A função get_tabnet_study_spec_parameters_override devolve uma lista de hiperparâmetros e intervalos.

Segue-se um exemplo de como usar a função get_tabnet_study_spec_parameters_override:

study_spec_parameters_override = automl_tabular_utils.get_tabnet_study_spec_parameters_override(
    dataset_size_bucket="small",
    prediction_type="classification",
    training_budget_bucket="small",
)

Prepare um modelo com CustomJob

O seguinte exemplo de código demonstra como executar um pipeline CustomJob:

pipeline_job = aiplatform.PipelineJob(
    ...
    template_path=template_path,
    parameter_values=parameter_values,
    ...
)
pipeline_job.run(service_account=SERVICE_ACCOUNT)

O parâmetro service_account opcional em pipeline_job.run() permite-lhe definir a conta de serviço do Vertex AI Pipelines para uma conta à sua escolha.

O pipeline e os valores dos parâmetros são definidos pela seguinte função. Os dados de preparação podem ser um ficheiro CSV no Cloud Storage ou uma tabela no BigQuery.

template_path, parameter_values = automl_tabular_utils.get_tabnet_trainer_pipeline_and_parameters(...)

Segue-se um subconjunto de parâmetros get_tabnet_trainer_pipeline_and_parameters:

Nome do parâmetro Tipo Definição
data_source_csv_filenames String Um URI para um CSV armazenado no Cloud Storage.
data_source_bigquery_table_path String Um URI para uma tabela do BigQuery.
dataflow_service_account String (Opcional) Conta de serviço personalizada para executar tarefas do Dataflow. A tarefa do Dataflow pode ser configurada para usar IPs privados e uma sub-rede da VPC específica. Este parâmetro funciona como uma substituição da conta de serviço do trabalhador do Dataflow predefinida.

O que se segue?

Quando tiver tudo pronto para fazer inferências com o seu modelo de classificação ou regressão, tem duas opções: