Addestrare 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 ti 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 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() ti consente di impostare l'account di servizio Vertex AI Pipelines su 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_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 funge da override per l'account di servizio worker Dataflow predefinito.
study_spec_parameters_override List[Dict[String, Any]] (Facoltativo) Un'override per l'ottimizzazione degli iperparametri. Questo parametro può essere vuoto o contenere uno o più iperparametri possibili. Se non è impostato un valore dell'iperparametro, 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": meno di 1 milione di righe
    • "medium": 1 milione - 100 milioni di righe
    • "large": più di 100 milioni di righe
  • training_budget_bucket: un bucket per il budget della formazione
    • 'small': < 600 $
    • 'medium': 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() ti consente di impostare l'account di servizio Vertex AI Pipelines su 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 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 funge da override per l'account di servizio worker Dataflow predefinito.

Passaggi successivi

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