控制发送给工作人员的数据对象流 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

控制发送给工作人员的数据对象流

根据您创建的标注作业的类型,Amazon SageMaker Ground Truth 会批量或以流式传输方式向工作人员发送数据对象。您可以通过以下方式控制数据对象向工作人员的流动:

  • 对于这两种类型的标注作业,您都可以使用 MaxConcurrentTaskCount 以控制标注作业运行的给定时间点所有工作人员可用的数据对象的总数。

  • 对于流式标注作业,您可以通过监控发送到与标注作业相关联的 Amazon SQS 的数据对象数量,来控制流向工作人员的数据对象流。

可通过以下部分了解有关这些选项的更多信息。要详细了解流式标注作业,请参阅Ground Truth 流式标注作业

使用 MaxConcurrentTaskCount 控制数据对象流

MaxConcurrentTaskCount 定义了可由工作人员同时标注的数据对象的最大数量。如果使用控制台,则此参数设置为 1000。如果使用 CreateLabelingJob,则可以将此参数设置为介于 1 和 1000 之间的任意整数(包括 1 和 1000)。

当您使用输入清单文件启动标注作业时,Ground Truth 会执行以下操作:

  1. 对于输入清单文件中列出的每个数据对象,将创建一个或多个任务,具体取决于您为 NumberOfHumanWorkersPerDataObject 指定的值。例如,如果将每个数据对象的工作人员数设置为 3,则将为每个数据集对象创建 3 个任务。要标记为已成功标注,至少必须有一个工作人员标注对象。或者,任务可以过期或被拒绝。

  2. 如果您使用的是 Mechanical Turk 人力,Ground Truth 会首先向您的工作人员发送一批 10 个数据集对象。它使用这个小批次来设置标注作业,并确保该作业得到正确配置。

  3. 接下来,Ground Truth 会向工作人员发送 MaxConcurrentTaskCount 数量的数据集对象。例如,如果输入清单文件中有 2000 个输入数据对象,并且已将每个数据对象的工作人员数量设置为 3,并将 MaxConcurrentTaskCount 设置为 900,则输入清单中的前 900 个数据对象将发送给工作人员,对应于 2700 个任务 (900 x 3)。这是发送给工作人员的第一组全尺寸对象。

  4. 接下来会发生什么取决于您创建的标注作业的类型。此步骤假定输入清单文件中的一个或多个数据集对象,或使用 Amazon SNS 输入数据来源(在流式标注作业中)发送的数据集对象未包含在步骤 3 中发送给工作人员的数据集中。

    • 流式标注作业:只要工作人员可用的对象总数等于 MaxConcurrentTaskCount,输入清单文件中的所有剩余数据集对象以及使用 Amazon SNS 实时发送的数据集对象都会置于 Amazon SQS 队列中。当工作人员可用的对象总数低于 MaxConcurrentTaskCount 减去 NumberOfHumanWorkersPerDataObject 时,则使用队列中的新数据对象来创建 NumberOfHumanWorkersPerDataObject 个任务,并实时发送给工作人员。

    • 非流式标注作业:当工作人员完成一组对象的标注时,将向工作人员发送多达 MaxConcurrentTaskCount 乘以 NumberOfHumanWorkersPerDataObject 数量的新任务。重复此过程,直到输入清单文件中的所有数据对象都被标注为止。

使用 Amazon SQS 控制流式标注作业的数据对象流

创建流式标注作业时,您的账户中会自动创建一个 Amazon SQS 队列。仅当发送给工作人员的对象总数超过 MaxConcurrentTaskCount 时,数据对象才会添加到 Amazon SQS 队列。否则,对象将直接发送给工作人员。

您可以使用此队列来管理标注作业的数据对象流。要了解更多信息,请参阅使用 Amazon SQS 队列管理标注请求