廣度和深度學習適用的 Tabular Workflow

本文件概要說明廣度和深度學習適用的 Tabular Workflow 管線和元件。如要瞭解如何使用廣度和深度學習訓練模型,請參閱「使用廣度和深度學習訓練模型」。

「廣度和深度」會一同訓練廣度線性模型和深層類神經網路,兼具記憶和一般化的能力。在某些線上實驗中,結果顯示與僅 wide 和僅 deep 模型相比,Wide & Deep 可大幅增加 Google 商店應用程式獲取次數。

優點

  • 已整合 Vertex AI。經過訓練的模型是 Vertex AI 模型。您可以立即執行批次推論,或部署模型以進行線上推論。

Vertex AI Pipelines 上的廣度和深度

廣度和深度學習適用的 Tabular Workflow 是 Vertex AI Pipelines 的受管例項。

Vertex AI Pipelines 是執行 Kubeflow 管道的無伺服器服務。您可以使用管道來自動執行及監控機器學習和資料準備工作。管道中的每個步驟都會執行管道工作流程的一部分。舉例來說,管道可以包含分割資料、轉換資料類型和訓練模型的步驟。由於步驟是管道元件的例項,因此步驟會包含輸入內容、輸出內容和容器映像檔。步驟輸入內容可從管道的輸入內容設定,也可以取決於管道中其他步驟的輸出內容。這些依附元件會將管道的工作流程定義為有向非循環圖。

廣度和深度學習適用的 Tabular Workflow 有兩個版本:

  • HyperparameterTuningJob會搜尋最佳超參數值組合,用於模型訓練。
  • CustomJob 可讓您指定用於模型訓練的超參數值。如果您確切知道需要哪些超參數值,可以指定這些值,而非搜尋這些值,藉此節省訓練資源。

廣度和深度 CustomJob 管道和元件總覽

下圖說明廣度和深度 CustomJob 管道:

廣度和深度 CustomJob 適用的管道 

管道元件如下:

  1. feature-transform-engine:執行特徵工程。詳情請參閱「特徵轉換引擎」。
  2. split-materialized-data:將具象化資料拆分為訓練集、評估集和測試集。

    輸入:

    • 具體化資料 materialized_data

    輸出:

    • 已實體化的訓練分割區 materialized_train_split
    • 已具現的評估分割作業 materialized_eval_split
    • 具體化測試集 materialized_test_split
  3. wide-and-deep-trainer:執行模型訓練。

    輸入:

    • 執行個體基準 instance_baseline
    • 訓練結構定義 training_schema
    • 轉換輸出內容 transform_output
    • 具體化火車分割 materialized_train_split
    • 已具現的評估分割作業 materialized_eval_split
    • 具體化測試集 materialized_test_split

    輸出:

    • 最終模型
  4. automl-tabular-infra-validator:透過傳送預測要求,並檢查是否順利完成,驗證經過訓練的模型。
  5. model-upload:將模型從使用者的 Cloud Storage 儲存桶上傳至 Vertex AI,做為 Vertex AI 模型。
  6. condition-run-evaluation-2選填。使用測試集計算評估指標。只有在 run_evaluation 設為 true 時才會執行。

廣度和深度超參數調整作業管道和元件的總覽

下圖說明廣度與深度超參數調整作業管道:

廣度和深度 HyperparameterTuningJob 的管道 

  1. feature-transform-engine:執行特徵工程。詳情請參閱「特徵轉換引擎」。
  2. split-materialized-data:將具象化資料分割為訓練集、評估集和測試集。

    輸入:

    • 具體化資料 materialized_data

    輸出:

    • 已實體化的訓練分割區 materialized_train_split
    • 已具現的評估分割作業 materialized_eval_split
    • 具體化測試集 materialized_test_split
  3. get-wide-and-deep-study-spec-parameters:根據訓練管道的設定產生研究規格。如果使用者提供 study_spec_parameters_override 的值,請使用這些值覆寫研究規格值。

    輸入:

    • 可選的覆寫研究規格參數 study_spec_parameters_override

    輸出:

    • 超參數調整工作的最終超參數清單及其範圍。
  4. wide-and-deep-hyperparameter-tuning-job:執行一或多項超參數調整試驗。

    輸入:

    • 執行個體基準 instance_baseline
    • 訓練結構定義 training_schema
    • 轉換輸出內容 transform_output
    • 具體化火車分割 materialized_train_split
    • 已具現的評估分割作業 materialized_eval_split
    • 具體化測試集 materialized_test_split
    • 超參數調整工作的超參數和範圍清單。
  5. get-best-hyperparameter-tuning-job-trial:從上一個步驟中最佳超參數調整工作試驗中選取模型。

    輸出:

    • 最終模型
  6. automl-tabular-infra-validator:透過傳送預測要求,並檢查是否順利完成,驗證經過訓練的模型。
  7. model-upload:將模型從使用者的 Cloud Storage 儲存桶上傳至 Vertex AI,做為 Vertex AI 模型。
  8. condition-run-evaluation-2選填。使用測試集計算評估指標。只有在 run_evaluation 設為 true 時才會執行。

後續步驟