Addestrare un modello con TabNet

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

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

  • HyperparameterTuningJob cerca il miglior set 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 sai esattamente quali valori di iperparametro ti servono, puoi specificarli anziché cercarli e risparmiare sulle risorse di addestramento.

Per informazioni sugli account di servizio utilizzati da questo flusso di lavoro, consulta Account di servizio per i flussi di lavoro tabulari.

API di flusso di lavoro

Questo flusso di lavoro utilizza le seguenti API:

  • Vertex AI
  • Dataflow
  • Compute Engine
  • Cloud Storage

Addestrare un modello con HyperparameterTuningJob

Il seguente codice di esempio 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() ti consente di impostare il parametro l'account di servizio Vertex AI Pipelines a un account a tua scelta.

I valori della pipeline e dei parametri sono definiti dalla seguente funzione. 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 dei parametri get_tabnet_hyperparameter_tuning_job_pipeline_and_parameters:

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

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

  • dataset_size_bucket: un bucket per le dimensioni del set di dati
    • 'small': < 1 milione di righe
    • "medium": da 1 a 100 milioni di righe
    • 'large': > 100 mln di righe
  • training_budget_bucket: un bucket per il budget dell'addestramento
    • 'small': < 600 $
    • 'media': 600 $ - 2400 $
    • 'large': > 2400 $
  • prediction_type: il tipo di previsione desiderato

La funzione get_tabnet_study_spec_parameters_override restituisce un elenco di e gli iperparametri.

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 codice campione seguente 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() ti consente di impostare il parametro l'account di servizio Vertex AI Pipelines a un account a tua scelta.

La pipeline e i valori dei parametri sono definiti dalla seguente funzione. 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 dei parametri get_tabnet_trainer_pipeline_and_parameters:

Nome parametro Tipo Definizione
data_source_csv_filenames Stringa Un URI di un file CSV archiviato in Cloud Storage.
data_source_bigquery_table_path Stringa Un URI di 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 sottorete VPC specifica. Questo parametro funge da override per l'account di servizio worker Dataflow predefinito.

Passaggi successivi

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