Flusso di lavoro tabulare per Wide & Deep

Questo documento fornisce una panoramica del flusso di lavoro tabulare per le pipeline e i componenti Wide & Deep. Per addestrare un modello con Wide & Deep, consulta Addestrare un modello con Wide & Deep.

Wide & Deep addestra congiuntamente modelli lineari ampi e reti neurali profonde. Combina i vantaggi della memorizzazione e della generalizzazione. In alcuni esperimenti online, i risultati hanno mostrato che Wide & Deep ha aumentato in modo significativo le acquisizioni di applicazioni dello store Google rispetto ai modelli solo wide e solo deep.

Vantaggi

  • Integrato con Vertex AI. Il modello addestrato è un modello Vertex AI. Puoi eseguire inferenze batch o eseguire immediatamente il deployment del modello per le inferenze online.

Ampio e profondo su Vertex AI Pipelines

Il flusso di lavoro tabulare per Wide & Deep è un'istanza gestita di Vertex AI Pipelines.

Vertex AI Pipelines è un servizio serverless che esegue pipeline 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 flusso di lavoro della pipeline. Ad esempio, una pipeline può includere passaggi per dividere 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 possono dipendere dall'output di altri passaggi all'interno di questa 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 Wide & Deep:

  • 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 risparmiare risorse di addestramento.

Panoramica della pipeline e dei componenti CustomJob Wide & Deep

La pipeline CustomJob Wide & Deep è illustrata dal seguente diagramma:

Pipeline per Wide & Deep CustomJob 

I componenti della pipeline sono:

  1. feature-transform-engine: esegue il feature engineering. Per maggiori dettagli, vedi Feature Transform Engine.
  2. split-materialized-data: Suddivide i dati materializzati in un set di addestramento, un set di valutazione e un set di test.

    Input:

    • Dati materializzati materialized_data.

    Output:

    • Divisione dell'addestramento materializzata materialized_train_split.
    • Suddivisione della valutazione materializzata materialized_eval_split.
    • Set di test materializzato materialized_test_split.
  3. wide-and-deep-trainer: esegui l'addestramento del modello.

    Input:

    • Baseline dell'istanza instance_baseline.
    • Schema di addestramento training_schema.
    • Trasforma output transform_output.
    • Suddivisione del training materializzato materialized_train_split.
    • Suddivisione della valutazione materializzata materialized_eval_split.
    • Set di test materializzato materialized_test_split.

    Output:

    • Modello finale
  4. automl-tabular-infra-validator: convalida il modello addestrato inviando una richiesta di previsione e verificando se viene completata correttamente.
  5. model-upload: carica il modello dal bucket Cloud Storage dell'utente a Vertex AI come modello Vertex AI.
  6. condition-run-evaluation-2: Facoltativo. Utilizza il set di test per calcolare le metriche di valutazione. Viene eseguito solo quando run_evaluation è impostato su true.

Panoramica della pipeline e dei componenti di Wide & Deep HyperparameterTuningJob

La pipeline Wide & Deep HyperparameterTuningJob è illustrata dal seguente diagramma:

Pipeline per Wide & Deep HyperparameterTuningJob 

  1. feature-transform-engine: esegue il feature engineering. Per maggiori dettagli, vedi Feature Transform Engine.
  2. split-materialized-data: Suddivide i dati materializzati in un set di addestramento, un set di valutazione e un set di test.

    Input:

    • Dati materializzati materialized_data.

    Output:

    • Divisione dell'addestramento materializzata materialized_train_split.
    • Suddivisione della valutazione materializzata materialized_eval_split.
    • Set di test materializzato materialized_test_split.
  3. get-wide-and-deep-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 ignorare i valori delle specifiche dello studio.

    Input:

    • 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.
  4. wide-and-deep-hyperparameter-tuning-job: Esegui una o più prove di ottimizzazione degli iperparametri.

    Input:

    • Baseline dell'istanza instance_baseline.
    • Schema di addestramento training_schema.
    • Trasforma output transform_output.
    • Suddivisione del training materializzato materialized_train_split.
    • Suddivisione della 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.
  5. get-best-hyperparameter-tuning-job-trial: Seleziona il modello dalla migliore prova del job di ottimizzazione degli iperparametri del passaggio precedente.

    Output:

    • Modello finale
  6. automl-tabular-infra-validator: convalida il modello addestrato inviando una richiesta di previsione e verificando se viene completata correttamente.
  7. model-upload: carica il modello dal bucket Cloud Storage dell'utente a Vertex AI come modello Vertex AI.
  8. condition-run-evaluation-2: Facoltativo. Utilizza il set di test per calcolare le metriche di valutazione. Viene eseguito solo quando run_evaluation è impostato su true.

Passaggi successivi