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 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, specificarli anzichรฉ cercarli e risparmia risorse di addestramento.

Per informazioni sui service account utilizzati da questo flusso di lavoro, vedi Service account per i flussi di lavoro tabulari.

API Workflow

Questo flusso di lavoro utilizza le seguenti API:

  • 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() ti consente di impostare il account di servizio di 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 il 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รน degli iperparametri possibili. Se un valore dell'iperparametro non รจ impostato, Vertex AI utilizza l'intervallo di ottimizzazione predefinito per l'iperparametro.

Per configurare gli iperparametri utilizzando il parametro study_spec_parameters_override, utilizza la funzione helper 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": 1 milione - 100 milioni di righe
    • "large": > 100 milioni di righe
  • training_budget_bucket: Un bucket per il budget di addestramento
    • 'small': < 600 $
    • 'medium': $600 - $2400
    • 'large': > 2400 $
  • prediction_type: Il tipo di inferenza 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 il account di servizio di 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 il account di servizio worker Dataflow predefinito.

Passaggi successivi

Quando รจ tutto pronto per fare inferenze con il modello di classificazione o regressione, hai due opzioni: