Trabajos de etiquetado en streaming de Ground Truth - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Trabajos de etiquetado en streaming de Ground Truth

Si quieres enviar continuamente nuevos objetos de datos a Amazon SageMaker Ground Truth para que los etiqueten, utiliza un trabajo de etiquetado por streaming. Los trabajos de etiquetado en streaming le permiten:

  • Enviar nuevos objetos del conjunto de datos a los trabajadores en tiempo real mediante un trabajo de etiquetado que se ejecuta permanentemente. Los trabajadores reciben continuamente nuevos objetos de datos para etiquetarlos mientras el trabajo de etiquetado esté activo y se les envíen nuevos objetos.

  • Ver el número de objetos que se han colocado en cola y que están a la espera de ser etiquetados. Utilice esta información para controlar el flujo de objetos de datos que se envían a su trabajo de etiquetado.

  • Recibir los datos de las etiquetas de los objetos de datos individuales en tiempo real a medida que los trabajadores terminen de etiquetarlos.

Los trabajos de etiquetado en streaming de Ground Truth permanecen activos hasta que se detienen manualmente o lleven inactivos durante más de 10 días. Puede enviar nuevos objetos de datos a los trabajadores de forma intermitente mientras el trabajo de etiquetado esté activo.

Si es un usuario nuevo de los trabajos de etiquetado en streaming de Ground Truth, le recomendamos que revise Cómo funciona.

Utilice Crear un trabajo de etiquetado en streaming para aprender a crear un trabajo de etiquetado en streaming.

nota

Los trabajos de etiquetado en streaming de Ground Truth solo son compatibles a través del SageMaker API.

Cómo funciona

Cuando crea un trabajo de etiquetado en streaming de Ground Truth, el trabajo permanece activo hasta que se detiene manualmente, permanece inactivo durante más de 10 días o no puede acceder a los orígenes de datos de entrada. Puede enviar nuevos objetos de datos a los trabajadores de forma intermitente mientras el trabajo esté activo. Un trabajador puede seguir recibiendo nuevos objetos de datos en tiempo real siempre que el número total de tareas disponibles para el trabajador en ese momento sea inferior al valor de MaxConcurrentTaskCount. De lo contrario, el objeto de datos se envía a una cola que Ground Truth crea en su nombre en Amazon Simple Queue Service SQS (Amazon) para su posterior procesamiento. Estas tareas se envían a los trabajadores en cuanto el número total de tareas disponibles en ese momento para un trabajador sea inferior a MaxConcurrentTaskCount. Si un objeto de datos no se envía a un trabajador después de 14 días, caduca. Puede ver el número de tareas pendientes en la cola y ajustar el número de objetos que envía al trabajo de etiquetado. Por ejemplo, puede reducir la velocidad a la que envía los objetos al trabajo de etiquetado si los objetos pendientes superan un umbral.

Envíe datos a un trabajo de etiquetado en streaming

Si lo desea, puede enviar los datos de entrada a un trabajo de etiquetado en streaming una sola vez al crear el trabajo de etiquetado mediante un archivo de manifiesto de entrada. Una vez que el trabajo de etiquetado haya comenzado y se encuentre en ese estadoInProgress, puede enviar nuevos objetos de datos a su trabajo de etiquetado en tiempo real mediante el tema de SNS entrada de Amazon y las notificaciones de eventos de Amazon S3.

Envíe los objetos de datos al iniciar el trabajo de etiquetado (una vez):

  • Utilice un archivo de manifiesto de entrada: si lo desea, puede especificar un archivo de manifiesto de entrada URI en Amazon S3 ManifestS3Uri al crear el trabajo de etiquetado de streaming. Ground Truth envía cada objeto de datos del archivo de manifiesto a los trabajadores para que lo etiqueten en cuanto comience el trabajo de etiquetado. Para obtener más información, consulte Crear un archivo de manifiesto (opcional).

    Después de enviar una solicitud para crear el trabajo de etiquetado en streaming, su estado será Initializing. Una vez que el trabajo de etiquetado esté activo, el estado cambiará a InProgress y podrá empezar a utilizar las opciones en tiempo real para enviar objetos de datos adicionales para realizar el etiquetado.

Envíe objetos de datos en tiempo real:

  • Envía objetos de datos mediante SNS mensajes de Amazon: puedes enviar a Ground Truth nuevos objetos de datos para etiquetarlos enviando un SNS mensaje de Amazon. Enviarás este mensaje a un tema de SNS entrada de Amazon que crees y especifiques al crear tu trabajo de etiquetado de streaming. Para obtener más información, consulte Enviar objetos de datos mediante Amazon SNS.

  • Envíe objetos de datos colocándolos en un bucket de Amazon S3: cada vez que añada un nuevo objeto de datos a un bucket de Amazon S3, podrá solicitar a Ground Truth que procese ese objeto para su etiquetado. Para ello, añades una notificación de evento al bucket para que notifique tu tema de SNS entrada de Amazon cada vez que se añada (o se cree) un nuevo objeto a ese bucket. Para obtener más información, consulte Envíe objetos de datos mediante Amazon S3. Esta opción no está disponible para los trabajos de etiquetado basados en texto, como la clasificación de textos y el reconocimiento de entidades con nombre.

    importante

    Si utiliza la configuración de Amazon S3, no utilice la misma ubicación de Amazon S3 para la configuración de los datos de entrada y los datos de salida. Al crear un trabajo de etiquetado, debe especificar el prefijo S3 para los datos de salida.

Enviar objetos de datos mediante Amazon SNS

Puede enviar objetos de datos a su trabajo de etiquetado de streaming mediante Amazon Simple Notification Service (AmazonSNS). Amazon SNS es un servicio web que coordina y gestiona la entrega de mensajes desde y hacia los puntos finales (por ejemplo, una dirección de correo electrónico o una AWS Lambda función). Un SNS tema de Amazon actúa como un canal de comunicación entre dos o más puntos finales. Utiliza Amazon SNS para enviar o publicar nuevos objetos de datos en el tema especificado en el CreateLabelingJobparámetro SnsTopicArn enInputConfig. El formato de estos mensajes es el mismo que el de una sola línea de un archivo de manifiesto de entrada.

Por ejemplo, puede enviar un fragmento de texto a un trabajo de etiquetado y clasificación de texto activo publicándolo en el tema de entrada. El mensaje que publique puede tener un aspecto similar al siguiente:

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

Para enviar un objeto de imagen nuevo a un trabajo de etiquetado y clasificación de imágenes, el mensaje podría tener un aspecto similar al siguiente:

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

También puedes incluir claves de deduplicación IDs y deduplicación personalizadas en tus mensajes de AmazonSNS. Para obtener más información, consulte Gestión de mensajes duplicados.

Cuando Ground Truth crea tu trabajo de etiquetado en streaming, se suscribe a tu tema de SNS entrada de Amazon.

Envíe objetos de datos mediante Amazon S3

Puede enviar uno o más objetos de datos nuevos a un trabajo de etiquetado de streaming colocándolos en un bucket de Amazon S3 que esté configurado con una notificación de SNS eventos de Amazon. Puedes configurar un evento para que notifique tu tema de SNS entrada de Amazon cada vez que se cree un objeto nuevo en tu bucket. Debes especificar este mismo tema SNS de entrada de Amazon en el CreateLabelingJobparámetro SnsTopicArn inInputConfig.

Cada vez que configure un bucket de Amazon S3 para enviar notificaciones a AmazonSNS, Ground Truth publicará un evento de prueba para garantizar que el tema existe y que el propietario del bucket de Amazon S3 especificado tiene permiso para publicar en el tema especificado. "s3:TestEvent" Se recomienda configurar la conexión de Amazon S3 con Amazon SNS antes de iniciar un trabajo de etiquetado en streaming. Si no lo hace, este evento de prueba puede registrarse como un objeto de datos y enviarse a Ground Truth para etiquetarlo.

importante

Si utiliza la configuración de Amazon S3, no utilice la misma ubicación de Amazon S3 para la configuración de los datos de entrada y los datos de salida. Al crear un trabajo de etiquetado, debe especificar el prefijo S3 para los datos de salida.

Para los trabajos de etiquetado basados en imágenes, Ground Truth requiere que todos los depósitos de S3 tengan una CORS política adjunta. Para obtener más información, consulte CORSRequisito de permiso.

Una vez que hayas configurado tu bucket de Amazon S3 y creado tu trabajo de etiquetado, podrás añadir objetos a tu bucket y Ground Truth enviará ese objeto a los trabajadores o lo colocará en tu SQS cola de Amazon.

Para obtener más información, consulte Configurar notificaciones de eventos de bucket de Amazon S3.

importante

Esta opción no está disponible para los trabajos de etiquetado basados en texto, como la clasificación de textos y el reconocimiento de entidades con nombre.

Gestiona las solicitudes de etiquetado con Amazon SQS Queue

Cuando Ground Truth crea tu trabajo de etiquetado en streaming, crea una SQS cola de Amazon en la AWS cuenta utilizada para crear el trabajo de etiquetado. El nombre de la cola es GroundTruth-labeling_job_name, donde labeling_job_name es el nombre de su trabajo de etiquetado, en minúsculas. Cuando envía objetos de datos a su trabajo de etiquetado, Ground Truth envía los objetos de datos directamente a los trabajadores o coloca la tarea en su cola para procesarla más adelante. Si un objeto de datos no se envía a un trabajador después de 14 días, caduca y se elimina de la cola. Puedes configurar una alarma en Amazon SQS para detectar cuándo caducan los objetos y utilizar este mecanismo para controlar el volumen de objetos que envías a tu tarea de etiquetado.

importante

Modificar, eliminar o enviar objetos directamente a la SQS cola de Amazon asociada a tu trabajo de etiquetado en streaming puede provocar errores en el trabajo.

Reciba datos de salida de un trabajo de etiquetado en streaming

Su bucket de salida de Amazon S3 se actualiza periódicamente con nuevos datos de salida de su trabajo de etiquetado en streaming.

Si lo desea, puede especificar un tema SNS de salida de Amazon. Cada vez que un trabajador envía un objeto etiquetado, se envía una notificación con los datos de salida a ese tema. Puedes suscribir un punto final a tu tema SNS de salida para recibir notificaciones o activar eventos cuando recibas datos de salida de una tarea de etiquetado. Usa un tema SNS de salida de Amazon si quieres encadenarlo en tiempo real a otro trabajo de streaming y recibir una SNS notificación de Amazon cada vez que un trabajador envíe un objeto de datos.

Para obtener más información, consulte Suscribir un punto de conexión a un tema de Amazon SNS.

Gestión de mensajes duplicados

Para los objetos de datos que se envían en tiempo real, Ground Truth garantiza la idempotencia al asegurar que cada objeto único solo se envíe para su etiquetado una vez, incluso si el mensaje de entrada que hace referencia a ese objeto se recibe varias veces (mensajes duplicados). Para ello, a cada objeto de datos que se envía a un trabajo de etiquetado en streaming se le asigna un identificador de deduplicación, que se identifica con una clave de deduplicación.

Si envías tus solicitudes para etiquetar objetos de datos directamente a través del tema de SNS entrada de Amazon mediante Amazon SNS messages, puedes elegir opcionalmente una clave de deduplicación y una deduplicación personalizadas IDs para tus objetos. Para obtener más información, consulte Especificar una clave de deduplicación y un identificador en un mensaje de Amazon SNS.

Si no proporciona su propia clave de deduplicación o si utiliza la configuración de Amazon S3 para enviar objetos de datos a su trabajo de etiquetado, Ground Truth utiliza una de las siguientes opciones para el identificador de deduplicación:

  • Para los mensajes enviados directamente a tu tema SNS de entrada de Amazon, Ground Truth usa el ID del SNS mensaje.

  • Para los mensajes que provienen de una configuración de Amazon S3, Ground Truth crea un ID de deduplicación combinando el Amazon S3 URI del objeto con el token del secuenciador del mensaje.

Especificar una clave de deduplicación y un identificador en un mensaje de Amazon SNS

Cuando envías un objeto de datos a tu trabajo de etiquetado de streaming mediante un SNS mensaje de Amazon, tienes la opción de especificar tu clave de deduplicación y tu ID de deduplicación de una de las siguientes maneras. En todos estos escenarios, identifique su clave de deduplicación con dataset-objectid-attribute-name.

Traiga su propia clave e identificador de deduplicación

Cree su propia clave de deduplicación e ID de deduplicación configurando su SNS mensaje de Amazon de la siguiente manera. Sustituya byo-key por su clave y UniqueId por el identificador de deduplicación de ese objeto de datos.

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

La clave de deduplicación puede tener hasta 140 caracteres. Los patrones admitidos incluyen: "^[$a-zA-Z0-9](-*[a-zA-Z0-9])*".

Su identificador de deduplicación puede tener una longitud de hasta 1024 caracteres. Los patrones admitidos incluyen: ^(https|s3)://([^/]+)/?(.*)$.

Utilice una clave existente para su clave de deduplicación

Puede usar una clave existente en su mensaje como clave de deduplicación. Al hacerlo, el valor asociado a esa clave se usa para el identificador de deduplicación.

Por ejemplo, puede especificar el uso de la clave source-ref como clave de deduplicación si formatea el mensaje de la siguiente manera:

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

En este ejemplo, Ground Truth utiliza "s3://bucket/prefix/object1" para el identificador de deduplicación.

Busque la clave y el identificador de deduplicación en sus datos de salida

Puede ver la clave y el identificador de deduplicación en sus datos de salida La clave de deduplicación se identifica mediante dataset-objectid-attribute-name.

Cuando utiliza su propia clave de deduplicación personalizada, el resultado contiene algo parecido a lo siguiente:

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

Si no especifica una clave, puede encontrar el identificador de deduplicación que Ground Truth ha asignado a su objeto de datos de la siguiente manera. El parámetro $label-attribute-name-object-id identifica su identificador de deduplicación.

{ "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>" }

Para <service-generated-key>, si el objeto de datos proviene de una configuración de Amazon S3, Ground Truth añade un valor único que utiliza el servicio y emite un nuevo campo codificado por $sequencer, que se muestra el secuenciador de Amazon S3 utilizado. Si el objeto fue enviado SNS directamente, Ground Truth usará el ID del SNS mensaje.

nota

No utilice el carácter $ en el nombre del atributo de la etiqueta.