自动数据标记 - 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. Louth name (Ground Truth 理) 运行批处理转换作业,同时使用验证的模型对验证数据进行推理。批量推理为验证数据中的每个对象生成置信度得分和质量指标。

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

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

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

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

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

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

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

Model Training
Automated Labeling
Active Learning

自动标签的准确性

定义Accuracy取决于您与自动标注一起使用的内置任务类型。对于所有任务类型,这些精度要求都由 Ground Truth 值预先确定,无法手动配置。

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

  • 对于边界框,预期均值联合交叉点 (iOU)的自动标签图像为 0.6。要找到平均 iOU,Ground Truth 值计算每个类的图像上所有预测和缺失框的 iOU 平均值,然后在类中平均这些值。

  • 对于语义分割,自动标记图像的预期平均 iOU 为 0.7。要找到平均 iOU,“Ground Truth 值” 将图像中所有类的 iOU 值的均值(不包括背景)。

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

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

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

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

  1. 揭开 Ground Truth标记作业部 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中的Amazon密钥管理服务开发人员指南.

对于一个使用CreateLabelingJob操作以创建自动数据标记作业,请参阅对象检测教程中的示例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。

自动化数据标签将产生两个单独的费用:每件商品费用(请参阅定价),以及运行模型所需的 Amazon EC2 实例的费用(请参阅Amazon EC2 定价)。

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

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

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

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