本文档简要介绍 TabNet 的表格工作流流水线和组件。如需使用 TabNet 训练模型,请参阅使用 TabNet 训练模型。
TabNet 使用顺序注意力来选择每个决策步骤要推理的特征。这提高了可解释性和学习效率,因为学习容量用于最显著的特征。
优势
- 根据数据集大小、推理类型和训练预算自动选择适当的超参数搜索空间。
 - 与 Vertex AI 集成。经过训练的模型是 Vertex AI 模型。您可以运行批量推理或部署模型以立即进行在线推理。
 - 提供固有的模型可解释性。您可以深入了解 TabNet 使用哪些功能来做出决定。
 - 支持 GPU 训练。
 
Vertex AI Pipelines 上的 TabNet
TabNet 的表格工作流是 Vertex AI Pipelines 的代管式实例。
Vertex AI Pipelines 是一种用于运行 Kubeflow 流水线的无服务器服务。您可以使用流水线来自动执行及监控机器学习和数据准备任务。流水线中的每个步骤都会执行流水线工作流的一部分。例如,一个流水线可以包含用于拆分数据、转换数据类型和训练模型的各个步骤。由于步骤是流水线组件的实例,因此步骤中包含输入、输出和容器映像。步骤输入可根据流水线的输入进行设置,也可以依赖于此流水线中其他步骤的输出。这些依赖项将流水线的工作流定义为有向非循环图。
TabNet 的表格工作流提供两个版本:
- HyperparameterTuningJob 可搜索用于模型训练的最佳超参数值集。
 - CustomJob 可让您指定用于模型训练的超参数值。如果您确切地知道需要哪些超参数值,请指定它们(而不是进行搜索),从而节省训练资源。
 
TabNet CustomJob 流水线和组件概览
下图展示了 TabNet CustomJob 流水线:
 
流水线组件包括:
- feature-transform-engine:执行特征工程。如需了解详情,请参阅 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:执行特征工程。如需了解详情,请参阅 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时运行。