利用增量学习对大型数据集进行训练

使用增量学习算法,利用数据批次对 AutoAI 实验进行训练。

如果您使用大型数据集进行训练,系统会对数据进行抽样,因此初始训练将基于部分数据进行。 训练数据的上限取决于为实验选择的环境大小。

增量学习算法可以利用子采样源中的剩余数据继续训练,必要时将剩余数据划分为批次。 每批训练数据都会使用优化的评估指标进行独立评分,因此您在查看结果时,可以审查每批数据的性能。

增量学习是如何运作的

将实验配置为支持增量学习,会在训练过程中增加两个阶段。 第一种方法采用批量树集成算法来构建管道。 最后阶段使用这些数据批次对管道进行训练。 会根据实验的保留集在优化指标下的表现,对管道进行评分和排名。

如果您想为实验提供更多数据,可以在自动生成的笔记本中继续对管道进行增量训练。

启用增量学习的设置

要指定使用大型数据集进行训练的设置:

  1. 打开该实验的实验设置。
  2. “预测 ”页面上,查看算法以包含该选项。
  3. 切换选项,以支持支持增量学习的选定算法的增量学习功能。 您可以在稍后通过自动生成的笔记本,利用这些算法对管道进行增量训练。 利用数据批次实现增量学习的算法 注:
    • 如果您计划在用户界面中使用部分数据进行训练,但在将模型候选项管道保存为自动生成的笔记本后仍需继续批量训练,请为特定算法启用增量学习。
    • 要进行增量学习,所选的、支持增量学习的算法可能需要一个辅助算法(批量树集成)来自动训练管道。
    • 低配版本(2 vCPUs 和8 GB RAM)不支持增量学习。
  4. 启用对增量学习的支持,以包含支持使用来自大型数据集的批处理数据训练管道的算法。
  5. 启用“使用剩余数据进行增量训练”选项,以便在运行实验时自动使用所有数据进行训练
  6. 为了节省计算资源,您可以选择 “当质量稳定时停止管道训练 ”,以便在达到稳定性阈值时停止训练。 默认设置是:当连续 5 个批次中,优化指标的分数均未见提升时,即停止训练。 您可以将该数值调高或调低。 为实验启用增量学习

训练你的实验。 该可视化图示展示了为增量学习做准备,然后使用数据批次训练管道的步骤。

增量学习中的实验训练可视化

训练完成后,请检查管道。 支持增量学习的管道会显示一个 incr 特殊化标签。 点击任意一条管道,即可查看该管道与优化指标的对比详情。

观看此视频,了解如何利用大型数据集运行一个用于增量学习的 AutoAI 实验,然后将该实验保存到笔记本中。

本视频提供了一种直观的方法,帮助您学习本文档中的概念和操作。

将管道保存为启用了增量学习的笔记本

将管道保存为笔记本,以便您可以查看生成该笔记本的代码,从而实现完全透明。 如果管道使用了支持增量学习的批量集成算法,您可以继续在笔记本中使用更多批次的数据对该实验进行训练。

  1. 点击 “另存为笔记本 ”以保存增量学习管道,继续训练。
  2. 为笔记本选择一个运行时环境。

注:

  • 增量学习笔记本所需的资源比标准的 AutoAI 管道或实验笔记本更多,因此该笔记本的运行环境比标准笔记本更大。
  • 生成的笔记本使用了一个名为 的 ExperimentIterableDataset、与Torch兼容的 DataLoader。 该数据加载器支持多种数据源,包括 Db2、 PostgreSQL,、 Amazon S3 以及 Snowflake。 您可以自定义该笔记本以使用其他数据加载器,只要它能以 Pandas DataFrames 的形式返回数据批次即可。

审查实验结果

实验完成训练后,您可以在排行榜中查看这些管道。 管道的排名依据其相对于优化指标的性能表现。 点击管道名称,查看该管道的生成详情。

理解管道结果与比较

请注意以下关于管道项目评分和排名的细节:

  • 对于批量训练的管道,将计算每批数据的分数,以便可以按批次查看性能。 然而,管道模型的最终分数是通过使用用于训练标准管道模型(不采用增量学习)的训练集和保留集来计算的。 该流程确保最终的管道方案均基于相同数据进行评分和排名,以实现公平比较。
  • 在排行榜中查看管道评分时,您可能会发现,应用了更多转换操作的管道,其评分并不一定比未应用这些转换操作的管道更高。 出现这种情况的原因在于,实验训练过程中的特征工程阶段出于性能考虑,会在训练数据样本上寻找最佳的转换方式。 正因如此,对于基于完整数据集训练的管道而言,新生成的特征可能无法显著提升其评分。

后续步骤

AutoAI 增量学习的实现细节