document-understanding
latest
false
UiPath logo, featuring letters U and I in white

Document Understanding 用户指南

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
上次更新日期 2024年12月12日

训练管道

提示:现在,通过使用Document Understanding TM产品(而不是 AI Center 服务),利用“一键提取”和“一键分类”功能,可以更方便地训练提取程序和分类器。
重要提示:

最小数据集大小

为了成功运行训练管道,我们强烈建议数据集中的每个已标记字段至少具有 10 个文档和 5 个样本。否则,管道将引发以下错误:Dataset Creation Failed

在 GPU 与 CPU 上进行训练

对于较大的数据集,您需要使用 GPU 进行训练。此外,使用 GPU 进行训练的速度至少是使用 CPU 的 10 倍。有关取决于版本和基础架构的最大数据集大小,请查看下表。
表 1.每个版本的最大数据集
基础架构<2021.10.x2021.10.x>2021.10.x
CPU500 页5000 页1000 页
GPU18,000 页18,000 页18,000 页

如果您在训练大型数据集时遇到管道失败的情况,我们建议您升级到 ML 包版本 24.4 或更高版本。最新版本提供了稳定性增强功能,可以大大减少这些问题。

有关数据集结构的更多信息,请查看数据集格式部分。

有两种方法可以训练 ML 模型:

  • 从头开始训练模型
  • 重新训练开箱即用模型

可以使用 Document Understanding ML 包从头开始训练模型,该包在作为输入提供的数据集上执行此操作。

可以使用开箱即用的 ML 包(例如发票、收据、采购订单、水电费账单、印度发票、澳大利亚发票等)重新训练模型,基本上可以使用除 Document Understanding 以外的任何其他数据提取 ML 包。使用其中一个包进行训练时会产生另外一个输入:基本模型。我们将此称为重新训练,因为您不是从头开始,而是从基本模型开始。这种方法使用了一种称为“迁移学习”的技术,模型会利用另一个预先存在的模型中编码的信息。该模型保留了一些开箱即用的知识,但也会从新数据中学习。但是,随着训练数据集大小的增加,预训练的基本模型会越来越不重要。它主要与中小型训练数据集(最多 500-800 页)相关。

按如下方式配置训练管道:

  • 在“管道类型”字段中,选择“训练运行”。
  • 在“选择包”字段中,选择基于 Document Understanding ML 包创建的包。
  • 在“选择包主要版本”字段中,选择包的主要版本。
  • 在“选择包次要版本”字段中,选择包的次要版本。有关更多信息,请查看下面的“选择次要版本”部分。
  • 在“选择输入数据集”字段中,选择一个数据集,如本页下方视频所示。要构建高质量的训练数据集,您可以查看教程。
  • 在“输入参数”部分中,输入管道定义和使用的任何环境变量(如果有)。对于大多数用例,不需要指定任何参数,模型将使用高级技术来查找高性能配置。但是,您可以使用以下一些环境变量:
  • auto_retraining,您可借此完成自动重新训练循环;如果将该变量设置为 True,则输入数据集必须是与数据所标记的标签会话相关联的“导出”文件夹;如果仍将该变量设置为 False,则输入数据集需要对应于以下数据集格式。
  • model.epochs,用于自定义训练管道的时期数(默认值为 100)。 Optional
    注意:对于包含超过 5000 页的较大数据集,您最初可以使用默认的时期数来执行完整管道运行。这使您可以评估模型的准确性。之后,您可以将时期数减少到约 30-40。此方法可用于比较结果的准确性,并确定减少历元是否会产生相当的精度。

    使用较小的数据集时,尤其是少于 5000 页的数据集,您可以维持默认的时期数。

  • 对于 ML 包 v23.4 或更高版本,在少于 400 页的数据集上进行训练时,需要使用一种称为冻结主干的方法来加速训练并提高性能。但是,您可以选择覆盖此行为并强制执行完整训练,即使对于较小的数据集也如此,或者相反,即使对于较大的数据集(最多 3000 页),也强制执行冻结主干训练。您可以将以下环境变量与条件一起使用,可以将第一个变量与第二个变量一起使用,也可以将第一个变量与第三个变量一起使用。Optional
    • model.override_finetune_freeze_backbone_mode=True - 要覆盖默认行为,请添加此环境变量。在以下两种情况下,此变量都是必需的。
    • model.finetune_freeze_backbone_mode=True - 要强制模型即使对于较大的数据集也使用“冻结主干”,请添加此环境变量。
    • model.finetune_freeze_backbone_mode=False - 要强制模型即使对于较小的数据集也使用“完整训练”,请添加此环境变量。
  • 选择是在 GPU 还是 CPU 上训练管道。默认情况下,“启用 GPU”滑块处于禁用状态,在这种情况下,管道将在 CPU 上进行训练。
  • 请选择管道应何时运行:“立即运行”、“基于时间”或“循环”。如果您使用的是 auto_retraining 变量,请选择“循环”。


  • 配置所有字段后,单击“创建”。已创建管道。

以下是使用先前导出到 AI Center 的数据集创建新训练管道的示例:



选择次要版本

在大多数情况下,应选择次要版本 0。这是因为训练数据集规模越大、越多样化,模型的性能就越好。此原则符合当前最先进的 ML 技术的目标,即使用大型、优质且具有代表性的训练集。因此,当您为模型累积更多训练数据时,应将数据添加到同一数据集,以进一步提高模型的性能。

但是,在某些情况下,在 0 以外的次要版本上进行训练是有意义的。 这通常是因为合作伙伴需要为同一行业的多个客户提供服务,但UiPath™没有针对该行业、地区或文档类型优化的预训练模型。

在这种情况下,合作伙伴可以使用来自该行业的各种文档样本(并非来自单个来源,而是来自多个来源,以便更好地泛化)开发预训练模型。此模型将用作基础模型来训练特定客户模型,并在 ML 包的版本 0 上进行训练。以下版本(例如版本 1)将用于优化预训练模型或创建特定于客户的模型。

但是,为了获得良好的结果,预训练模型应该是无偏倚的,并且基于十分多样化的训练集。如果基本模型已针对特定客户进行优化,则可能对其他客户表现不佳。在这种情况下,使用次要版本 0 作为基本模型效果更好。

  • 选择次要版本

此页面有帮助吗?

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