Tabellarischer Workflow für Wide & Deep

Dieses Dokument bietet eine Übersicht über den tabellarischen Workflow für Wide & Deep-Pipelines und -Komponenten. Informationen zum Trainieren eines Modells mit Wide & Deep finden Sie unter Modell mit Wide & Deep trainieren.

Wide & Deep trainiert gemeinsam breite lineare Modelle und neuronale Deep-Learning-Netzwerke. Sie vereint die Vorteile von Speicherung und Generalisierung. Bei einigen Online-Experimenten zeigten die Ergebnisse, dass Wide & Deep die Anwendungsgewinnung im Google Store im Vergleich zu reinen und tiefgehenden Modellen erheblich erhöht hat.

Vorteile

  • 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.

Wide & Deep für Vertex AI Pipelines

Tabellarischer Workflow für Wide & Deep 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 Wide & Deep:

  • 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.

Pipeline und Komponenten von Wide & Deep CustomJob

Die Pipeline für Wide & Deep CustomJob kann im folgenden Diagramm dargestellt werden:

Pipeline für Wide & Deep 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. wide-and-deep-trainer: Modelltraining ausfü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.

Pipeline und Komponenten von Wide & Deep HyperparameterTuningJob

Die Pipeline für Wide & Deep HyperparameterTuningJob kann im folgenden Diagramm dargestellt werden:

Pipeline für Wide & Deep HyperparameterTuningJob 

  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-wide-and-deep-study-spec-parameters: Generieren Sie die Studienspezifikation basierend auf einer Konfiguration der Trainings-Pipeline. Wenn der Nutzer Werte für study_spec_parameters_override angibt, überschreiben Sie die Werte der Studienspezifikation mit diesen Werten.

    Eingabe:

    • 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. wide-and-deep-hyperparameter-tuning-job: Führen Sie einen oder mehrere Tests der Hyperparameter-Abstimmung durch.

    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