TabNet 適用的 Tabular Workflow

本文件概要說明 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 管道:

TabNet CustomJob 的管道 

管道元件如下:

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

    輸入:

    • 具體化資料 materialized_data

    輸出:

    • 已實體化的訓練分割區 materialized_train_split
    • 已具現的評估分割作業 materialized_eval_split
    • 具體化測試集 materialized_test_split
  3. tabnet-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 時才會執行。

TabNet HyperparameterTuningJob 管道和元件總覽

下圖說明 TabNet HyperparameterTuningJob 管道:

TabNet 超參數調整工作管線 

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

    輸入:

    • 具體化資料 materialized_data

    輸出:

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

    輸入:

    • 訓練管道設定 (max_trial_countprediction_type)。
    • 資料集統計資料 dataset_stats
    • 可選的覆寫研究規格參數 study_spec_parameters_override

    輸出:

    • 超參數調整工作的最終超參數清單及其範圍。
  4. tabnet-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 時才會執行。

後續步驟