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

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

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

優點

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

在 Vertex AI Pipelines 上使用 Wide & Deep

廣度和深度學習適用的 Tabular Workflow 是 Vertex AI Pipelines 的代管執行個體。

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

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

  • HyperparameterTuningJob 會搜尋最適合用於模型訓練的超參數值組合。
  • CustomJob 可讓您指定用於模型訓練的超參數值。如果您確切知道需要哪些超參數值,請直接指定這些值,不必搜尋,即可節省訓練資源。

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

下圖說明 Wide & Deep 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 時才會執行。

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

下圖說明 Wide & Deep HyperparameterTuningJob 管道:

廣度和深度 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 時才會執行。

後續步驟