Addestra un modello con TabNet

Questa pagina mostra come addestrare un modello di classificazione o regressione da un set di dati tabulare con il flusso di lavoro tabulare per TabNet.

Sono disponibili due versioni del flusso di lavoro tabulare per TabNet:

  • HyperparameterTuningJob cerca il miglior insieme di valori degli iperparametri da utilizzare per l'addestramento del modello.
  • CustomJob consente di specificare i valori degli iperparametri da utilizzare per l'addestramento del modello. Se conosci esattamente i valori degli iperparametri di cui hai bisogno, puoi specificarli anziché cercarli e risparmiare sulle risorse di addestramento.

Per saperne di più sugli account di servizio utilizzati da questo flusso di lavoro, consulta Account di servizio per Tabular Workflows.

API Workflow

Questo flusso di lavoro utilizza le API seguenti:

  • Vertex AI
  • Dataflow
  • Compute Engine
  • Cloud Storage

Addestra un modello con HyperparameterTuningJob

Il seguente codice campione mostra come eseguire una pipeline HyperparameterTuningJob:

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

Il parametro facoltativo service_account in pipeline_job.run() consente di impostare l'account di servizio Vertex AI Pipelines su un account a tua scelta.

La pipeline e i valori parametro sono definiti dalla funzione riportata di seguito. I dati di addestramento possono essere un file CSV in Cloud Storage o una tabella in BigQuery.

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

Di seguito è riportato un sottoinsieme di parametri get_tabnet_hyperparameter_tuning_job_pipeline_and_parameters:

Nome parametro Tipo Definizione
data_source_csv_filenames Stringa Un URI per un file CSV archiviato in Cloud Storage.
data_source_bigquery_table_path Stringa Un URI per una tabella BigQuery.
dataflow_service_account Stringa (Facoltativo) Account di servizio personalizzato per eseguire i job Dataflow. Il job Dataflow può essere configurato per utilizzare IP privati e una subnet VPC specifica. Questo parametro agisce come un override per l'account di servizio worker predefinito di Dataflow.
study_spec_parameters_override Elenco[Detto[Stringa, Qualsiasi]] (Facoltativo) Un override per gli iperparametri di ottimizzazione. Questo parametro può essere vuoto o contenere uno o più iperparametri possibili. Se non viene impostato un valore dell'iperparametro, Vertex AI utilizza l'intervallo di ottimizzazione predefinito dell'iperparametro.

Se vuoi configurare gli iperparametri utilizzando il parametro study_spec_parameters_override, puoi utilizzare la funzione helper get_tabnet_study_spec_parameters_override di Vertex AI. La funzione prevede i seguenti input:

  • dataset_size_bucket: un bucket per la dimensione del set di dati
    • 'small': < 1 milione di righe
    • 'medium': da 1 milione a 100 milioni di righe
    • 'large': > 100 M di righe
  • training_budget_bucket: un bucket per il budget per l'addestramento
    • 'small': < $600
    • "medium": tra 600 $ - 2400 $
    • 'large': > $2400
  • prediction_type: il tipo di previsione desiderato

La funzione get_tabnet_study_spec_parameters_override restituisce un elenco di iperparametri e intervalli.

Di seguito è riportato un esempio di come utilizzare la funzione 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",
)

Addestra un modello con CustomJob

Il seguente codice campione mostra come eseguire una pipeline CustomJob:

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

Il parametro facoltativo service_account in pipeline_job.run() consente di impostare l'account di servizio Vertex AI Pipelines su un account a tua scelta.

La pipeline e i valori parametro sono definiti dalla funzione riportata di seguito. I dati di addestramento possono essere un file CSV in Cloud Storage o una tabella in BigQuery.

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

Di seguito è riportato un sottoinsieme di parametri get_tabnet_trainer_pipeline_and_parameters:

Nome parametro Tipo Definizione
data_source_csv_filenames Stringa Un URI per un file CSV archiviato in Cloud Storage.
data_source_bigquery_table_path Stringa Un URI per una tabella BigQuery.
dataflow_service_account Stringa (Facoltativo) Account di servizio personalizzato per eseguire i job Dataflow. Il job Dataflow può essere configurato per utilizzare IP privati e una subnet VPC specifica. Questo parametro agisce come un override per l'account di servizio worker predefinito di Dataflow.

Passaggi successivi

Quando è tutto pronto per fare previsioni con il tuo modello di classificazione o regressione, hai due opzioni: