Tabellarischer Workflow für TabNet

Dieses Dokument bietet eine Übersicht über die Pipelines und Komponenten des tabellarischen Workflows für TabNet. Informationen zum Trainieren eines Modells mit TabNet finden Sie unter Modell mit TabNet trainieren.

TabNet verwendet sequenzielle Aufmerksamkeit, um die Features auszuwählen, die bei jedem Entscheidungsschritt berücksichtigt werden sollen. Dadurch werden Interpretierbarkeit und effizientes Lernen ermöglicht, da die Lernkapazität für die wichtigsten Features verwendet wird.

Vorteile

  • Wählt automatisch den entsprechenden Hyperparameter-Suchbereich anhand der Dataset-Größe, dem Vorhersagetyp und dem Trainingsbudget aus.
  • In Vertex AI eingebunden. Das trainierte Modell ist ein Vertex AI-Modell. Sie können sofort Batchvorhersagen ausführen oder das Modell für Onlinevorhersagen bereitstellen.
  • Bietet inhärente Modellinterpretierbarkeit. Sie erhalten einen Einblick in die Features, die TabNet für seine Entscheidung verwendet hat.
  • Unterstützt GPU-Training.

TabNet in Vertex AI Pipelines

Tabellarischer Workflow für TabNet ist eine verwaltete Instanz von Vertex AI Pipelines.

Vertex AI Pipelines ist ein serverloser Dienst, der Kubeflow-Pipelines ausführt. Mithilfe von Pipelines können Sie Ihre Aufgaben für maschinelles Lernen und die Datenvorbereitung automatisieren und überwachen. Jeder Schritt in einer Pipeline führt einen Teil des Workflows der Pipeline aus. Eine Pipeline kann beispielsweise Schritte zum Aufteilen von Daten, zum Transformieren von Datentypen und zum Trainieren eines Modells enthalten. Da Schritte Instanzen von Pipeline-Komponenten sind, haben Schritte Eingaben, Ausgaben und ein Container-Image. Schritteingaben können aus den Eingaben der Pipeline festgelegt werden oder von der Ausgabe anderer Schritte in dieser Pipeline abhängen. Diese Abhängigkeiten definieren den Workflow der Pipeline als gerichtetes azyklisches Diagramm.

Es gibt zwei Versionen des tabellarischen Workflows für TabNet:

  • HyperparameterTuningJob sucht nach den besten Hyperparameter-Werten für das Modelltraining.
  • Mit CustomJob können Sie die Hyperparameter-Werte angeben, die für das Modelltraining verwendet werden sollen. Wenn Sie genau wissen, welche Hyperparameter-Werte Sie benötigen, können Sie diese angeben, anstatt nach ihnen zu suchen. Sie sparen damit Trainingsressourcen.

TabNet CustomJob-Pipeline und -Komponenten – Übersicht

Die TabNet CustomJob-Pipeline kann im folgenden Diagramm dargestellt werden:

Pipeline für TabNet CustomJob 

Es gibt folgende Pipelinekomponenten:

  1. feature-transform-engine: Feature Engineering durchführen. Weitere Informationen finden Sie unter Feature Transform Engine.
  2. split-materialized-data: Materialisierte Daten in ein Trainings-Dataset, ein Bewertungs-Dataset und ein Test-Dataset aufteilen.

    Eingabe:

    • Materialisierte Daten materialized_data.

    Ausgabe:

    • Materialisierte Trainingsaufteilung materialized_train_split.
    • Materialisierte Bewertungsaufteilung materialized_eval_split.
    • Materialisiertes Test-Dataset materialized_test_split.
  3. tabnet-trainer: Modelltraining durchführen.

    Eingabe:

    • Instanzreferenz instance_baseline.
    • Trainingsschema training_schema.
    • Transformationsausgabe transform_output.
    • Materialisierte Trainingsaufteilung materialized_train_split.
    • Materialisierte Bewertungsaufteilung materialized_eval_split.
    • Materialisiertes Test-Dataset materialized_test_split.

    Ausgabe:

    • Endgültiges Modell
  4. automl-tabular-infra-validator: Validieren Sie das trainierte Modell. Senden Sie dazu eine Vorhersageanfrage und prüfen Sie, ob sie erfolgreich verarbeitet wird.
  5. model-upload: Laden Sie das Modell aus dem Cloud Storage-Bucket des Nutzers als Vertex AI-Modell in Vertex AI hoch.
  6. condition-run-evaluation-2: Optional. Verwenden Sie das Test-Dataset, um Bewertungsmesswerte zu berechnen. Wird nur ausgeführt, wenn run_evaluation auf true festgelegt ist.

TabNet HyperparameterTuningJob-Pipeline und -Komponenten – Übersicht

Die TabNet HyperparameterTuningJob-Pipeline kann im folgenden Diagramm dargestellt werden:

TabNet HyperparameterTuningJob-Pipeline 

  1. feature-transform-engine: Feature Engineering durchführen. Weitere Informationen finden Sie unter Feature Transform Engine.
  2. split-materialized-data: Materialisierte Daten in ein Trainings-Dataset, ein Bewertungs-Dataset und ein Test-Dataset aufteilen.

    Eingabe:

    • Materialisierte Daten materialized_data.

    Ausgabe:

    • Materialisierte Trainingsaufteilung materialized_train_split.
    • Materialisierte Bewertungsaufteilung materialized_eval_split.
    • Materialisiertes Test-Dataset materialized_test_split.
  3. get-tabnet-study-spec-parameters: Generieren Sie die Studienspezifikation basierend auf einer Konfiguration der Trainingspipeline. Wenn der Nutzer Werte für study_spec_parameters_override angibt, überschreiben Sie die Werte der Studienspezifikation mit diesen Werten.

    Eingabe:

    • Konfiguration der Trainingspipeline (max_trial_count, prediction_type).
    • Dataset-Statistiken dataset_stats.
    • Optionale Überschreibung der Parameter der Studienspezifikation study_spec_parameters_override.

    Ausgabe:

    • Endgültige Liste der Hyperparameter und ihrer Bereiche für den Hyperparameter-Abstimmungsjob.
  4. tabnet-hyperparameter-tuning-job: Einen oder mehrere Tests der Hyperparameter-Abstimmung durchführen.

    Eingabe:

    • Instanzreferenz instance_baseline.
    • Trainingsschema training_schema.
    • Transformationsausgabe transform_output.
    • Materialisierte Trainingsaufteilung materialized_train_split.
    • Materialisierte Bewertungsaufteilung materialized_eval_split.
    • Materialisiertes Test-Dataset materialized_test_split.
    • Liste der Hyperparameter und zugehörigen Bereiche für den Hyperparameter-Abstimmungsjob.
  5. get-best-hyperparameter-tuning-job-trial: Wählen Sie das Modell aus dem besten Hyperparameter-Abstimmungsjob-Test aus dem vorherigen Schritt aus.

    Ausgabe:

    • Endgültiges Modell
  6. automl-tabular-infra-validator: Validieren Sie das trainierte Modell. Senden Sie dazu eine Vorhersageanfrage und prüfen Sie, ob sie erfolgreich verarbeitet wird.
  7. model-upload: Laden Sie das Modell aus dem Cloud Storage-Bucket des Nutzers als Vertex AI-Modell in Vertex AI hoch.
  8. condition-run-evaluation-2: Optional. Verwenden Sie das Test-Dataset, um Bewertungsmesswerte zu berechnen. Wird nur ausgeführt, wenn run_evaluation auf true festgelegt ist.

Nächste Schritte

  • Modell mit TabNet trainieren.