自动数据标记 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自动数据标记

如果您选择,Amazon SageMaker Ground Truth 可以使用主动学习自动标记某些内置任务类型的输入数据。主动学习 是一种机器学习技术,可识别应由您的工作人员标记的数据。在 Ground Truth 中,此功能称为自动数据标记。自动数据标记与只用人工相比,有助于减少标记数据集所需的成本和时间。当您使用自动标记时,您会产生 SageMaker 训练和推理成本。

我们推荐在大型数据集上使用自动标签,因为用于主动学习的神经网络对于每个新的数据集需要大量的数据。通常,随着您提供的数据增长,高精度预测的可能性也会增长。只有在自动标记模型中使用的神经网络能够达到可接受的高精度时,数据才会被自动标记。因此,对于较大的数据集,能自动标记数据的可能性更大,因为神经网络可以实现自动标记所需的足够高的准确性。当您拥有数千个数据对象时,自动数据标记最为合适。自动数据标记允许的最小对象数量为 1,250,但我们强烈建议至少提供 5,000 个对象。

自动数据标记仅适用于以下 Ground Truth 内置任务类型:

流式标记作业不支持自动数据标记。

要了解如何使用自己的模型创建自定义活跃学习工作流,请参阅。使用自己的模型设置主动学习工作流.

输入数据配额适用于自动数据标记作业。请参阅输入数据配额有关数据集大小、输入数据大小和分辨率限制的信息。

注意

在生产中使用自动标记模型之前,您需要对其进行优化和/或测试。您可以针对由您的标记作业生成的数据集来优化模型(或创建并优化您选择的另一个监管式模型),以优化模型的架构和超参数。如果您决定使用该模型进行推理而不进行优化,我们强烈建议确保在使用 Ground Truth 标记的数据集的代表性(例如随机选择的)子集上评估其准确率,且准确率与您的期望目标匹配。

工作方式

在您创建标记作业时开启自动数据标记功能。以下是具体工作原理:

  1. 当 Ground Truth 启动自动数据标记作业时,它选择输入数据对象的一个随机样本,并将其发送给工作人员。如果超过 10% 的这些数据对象失败,标注作业将失败。如果标签作业失败,除了查看 Ground Truth 返回的任何错误消息之外,还要检查您的输入数据是否在工作人员 UI 中正确显示、说明是否明确,以及您为工作人员提供了足够的时间来完成任务。

  2. 返回标记的数据时,它用于创建训练集和验证集。Ground Truth 使用这些数据集来训练和验证用于自动标记的模型。

  3. Ground Truth 运行批处理转换作业,同时使用验证的模型对验证数据进行推理。批量推理为验证数据中的每个对象生成置信度得分和质量指标。

  4. 自动标记组件将使用这些质量指标和置信度得分创建信心分数阈值这确保了质量的标签。

  5. Ground Truth 对数据集中未标记的数据运行批处理转换作业,同时使用相同的已验证模型进行推理。这会为每个对象生成置信度得分。

  6. Ground Truth 自动标记组件确定在步骤 5 中为每个对象生成的置信度得分是否满足在步骤 4 中确定的所需阈值。如果置信度得分满足阈值,则自动标记的预期质量超过要求的准确度水平,并将该对象视为自动标记。

  7. 步骤 6 生成具有置信度分数的未标记数据集。Ground Truth 从此数据集中选择置信度低的数据点并将其发送给工作人员。

  8. Ground Truth 使用现有的人工标记数据和来自工作人员的这些额外标记数据更新模型。

  9. 该过程将重复执行,直到数据集被完全标记或者直到满足其他停止条件为止。例如,如果达到人工注释预算,自动标记将停止。

上述步骤发生在迭代中。选择下表中的每个选项卡,以查看对象检测自动标记作业的每次迭代中发生的流程示例。这些图像中给定步骤中使用的数据对象的数量(例如 200)特定于此示例。如果要标记的对象少于 5,000,则验证集大小为整个数据集的 20%。如果输入数据集中有 5,000 个以上的对象,则验证集大小为整个数据集的 10%。您可以通过更改值来控制每次活动学习迭代收集的人类标签的数量MaxConcurrentTaskCount使用 API 操作时CreateLabelingJob. 当您使用控制台创建标记作业时,此值设置为 1,000。在 “主动学习流程” 下所示主动学习选项卡,此值设置为 200。

Model Training
Automated Labeling
Active Learning

自动标签的准确性

定义准确性取决于您在自动标签中使用的内置任务类型。对于所有任务类型,这些准确性要求由 Ground Truth 预先确定,不能手动配置。

  • 对于图像分类和文本分类,Ground Truth 使用逻辑来查找与至少 95% 标签准确度相对应的标签预测置信度。这意味着 Ground Truth 预计,与人工贴标机为这些示例提供的标签相比,自动标签的准确性至少为 95%。

  • 对于边界框,预期的平均值交叉点在联盟 (iOU)的自动标记的图像是 0.6。为了找到 IU 的平均值,Ground Truth 会计算每个班级图像上所有预测和错过的框的平均 iU,然后在各班级中对这些值进行平均值。

  • 对于语义分段,自动标记图像的预期平均值为 0.7。为了找到平均值 iOU,Ground Truth 采用图像中所有类(不包括背景)的 IOU 值的平均值。

在 Active Learning 的每次迭代(上面列表中的步骤 3-6)中,可以使用人工注释的验证集找到置信阈值,以便自动标记对象的预期准确度满足某些预定义的准确性要求。

创建自动数据标记作业(控制台)

要在 SageMaker 控制台中创建使用自动标签的标签作业,请按以下步骤操作。

创建自动数据标记作业(控制台)

  1. 打开地面的真相标记作业SageMaker 控制台的部分:https://console.amazonaws.cn/sagemaker/groundtruth.

  2. 使用创建标记作业(控制台)作为指南,完成 Job overview (作业概览)Task type (任务类型) 部分。请注意,自定义任务类型不支持自动标记。

  3. Workers (工作人员) 下,选择您的人力类型。

  4. 在同一部分中,选择 Enable automated data labeling (启用自动数据标记)

  5. 使用第 4 步:配置边界框工具作为指南,在 Task Type labeling tool (任务类型标记工具) 部分中创建工作人员说明。例如,如果您选择了语义分割作为标签工作类型,此部分被称为语义分割标记工具.

  6. 要预览工作人员说明和控制面板,请选择 Preview (预览)

  7. 选择创建。这样,您就创建并启动标记作业和自动标记流程。

你可以看到你的贴标作业出现在标记作业SageMaker 控制台的部分。您的输出数据显示在创建标记作业时指定的 Amazon S3 存储桶中。有关标记作业输出数据的格式和文件结构的更多信息,请参阅 输出数据

创建自动数据标记作业 (API)

要使用 SageMaker API 创建自动数据标记作业,请使用LabelingJobAlgorithmsConfig的参数CreateLabelingJoboperation. 要了解如何使用启动标记作业CreateLabelingJob操作,请参阅创建标记作业 (API).

LabelingJobAlgorithmSpecificationArn 参数中指定您用于自动数据标记的算法的 Amazon 资源名称 (ARN)。从自动标记支持的四种 Ground Truth 内置算法中选择一种:

当自动数据标记作业完成后,Ground Truth 返回其用于自动数据标记作业的模型的 ARN。通过在 InitialActiveLearningModelArn 参数中以字符串格式提供 ARN,将此模型用作类似的自动标记作业类型的起始模型。要检索模型的 ARN,请使用类似于以下内容的 Amazon Command Line Interface (Amazon CLI) 命令。

# Fetch the mARN of the model trained in the final iteration of the previous labeling job.Ground Truth pretrained_model_arn = sagemaker_client.describe_labeling_job(LabelingJobName=job_name)['LabelingJobOutput']['FinalActiveLearningModelArn']

要加密附加到用于自动标记的 ML 计算实例的存储卷上的数据,请在 VolumeKmsKeyId 参数中包括一个 Amazon Key Management Service (Amazon KMS) 密钥。有关的信息AmazonKMS 密钥,请参阅是什么AmazonKey Management Service?中的AmazonKey Management Service 开发者指南.

对于使用CreateLabelingJob操作以创建自动数据标记作业,请参阅object_探测_教程示例中的SageMaker 示例Ground Truth 标记作业SageMaker 笔记本实例的部分。要了解如何创建和打开笔记本实例,请参阅创建笔记本实例。要了解如何访问 SageMaker 示例笔记本,请参阅示例笔记本.

自动数据标记所需的 Amazon EC2 实例

下表列出了为训练和批次推理作业运行自动数据标记所需的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

自动数据标记作业类型 训练实例类型 推理实例类型

图像分类

ml.p3.2xlarge*

ml.c5.xlarge

对象检测(边界框)

ml.p3.2xlarge*

ml.c5.4xlarge

文本分类

ml.c5.2xlarge

ml.m4.xlarge

语义分割

ml.p3.2xlarge*

ml.p3.2xlarge*

* 在亚太地区(孟买)区域 (ap-south-1) 中,改用 ml.p2.8xlarge。

Ground Truth 管理您用于自动数据标记作业的实例。它根据需要创建、配置和终止实例以执行作业。这些实例不会显示在您的 Amazon EC2 实例控制面板中。

使用自己的模型设置主动学习工作流

您可以使用自己的算法创建主动学习工作流程,以便在该工作流程中运行训练和推理以自动标记数据。笔记本电脑 bring_YOUR_own_model_for_sagemaker_labeling_workflow_WIT_active_learning.ipynb 使用 SageMaker 内置算法演示了这一点,BlazingText. 这本笔记本提供了Amazon CloudFormation你可以用来执行此工作流程的堆栈Amazon Step Functions. 您可以在此处找到笔记本和支持文件。GitHub 存储库.

您还可以在 SageMaker 示例存储库中找到此笔记本。请参阅使用示例笔记本了解如何找到 Amazon SageMaker 示例笔记本。