预测表格工作流

本文档简要介绍了预测表格工作流的流水线和组件。如需了解如何训练模型,请参阅使用预测表格工作流训练模型

用于预测的表格工作流是预测任务的完整流水线。它与 AutoML API 类似,但允许您选择要控制的内容及自动化的内容。您可以控制流水线中的每个步骤,而不是控制整个流水线。这些流水线控制包括:

  • 数据拆分
  • 特征工程
  • 架构搜索
  • 模型训练
  • 模型集成学习

优势

以下是预测表格工作流的一些优势:

  • 支持大小不超过 1TB 且最多包含 200 列的大型数据集
  • 使您能够通过限制架构类型的搜索空间或跳过架构搜索来提高稳定性并缩短训练时间
  • 允许您通过手动选择用于训练和架构搜索的硬件来提高训练速度
  • 对于某些模型训练方法,您可以通过更改集成学习规模来缩减模型规模并缩短延迟时间
  • 每个组件都可以在强大的流水线图界面中进行检查,使您可以查看转换后的数据表、评估的模型架构以及更多详细信息。
  • 每个组件都可提供更高的灵活性和透明度,例如能够自定义参数、硬件、查看进程状态、日志等。

在 Vertex AI Pipelines 上进行预测

预测表格工作流是 Vertex AI Pipelines 的代管式实例。

Vertex AI Pipelines 是一种用于运行 Kubeflow 流水线的无服务器服务。您可以使用流水线来自动执行及监控机器学习和数据准备任务。流水线中的每个步骤都会执行流水线工作流的一部分。例如,一个流水线可以包含用于拆分数据、转换数据类型和训练模型的各个步骤。由于步骤是流水线组件的实例,因此步骤中包含输入、输出和容器映像。步骤输入可根据流水线的输入进行设置,也可以依赖于此流水线中其他步骤的输出。这些依赖项将流水线的工作流定义为有向非循环图。

流水线和组件概览

下图显示了预测表格工作流的建模流水线:

预测流水线 

流水线组件包括:

  1. feature-transform-engine:执行特征工程。如需了解详情,请参阅 Feature Transform Engine
  2. training-configurator-and-validator:验证训练配置并生成训练元数据。

    输入:

    • instance_schema:OpenAPI 规范中的实例架构,用于描述预测数据的数据类型。
    • dataset_stats:描述原始数据集的统计信息。例如,dataset_stats 提供数据集中的行数。
    • training_schema:OpenAPI 规范中的训练数据架构,用于描述训练数据的数据类型。
  3. split-materialized-data:将具体化数据拆分为训练集、评估集和测试集。

    输入:

    • materialized_data:具体化数据。

    输出:

    • materialized_train_split:具体化训练分块。
    • materialized_eval_split:具体化评估分块。
    • materialized_test_split:具体化测试集。
  4. calculate-training-parameters-2:计算 automl-forecasting-stage-1-tuner 的预期运行时时长。

  5. get-hyperparameter-tuning-results - 可选:如果您将流水线配置为跳过架构搜索,请从先前的流水线运行加载超参数调节结果。

  6. 执行模型架构搜索和调节超参数 (automl-forecasting-stage-1-tuner),或使用先前流水线运行中的超参数调节结果 (automl-forecasting-stage-2-tuner)。

    • 架构由一组超参数定义。
    • 超参数包括模型类型和模型参数。
    • 考虑的模型类型是神经网络和提升树。
    • 模型针对考虑的每个架构进行训练。

    输入:

    • materialized_train_split:具体化训练分块。
    • materialized_eval_split:具体化评估分块。
    • artifact - 先前流水线运行中的超参数调节结果。只有在将流水线配置为跳过架构搜索时,此工件才会作为输入。

    输出:

    • tuning_result_output:调节输出。
  7. get-prediction-image-uri-2:根据模型类型生成正确的预测图片 URI。

  8. automl-forecasting-ensemble-2:集成学习最佳架构来生成最终模型。

    输入:

    • tuning_result_output:调节输出。

    输出:

    • unmanaged_container_model:输出模型。
  9. model-upload-2 - 上传模型。

    输入:

    • unmanaged_container_model:输出模型。

    输出:

    • model:Vertex AI 模型。
  10. should_run_model_evaluation - 可选:使用测试集计算评估指标。

后续步骤