- 入门指南
- 框架组件
- ML 包
- 管道
- Data Manager
- OCR 服务
- 部署在 Automation Suite 中的 Document Understanding
- 在 AI Center 独立版中部署的 Document Understanding
- 深度学习
- 许可
- 参考
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.Intelligent OCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.DocumentProcessing.Contracts
- UiPath.OmniPage.Activities
- UiPath.PDF.Activities
在训练/再训练 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 个文件夹中:documents、metadata 和 predictions 文件夹。
此文件夹中的数据将自动导入到 Data Manager 中,并与先前存在的数据合并,并导出为正确的格式,以供训练或完整管道使用。
2. Data Manager:计划导出功能
From a Data Manager session, click the Export button
, go to the Schedule (Preview) tab, and enable the Scheduling slider. Then select a start time and a recurrence. When ready, click the Schedule button.
“向后兼容导出”复选框使您能够应用旧版导出行为,即将每个页面导出为单独的文档。如果使用默认方式导出的已训练模型未达到预期效果,请尝试以下方法。取消选中此项以原始多页形式导出文档。
最小重复周期为 1 天,最大重复周期为 60 天。
鉴于 AI Center 训练管道主要配置为每周运行,因此建议重复周期设为 7 天。
When you set the schedule for export, the imported data from the fine-tune folder is exported to the export folder under auto-exporttime_stamp.
更具体地说,“计划导出”将步骤 1 中创建的微调文件夹中存在的数据导入,然后将完整的数据集(包括先前存在的数据和新导入的“验证站点”数据)导出到导出文件夹中。因此,随着每个计划的导出,导出的数据集都会变得越来越大。
如果这是第一次计划导出,则更新或创建文件“latest.txt”。在这里,您可以看到 Data Manager 进行的最新导出的名称。但是,架构导出不会更新“latest.txt”。此文件由 AI Center 中的自动再训练管道用于确定哪个文件是最新的导出文件,以便始终对最新数据进行训练,因此您不应删除或修改它,否则自动重新训练管道将失败。
The Scheduled import+export operation might take up to 1-2 hours, depending on how much data was sent from Step 1 during the previous week. We recommend you choose a time when you will not use the Data Manager due to the fact that when an export operation is ongoing no other exports or imports are allowed. However, labeling is always possible.
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 模型。