document-understanding
2021.10
false
Document Understanding 用户指南
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年10月17日

自动微调循环(公开预览)

在训练/再训练 ML 模型时,首先要牢记的是,通过将所有数据累积到单个大型且理想情况下精心策划的数据集中,可以获得最佳结果。在数据集 A 上进行训练,然后在数据集 B 上重新训练生成的模型,这样产生的结果将远不如在组合的数据集 A+B 上训练的结果。

第二点要牢记的是,并非所有数据都相同。与在具有不同焦点的工具(如“验证站点”)中标记的数据相比,在专用工具(如 Data Manager)中标记的数据通常质量更高,并且所生成的模型也更好。从业务流程的角度来看,来自“验证站点”的数据可能是高质量的,但从模型训练的角度来看,则不是如此,因为 ML 模型需要非常特定形式的数据,这几乎总是与业务流程所需的形式不同。例如,在一张 10 页的发票上,发票编号可能会出现在每一页上,但在“验证站点”中,只需在第一页上指出该编号,而在 Data Manager 中,您要在每一页上为其加上标签。在这种情况下,“验证站点”数据中会缺失 90% 的正确标签。因此,如上所述,“验证站点”数据实用性有限。

要有效训练 ML 模型,您需要一个全面、优质、有代表性的数据集。因此,一种累积方法是向输入数据集添加更多数据,从而每次都使用更大的数据集训练 ML 模型。实现此目的的一种方法是使用自动微调循环。

为了更好地理解此功能,让我们来看看自动微调在 ML 模型生命周期中的适用位置。

ML 模型的生命周期

在任何机器学习模型的生命周期中,都有两个主要阶段:

  • 构建阶段
  • “维护”阶段

构建阶段

在此第一阶段,您将使用数据管理器准备训练数据集评估数据集,以便获得可能的最佳性能。

同时,您需要围绕 ML 模型构建 RPA 自动化和业务逻辑,这对于获取预期的投资回报来说,至少与模型本身同样重要。

维护阶段

在第二阶段中,您将尝试保持在构建阶段所达到的高性能水平,从而防止性能下降。

自动微调(和验证站点数据,一般来说)仅与维护阶段相关。自动微调的目的主要是防止 ML 模型随着经历流程的数据发生变化而回退。

重要提示:使用“验证站点”从人工验证反馈的数据不应用于从头开始构建模型。构建模型应通过在 Data Manager 中准备训练和评估数据集来完成。

自动微调循环组件

先决条件

要实现此功能,必须先满足两个要求:

  • 您需要在 AI Center 中创建一个 Data Manager 会话,并配置一定数量的字段,更确切地说,是为了标记高质量的训练和评估数据集。您可以手动定义字段,也可以导入架构。如果未配置字段,则“计划(预览版)”选项卡不会启用,并且屏幕上会显示以下消息:



  • 您需要训练 ML 模型的几个版本,进行测试,修复可能发生的任何问题,并将其部署到 RPA + AI 自动化。

1. Robot 工作流:机器学习提取程序训练器活动

训练提取程序作用域中,将“机器学习提取程序训练器”活动添加到您的工作流中,正确配置作用域,并确保“框架别名”包含与“数据提取作用域”中机器学习提取程序相同的别名。

然后,选择对应项目,以及包含您的培训和评估数据集并与 Data Manager 会话相关的数据集。连接到 Orchestrator 后,下拉菜单将预先填充。

注意:如果要在工作流中本地导出数据,则可以设置“输出文件夹”属性的值。


您可以在 AI Center 的“数据标签”视图中的“数据标签”会话名称旁边看到“数据集名称”:



对于选定的数据集,“机器学习提取程序训练器”活动将创建一个微调文件夹,并在其中将导出的文档写入 3 个文件夹中:documentsmetadatapredictions 文件夹。



此文件夹中的数据将自动导入到 Data Manager 中,并与先前存在的数据合并,并导出为正确的格式,以供训练或完整管道使用。

2. Data Manager:计划导出功能

Data Manager 会话中,单击“导出”按钮 ,前往“计划(预览版)”选项卡,然后启用“计划”滑块。然后选择开始时间和重复周期。准备就绪后,单击“计划”按钮。

“向后兼容导出”复选框使您能够应用旧版导出行为,即将每个页面导出为单独的文档。如果使用默认方式导出的已训练模型未达到预期效果,请尝试以下方法。取消选中此项以原始多页形式导出文档。

备注:

最小重复周期为 1 天,最大重复周期为 60 天。

鉴于 AI Center 训练管道主要配置为每周运行,因此建议重复周期设为 7 天。



当您设置导出计划时,“微调”文件夹中的导入数据将导出到“导出”文件夹中“自动导出 time_stamp”下。

更具体地说,“计划导出”将步骤 1 中创建的微调文件夹中存在的数据导入,然后将完整的数据集(包括先前存在的数据和新导入的“验证站点”数据)导出到导出文件夹中。因此,随着每个计划的导出,导出的数据集都会变得越来越大。

如果这是第一次计划导出,则更新或创建文件“latest.txt”。在这里,您可以看到 Data Manager 进行的最新导出的名称。但是,架构导出不会更新“latest.txt”。此文件由 AI Center 中的自动再训练管道用于确定哪个文件是最新的导出文件,以便始终对最新数据进行训练,因此您不应删除或修改它,否则自动重新训练管道将失败。



注意:计划的“导入 + 导出”操作最多可能需要 1-2 小时,具体取决于前一周第 1 步发送的数据量。我们建议您选择不使用 Data Manager 的时间,因为在正在进行导出操作时,不允许进行其他导出或导入操作。但是,始终可以加标签。

3. AI Center:计划的自动重训练管道

在 AI Center 中安排训练或完整管道时,需要考虑几个方面。

首先,强烈建议您创建评估数据集,并且只计划完整管道。完整管道同时运行“训练”和“评估”,“评估”管道使用“评估”数据集生成分数。此分数对于决定新版本是否优于旧版本至关重要,并且可以部署以供 Robot 使用。

其次,对于完整管道,您需要指定两个数据集:输入数据集和评估数据集。



在自动微调循环功能的上下文中,评估数据集没有变化。您仍然需要像往常一样选择一个数据集,其中包含两个文件夹:images 和 latest,以及两个文件:schema.json 和 split.csv。

但是,输入数据集不再是数据集,您需要选择连接到数据标签会话的 AI Center 数据集中的导出文件夹。这样,训练将在数据标签会话的最新导出文件夹上运行,而评估在您指定的同一个评估数据集上运行。

重要提示:如果不选择导出文件夹,则自动重新训练将不起作用。

第三,您需要将“自动重训练”环境变量设置为“True”

最后,您需要选择“周期性”活动并设置日期和时间,以便有足够的时间从 Data Manager 中完成导出。例如,如果 Data Manager 导出在周六的凌晨 1 点运行,那么管道可能在周六的凌晨 2 或 3 点运行。如果在管道运行时导出未完成,则使用先前的导出,并且可能会对上周训练的相同数据进行再训练。



4.(可选)自动更新 ML 技能

如果您想自动部署由自动计划的训练管道生成的 ML 包的最新版本,您可以启用 ML 技能上的自动更新功能。

备注:

无论准确性得分是否比之前的训练有所提高,ML 技能都会自动更新,因此请谨慎使用此功能。

在某些情况下,即使特定字段得分可能会稍微下降,总分还是有可能提高。但是,该字段对于您的业务流程可能至关重要,因此,通常来说,自动更新和自动再培训需要进行仔细监控,以确保成功。



自动微调循环已完成。现在,您可以使用来自验证站点的数据自动重新训练 ML 模型。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。