本文件概要說明廣度和深度學習適用的 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 管道:
管道元件如下:
- feature-transform-engine:執行特徵工程。詳情請參閱「特徵轉換引擎」。
- split-materialized-data:將具象化資料拆分為訓練集、評估集和測試集。
輸入:
- 具體化資料
materialized_data
。
輸出:
- 已實體化的訓練分割區
materialized_train_split
。 - 已具現的評估分割作業
materialized_eval_split
。 - 具體化測試集
materialized_test_split
。
- 具體化資料
- wide-and-deep-trainer:執行模型訓練。
輸入:
- 執行個體基準
instance_baseline
。 - 訓練結構定義
training_schema
。 - 轉換輸出內容
transform_output
。 - 具體化火車分割
materialized_train_split
。 - 已具現的評估分割作業
materialized_eval_split
。 - 具體化測試集
materialized_test_split
。
輸出:
- 最終模型
- 執行個體基準
- automl-tabular-infra-validator:透過傳送預測要求,並檢查是否順利完成,驗證經過訓練的模型。
- model-upload:將模型從使用者的 Cloud Storage 儲存桶上傳至 Vertex AI,做為 Vertex AI 模型。
- condition-run-evaluation-2:選填。使用測試集計算評估指標。只有在
run_evaluation
設為true
時才會執行。
廣度和深度超參數調整作業管道和元件的總覽
下圖說明廣度與深度超參數調整作業管道:
- feature-transform-engine:執行特徵工程。詳情請參閱「特徵轉換引擎」。
- split-materialized-data:將具象化資料分割為訓練集、評估集和測試集。
輸入:
- 具體化資料
materialized_data
。
輸出:
- 已實體化的訓練分割區
materialized_train_split
。 - 已具現的評估分割作業
materialized_eval_split
。 - 具體化測試集
materialized_test_split
。
- 具體化資料
- get-wide-and-deep-study-spec-parameters:根據訓練管道的設定產生研究規格。如果使用者提供
study_spec_parameters_override
的值,請使用這些值覆寫研究規格值。輸入:
- 可選的覆寫研究規格參數
study_spec_parameters_override
。
輸出:
- 超參數調整工作的最終超參數清單及其範圍。
- 可選的覆寫研究規格參數
- wide-and-deep-hyperparameter-tuning-job:執行一或多項超參數調整試驗。
輸入:
- 執行個體基準
instance_baseline
。 - 訓練結構定義
training_schema
。 - 轉換輸出內容
transform_output
。 - 具體化火車分割
materialized_train_split
。 - 已具現的評估分割作業
materialized_eval_split
。 - 具體化測試集
materialized_test_split
。 - 超參數調整工作的超參數和範圍清單。
- 執行個體基準
- get-best-hyperparameter-tuning-job-trial:從上一個步驟中最佳超參數調整工作試驗中選取模型。
輸出:
- 最終模型
- automl-tabular-infra-validator:透過傳送預測要求,並檢查是否順利完成,驗證經過訓練的模型。
- model-upload:將模型從使用者的 Cloud Storage 儲存桶上傳至 Vertex AI,做為 Vertex AI 模型。
- condition-run-evaluation-2:選填。使用測試集計算評估指標。只有在
run_evaluation
設為true
時才會執行。