Questo documento fornisce una panoramica del flusso di lavoro tabulare per le pipeline e i componenti TabNet. Per informazioni su come addestrare un modello con TabNet, consulta Addestrare un modello con TabNet.
TabNet utilizza l'attenzione sequenziale per scegliere le caratteristiche su cui ragionare in ogni passaggio decisionale. Ciò favorisce l'interpretabilità e l'apprendimento più efficiente perché la capacità di apprendimento viene utilizzata per le caratteristiche più importanti.
Vantaggi
- Seleziona automaticamente lo spazio di ricerca degli iperparametri appropriato in base alle dimensioni del set di dati, al tipo di previsione e al budget di addestramento.
- Integrazione con Vertex AI. Il modello addestrato è un modello Vertex AI. Puoi eseguire previsioni batch o eseguire immediatamente il deployment del modello per le previsioni online.
- Fornisce l'interpretabilità intrinseca del modello. Puoi ottenere informazioni sulle funzionalità utilizzate da TabNet per prendere questa decisione.
- Supporta l'addestramento con GPU.
TabNet sulle pipeline di Vertex AI
Tabular Workflow for TabNet è un'istanza gestita di Vertex AI Pipelines.
Vertex AI Pipelines è un servizio serverless che esegue pipeline Kubeflow. Puoi usare le pipeline per automatizzare e monitorare le attività di machine learning e preparazione dei dati. Ogni passaggio di una pipeline esegue parte del flusso di lavoro della pipeline. Ad esempio, una pipeline può includere passaggi per suddividere i dati, trasformare i tipi di dati e addestrare un modello. Poiché i passaggi sono istanze dei componenti della pipeline, hanno input, output e un'immagine container. Gli input dei passaggi possono essere impostati dagli input della pipeline o dipendono dall'output di altri passaggi all'interno della pipeline. Queste dipendenze definiscono il flusso di lavoro della pipeline come un grafo diretto aciclico.
Sono disponibili due versioni del flusso di lavoro tabulare per TabNet:
- HyperparameterTuningJob cerca il set migliore 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 invece di cercarli e risparmiare sulle risorse di addestramento.
Panoramica della pipeline e dei componenti TabNet CustomJob
La pipeline TabNet CustomJob può essere illustrata dal seguente diagramma:
I componenti della pipeline sono:
- feature-transform-engine: esegue il feature engineering. Per ulteriori dettagli, consulta Motore per la trasformazione delle funzionalità.
- split-materialized-data:
suddivide i dati materializzati in un set di addestramento, un set di valutazione e un set di test.
Ingresso:
- Dati materializzati
materialized_data
.
Output:
- Divisione materializzata dell'addestramento
materialized_train_split
. - Suddivisione di valutazione materializzata
materialized_eval_split
. - Set di test materializzato
materialized_test_split
.
- Dati materializzati
- tabnet-trainer: esegui l'addestramento del modello.
Ingresso:
- Base di riferimento dell'istanza
instance_baseline
. - Schema di addestramento
training_schema
. - Trasforma l'output
transform_output
. - Suddivisione del treno materializzato
materialized_train_split
. - Suddivisione di valutazione materializzata
materialized_eval_split
. - Set di test materializzato
materialized_test_split
.
Output:
- Modello finale
- Base di riferimento dell'istanza
- automl-tabular-infra-validator: convalida il modello addestrato inviando una richiesta di previsione e controllando se viene completato correttamente.
- model-upload: carica il modello dal bucket Cloud Storage dell'utente in Vertex AI come modello Vertex AI.
- condition-run-evaluation-2:
condition-run-evaluation-2. Utilizza il set di test per calcolare le metriche di valutazione. Viene eseguita solo quando
run_evaluation
è impostato sutrue
.
Panoramica della pipeline e dei componenti TabNet HyperparameterTuningJob
La pipeline TabNet HyperparameterTuningJob può essere illustrata dal seguente diagramma:
- feature-transform-engine: esegue il feature engineering. Per ulteriori dettagli, consulta Motore per la trasformazione delle funzionalità.
- split-materialized-data:
suddivide i dati materializzati in un set di addestramento, un set di valutazione e un set di test.
Ingresso:
- Dati materializzati
materialized_data
.
Output:
- Divisione materializzata dell'addestramento
materialized_train_split
. - Suddivisione di valutazione materializzata
materialized_eval_split
. - Set di test materializzato
materialized_test_split
.
- Dati materializzati
- get-tabnet-study-spec-parameters:
genera la specifica dello studio in base a una configurazione della pipeline di addestramento. Se
l'utente fornisce valori per
study_spec_parameters_override
, utilizzali per sostituire i valori delle specifiche dello studio.Ingresso:
- Configurazione della pipeline di addestramento (
max_trial_count
,prediction_type
). - Statistiche del set di dati
dataset_stats
. - Override facoltativo dei parametri delle specifiche dello studio
study_spec_parameters_override
.
Output:
- Elenco finale degli iperparametri e dei relativi intervalli per il job di ottimizzazione degli iperparametri.
- Configurazione della pipeline di addestramento (
- tabnet-hyperparameter-tuning-job:
esegui una o più prove di ottimizzazione degli iperparametri.
Ingresso:
- Base di riferimento dell'istanza
instance_baseline
. - Schema di addestramento
training_schema
. - Trasforma l'output
transform_output
. - Suddivisione del treno materializzato
materialized_train_split
. - Suddivisione di valutazione materializzata
materialized_eval_split
. - Set di test materializzato
materialized_test_split
. - Elenco degli iperparametri e dei relativi intervalli per il job di ottimizzazione degli iperparametri.
- Base di riferimento dell'istanza
- get-best-hyperparameter-tuning-job-trial:
seleziona il modello dalla prova migliore del job di ottimizzazione degli iperparametri del passaggio precedente.
Output:
- Modello finale
- automl-tabular-infra-validator: convalida il modello addestrato inviando una richiesta di previsione e controllando se viene completato correttamente.
- model-upload: carica il modello dal bucket Cloud Storage dell'utente in Vertex AI come modello Vertex AI.
- condition-run-evaluation-2:
condition-run-evaluation-2. Utilizza il set di test per calcolare le metriche di valutazione. Viene eseguita solo quando
run_evaluation
è impostato sutrue
.