Questo documento fornisce una panoramica del workflow tabulare per le pipeline e i componenti di TabNet. Per addestrare un modello con TabNet, consulta Addestrare un modello con TabNet.
TabNet si avvale dell'attenzione sequenziale per scegliere le caratteristiche alla base del ragionamento in ogni fase decisionale. Ciò promuove l'interpretabilità e un apprendimento più efficiente perché la capacità di apprendimento viene utilizzata per le caratteristiche più salienti.
Vantaggi
- Seleziona automaticamente lo spazio di ricerca degli iperparametri appropriato in base alle dimensioni del set di dati, al tipo di inferenza e al budget di addestramento.
- Integrato con Vertex AI. Il modello addestrato è un modello Vertex AI. Puoi eseguire subito inferenze batch o eseguire il deployment del modello per le inferenze online.
- Fornisce l'interpretabilità del modello intrinseca. Puoi ottenere informazioni sulle caratteristiche utilizzate da TabNet per prendere la decisione.
- Supporta l'addestramento con GPU.
TabNet su Vertex AI Pipelines
Il workflow tabulare per TabNet è un'istanza gestita di Vertex AI Pipelines.
Vertex AI Pipelines è un servizio serverless che esegue le pipeline di Kubeflow. Puoi utilizzare le pipeline per automatizzare e monitorare le attività di machine learning e preparazione dei dati. Ogni passaggio di una pipeline esegue una parte del workflow 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 di componenti della pipeline, hanno input, output e un'immagine container. Gli input dei passaggi possono essere impostati dagli input della pipeline o possono dipendere dall'output di altri passaggi all'interno di questa pipeline. Queste dipendenze definiscono il workflow della pipeline come un grafo diretto aciclico.
Il workflow tabulare per TabNet offre due versioni:
- 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 conosci esattamente i valori degli iperparametri di cui hai bisogno, specificali anziché cercarli e risparmia risorse di addestramento.
Panoramica della pipeline e dei componenti di TabNet CustomJob
Il seguente diagramma illustra la pipeline TabNet CustomJob:
I componenti della pipeline sono:
- split-materialized-data:
Suddividi i dati materializzati in un set di addestramento, un set di valutazione e un test set.
Input:
- Dati materializzati
materialized_data.
Output:
- Suddivisione di addestramento materializzata
materialized_train_split. - Suddivisione di valutazione materializzata
materialized_eval_split. - Set di test materializzato
materialized_test_split.
- Dati materializzati
- tabnet-trainer:
esegue l'addestramento del modello.
Input:
- Baseline dell'istanza
instance_baseline. - Schema di addestramento
training_schema. - Output di trasformazione
transform_output. - Suddivisione di addestramento materializzata
materialized_train_split. - Suddivisione di valutazione materializzata
materialized_eval_split. - Set di test materializzato
materialized_test_split.
Output:
- Modello finale
- Baseline dell'istanza
- automl-tabular-infra-validator: Convalida il modello addestrato inviando una richiesta di previsione e verificando se viene completata correttamente.
- model-upload: Carica il modello dal bucket Cloud Storage dell'utente a Vertex AI come modello Vertex AI.
- condition-run-evaluation-2:
facoltativo. Utilizza il test set per calcolare le metriche di valutazione. Viene eseguito solo quando
run_evaluationè impostato sutrue.
Panoramica della pipeline e dei componenti di TabNet HyperparameterTuningJob
Il seguente diagramma illustra la pipeline TabNet HyperparameterTuningJob:
- split-materialized-data:
Suddividi i dati materializzati in un set di addestramento, un set di valutazione e un test set.
Input:
- Dati materializzati
materialized_data.
Output:
- Suddivisione di addestramento materializzata
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, utilizza questi valori per sostituire i valori della specifica dello studio.Input:
- Configurazione della pipeline di addestramento (
max_trial_count,prediction_type). - Statistiche del set di dati
dataset_stats. - Override facoltativo dei parametri della specifica 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:
esegue una o più prove di ottimizzazione degli iperparametri.
Input:
- Baseline dell'istanza
instance_baseline. - Schema di addestramento
training_schema. - Output di trasformazione
transform_output. - Suddivisione di addestramento materializzata
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.
- Baseline dell'istanza
- get-best-hyperparameter-tuning-job-trial:
seleziona il modello dalla migliore prova 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 verificando se viene completata correttamente.
- model-upload: Carica il modello dal bucket Cloud Storage dell'utente a Vertex AI come modello Vertex AI.
- condition-run-evaluation-2:
facoltativo. Utilizza il test set per calcolare le metriche di valutazione. Viene eseguito solo quando
run_evaluationè impostato sutrue.