Ground Truth 直播标签职位 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Ground Truth 直播标签职位

如果您想永久向 Amazon SageMaker Ground Truth 发送新数据对象以进行标签,请使用直播标签作业。直播标签作业允许您:

  • 使用永久运行的标注作业将新的数据集对象实时发送给工作人员。只要标签作业处于活动状态且正在向其发送新对象,工作人员就会持续接收要标记的新数据对象。

  • 了解已排队并等待标记的对象的数量。使用此信息控制发送到标签作业的数据对象的流。

  • 工作人员完成标签后,实时接收单个数据对象的标签数据。

Ground Truth 直播标签作业将保持活动状态,直到手动停止或空闲超过 10 天。在标签作业处于活动状态时,您可以间歇性地向工作人员发送新的数据对象。

如果您是 Ground Truth 直播标记作业的新用户,建议您查阅。工作方式.

使用创建直播标记 Job以了解如何创建流式标记作业。

注意

Ground Truth 流标签作业只能通过 SageMaker API 支持。

工作方式

当您创建 Ground Truth 流式标签作业时,该作业将保持活动状态,直到手动停止、空闲超过 10 天或无法访问输入数据源。当工作人员处于活动状态时,您可以间歇性地将新数据对象发送给工作 只要工作人员当前可用的任务总数少于中的值,工作人员就可以继续实时接收新的数据对象MaxConcurrentTaskCount. 否则,数据对象将被发送到 Ground Truth 代表您创建的队列Amazon Simple Queue Service(Amazon SQS) 以便稍后处理。一旦工作人员当前可用的任务总数低于工作人员,这些任务就会立即发送给工作人员MaxConcurrentTaskCount. 如果数据对象在 14 天后没有发送给工作人员,则该数据对象将过期。您可以查看队列中待处理的任务数,并调整发送到标记作业的对象数。例如,如果待处理对象的积压超过阈值,则可能会降低将对象发送到标记作业的速度。

将数据发送到流式标记 Job

在使用输入清单文件创建标签作业时,您可以选择性地将输入数据提交到流式标签作业一次。一旦标签作业开始并且状态为InProgress,您可以使用 Amazon SNS 输入主题和 Amazon S3 事件通知实时向标签作业提交新数据对象。

启动标签 Job 时提交数据对象(一次性):

  • 使用输入清单文件— 您可以选择在中指定输入清单文件 Amazon S3 URIManifestS3Uri当你创建流媒体标签作业时。在标签作业开始后,Ground Truth 会立即将清单文件中的每个数据对象发送给工作人员进行标记。要了解更多信息,请参阅 创建清单文件(可选)

    提交创建流式标签作业的请求后,其状态将为Initializing. 标签作业处于活动状态后,状态将更改为InProgress你可以开始使用实时选项来提交额外的数据对象以进行标记。

实时提交数据对象:

  • 使用 Amazon SNS 消息发送数据对象— 您可以通过发送 Amazon SNS 消息将 Ground Truth 新的数据对象发送到标签。您将将此消息发送到您创建的 Amazon SNS 输入主题,并在创建流式标签作业时指定该主题。有关更多信息,请参阅 使用 Amazon SNS 发送数据对象

  • 通过将数据对象放入 Amazon S3 存储桶中发送数据对象— 每次向 Amazon S3 存储桶添加新数据对象时,都可以提示 Ground Truth 处理该对象以进行标记。为此,您可以向存储桶添加事件通知,以便每次向 (或) 添加新对象时通知您的 Amazon SNS 输入主题创建于) 存储桶。有关更多信息,请参阅 使用 Amazon S3 发送数据对象。此选项不适用于基于文本的标签作业,例如文本分类和命名实体识别。

    重要

    如果您使用 Amazon S3 配置,请勿将相同的 Amazon S3 位置用于输入数据配置和输出数据。在您创建标记作业时,您可以为输出数据指定 S3 前缀。

使用 Amazon SNS 发送数据对象

您可以使用 Amazon Simple Notification Service (Amazon SNS) 将数据对象发送到直播标记作业。Amazon SNS 是一项 Web 服务,用于协调和管理往返传输消息的过程。终端(例如,电子邮件地址或Amazon Lambda函数)。Amazon SNS话题充当两个或多个终端之间的通信渠道。您使用 Amazon SNS 发送,或发布中指定的主题的新数据对象CreateLabelingJob参数SnsTopicArnInputConfig. 这些消息的格式与来自输入清单文件.

例如,您可以通过将文本发布到输入主题来将文本发送到活动文本分类标签作业。您发布的消息类似于以下内容:

{"source": "Lorem ipsum dolor sit amet"}

要将新图像对象发送到图像分类标签作业,您的消息可能类似于以下内容:

{"source-ref": "s3://awsexamplebucket/example-image.jpg"}
注意

您还可以在 Amazon SNS 消息中包含自定义重复数据消除 ID 和重复数据消除密钥。要了解更多信息,请参阅 处理重复消息

当 Ground Truth 创建您的直播标签作业时,它会订阅您的 Amazon SNS 输入主题。

使用 Amazon S3 发送数据对象

您可以将一个或多个新数据对象发送到流式标签作业,方法是将它们放在配置了 Amazon SNS 事件通知的 Amazon S3 存储桶中。您可以设置一个事件,以便在存储桶中创建新对象时通知您的 Amazon SNS 输入主题。Amazon SNS 必须在CreateLabelingJob参数SnsTopicArnInputConfig.

每当您将 Amazon S3 存储桶配置为向 Amazon SNS 发送通知时,Ground Truth 都会发布测试事件,"s3:TestEvent",以确保主题存在,并且指定的 Amazon S3 存储桶的拥有者有权发布到指定主题。建议您在开始直播标签作业之前,先设置 Amazon S3 与 Amazon SNS 的连接。如果不这样做,此测试事件可能会注册为数据对象并发送到 Ground Truth 进行标签。

重要

如果您使用 Amazon S3 配置,请勿将相同的 Amazon S3 位置用于输入数据配置和输出数据。在您创建标记作业时,您可以为输出数据指定 S3 前缀。

对于基于映像的标签作业,Ground Truth 要求所有 S3 存储桶都附加 CORS 策略。要了解更多信息,请参阅 CORS 许可要求

配置 Amazon S3 存储桶并创建标签作业后,您可以将对象添加到存储桶中,然后 Ground Truth 将该对象发送给工作人员或将其放在 Amazon SQS 队列中。

要了解更多信息,请参阅 设置 Amazon S3 存储桶事件通知

重要

此选项不适用于基于文本的标签作业,例如文本分类和命名实体识别。

使用 Amazon SQS 队列管理贴标请求

当 Ground Truth 创建您的直播标签作业时,它会在Amazon用于创建标签作业的帐户。队列名称为GroundTruth-labeling_job_name哪里labeling_job_name是你的标签工作的名称,用小写字母表示。当您将数据对象发送到标记作业时,Ground Truth 要么将数据对象直接发送给工作人员,或者将任务放在队列中以便稍后处理。如果数据对象在 14 天后没有发送给工作人员,则该数据对象将过期并从队列中删除。您可以在 Amazon SQS 中设置警报以检测对象何时过期,并使用此机制控制发送到标签作业的对象的数量。

重要

修改、删除对象或直接将对象发送到与您的流式标签作业关联的 Amazon SQS 队列可能会导致作业失败。

从流式标签 Job 接收输出数据

您的 Amazon S3 输出存储桶会定期使用流式标签作业中的新输出数据进行更新。

或者,您可以指定 Amazon SNS 输出主题。每次工作人员提交带标签的对象时,都会向该主题发送包含输出数据的通知。您可以为终端节点订阅 SNS 输出主题,以便在接收标签任务的输出数据时接收通知或触发事件。如果您想实时链接到另一个流式作业,并在工作人员每次提交数据对象时都会收到 Amazon SNS 通知,请使用 Amazon SNS 输出主题。

要了解更多信息,请参阅 为终端节点订阅您的 Amazon SNS 输出主题

处理重复消息

对于实时发送的数据对象,Ground Truth 通过确保每个唯一对象仅发送一次进行标记,即使指向该对象的输入消息被多次接收(重复消息),从而保证幂等性。为此,发送到流式标签作业的每个数据对象都会被分配重复数据删除 ID,其标识为重复数据删除键.

如果您使用 Amazon SNS 消息直接通过 Amazon SNS 输入主题发送标记数据对象的请求,则可以选择为对象选择自定义重复数据消除密钥和重复数据删除 ID。有关更多信息,请参阅 在 Amazon SNS 消息中指定重复数据删除密钥和 ID

如果您没有提供自己的重复数据消除密钥,或者如果您使用 Amazon S3 配置将数据对象发送到标签作业,Ground Truth 将使用以下选项之一作为重复数据消除 ID:

  • 对于直接发送到您的 Amazon SNS 输入主题的消息,Ground Truth 使用 SNS 消息 ID。

  • 对于来自 Amazon S3 配置的消息,Ground Truth 将对象的 Amazon S3 URI 与序列器令牌在消息中。

在 Amazon SNS 消息中指定重复数据删除密钥和 ID

当您使用 Amazon SNS 消息将数据对象发送到直播标签作业时,您可以选择通过以下方式之一指定重复数据删除密钥和重复数据消除 ID。在所有这些情况下,请使用识别重复数据删除密钥dataset-objectid-attribute-name.

带上自己的重复数据删除密钥和 ID

通过按如下方式配置 Amazon SNS 消息,创建自己的重复数据消除密钥和重复数据消除 ID。Replacebyo-key用你的钥匙UniqueId使用该数据对象的重复数据删除 ID。

{ "source-ref":"s3://bucket/prefix/object1", "dataset-objectid-attribute-name":"byo-key", "byo-key":"UniqueId" }

您的重复数据删除密钥最多 140 个字符。支持的模式包括:"^[$a-zA-Z0-9](-*[a-zA-Z0-9])*".

您的重复数据删除 ID 最多可以有 1024 个字符。支持的模式包括:^(https|s3)://([^/]+)/?(.*)$.

将现有密钥用于重复数据删除密钥

您可以在消息中使用现有密钥作为重复数据消除密钥。执行此操作时,与该键关联的值将用于重复数据消除 ID。

例如,您可以指定使用source-ref键作为重复数据删除密钥,方法是将消息格式化如下:

{ "source-ref":"s3://bucket/prefix/object1", "dataset-objectid-attribute-name":"source-ref" }

在此示例中,Ground Truth 使用"s3://bucket/prefix/object1"对于重复数据删除 ID。

在输出数据中查找重复数据删除密钥和 ID

您可以在输出数据中看到重复数据消除密钥和 ID。重复数据删除密钥的标识方式是dataset-objectid-attribute-name.

当您使用自己的自定义重复数据删除密钥时,输出内容包含类似于以下内容:

"dataset-objectid-attribute-name": "byo-key", "byo-key": "UniqueId",

如果不指定密钥,则可以找到 Ground Truth 分配给数据对象的重复数据删除 ID,如下所示。这些区域有:$label-attribute-name-object-id参数标识重复数据消除 ID。

{ "source-ref":"s3://bucket/prefix/object1", "dataset-objectid-attribute-name":"$label-attribute-name-object-id" "label-attribute-name" :0, "label-attribute-name-metadata": {...}, "$label-attribute-name-object-id":"<service-generated-key>" }

适用于<service-generated-key>,如果数据对象是通过 Amazon S3 配置来的,Ground Truth 会添加服务使用的唯一值,并发出一个新字段$sequencer其中显示了使用的 Amazon S3 序列器。如果对象直接馈送到 SNS,Ground Truth 将使用 SNS 消息 ID。

注意

请勿使用$标签属性名称中的字符。