本文件概要說明 TabNet 管道和元件的 Tabular Workflow。如要瞭解如何使用 TabNet 訓練模型,請參閱「使用 TabNet 訓練模型」一文。
TabNet 會運用順序注意力,選擇每個決策步驟要以哪些特徵進行推論。這麼做可提升解讀性,並提高學習效率,因為學習能力會用於最顯著的特徵。
優點
- 根據資料集大小、推論類型和訓練預算,自動選取適當的超參數搜尋空間。
- 已整合 Vertex AI。經過訓練的模型是 Vertex AI 模型。您可以立即執行批次推論,或部署模型以進行線上推論。
- 提供內在的模型可解釋性。您可以深入瞭解 TabNet 用於做出決策的特徵。
- 支援 GPU 訓練。
Vertex AI Pipelines 上的 TabNet
TabNet 適用的 Tabular Workflow 是 Vertex AI Pipelines 的代管型執行個體。
Vertex AI Pipelines 是執行 Kubeflow 管道的無伺服器服務。您可以使用管道來自動執行及監控機器學習和資料準備工作。管道中的每個步驟都會執行管道工作流程的一部分。舉例來說,管道可以包含分割資料、轉換資料類型和訓練模型的步驟。由於步驟是管道元件的例項,因此步驟會包含輸入內容、輸出內容和容器映像檔。步驟輸入內容可從管道的輸入內容設定,也可以取決於管道中其他步驟的輸出內容。這些依附元件會將管道的工作流程定義為有向非循環圖。
TabNet 適用的 Tabular Workflow 有兩個版本:
- HyperparameterTuningJob 會搜尋最佳超參數值組合,用於模型訓練。
- CustomJob 可讓您指定用於模型訓練的超參數值。如果您確切知道需要哪些超參數值,可以指定這些值,而非搜尋這些值,藉此節省訓練資源。
TabNet CustomJob 管道和元件總覽
下圖說明 TabNet CustomJob 管道:
管道元件如下:
- feature-transform-engine:執行特徵工程。詳情請參閱「特徵轉換引擎」。
- split-materialized-data:將具象化資料拆分為訓練集、評估集和測試集。
輸入:
- 具體化資料
materialized_data
。
輸出:
- 已實體化的訓練分割區
materialized_train_split
。 - 已具現的評估分割作業
materialized_eval_split
。 - 具體化測試集
materialized_test_split
。
- 具體化資料
- tabnet-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
時才會執行。
TabNet HyperparameterTuningJob 管道和元件總覽
下圖說明 TabNet HyperparameterTuningJob 管道:
- feature-transform-engine:執行特徵工程。詳情請參閱「特徵轉換引擎」。
- split-materialized-data:將具象化資料分割為訓練集、評估集和測試集。
輸入:
- 具體化資料
materialized_data
。
輸出:
- 已實體化的訓練分割區
materialized_train_split
。 - 已具現的評估分割作業
materialized_eval_split
。 - 具體化測試集
materialized_test_split
。
- 具體化資料
- get-tabnet-study-spec-parameters:根據訓練管道的設定產生研究規格。如果使用者提供
study_spec_parameters_override
的值,請使用這些值覆寫研究規格值。輸入:
- 訓練管道設定 (
max_trial_count
、prediction_type
)。 - 資料集統計資料
dataset_stats
。 - 可選的覆寫研究規格參數
study_spec_parameters_override
。
輸出:
- 超參數調整工作的最終超參數清單及其範圍。
- 訓練管道設定 (
- tabnet-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
時才會執行。