¿Cómo soluciono los errores de etiquetado de Amazon SageMaker Ground Truth?

Última actualización: 24/10/2022

Quiero solucionar los errores de etiquetado de Amazon SageMaker Ground Truth.

o

Mis empleados de SageMaker están inactivos.

o

Las tareas tardan mucho en aparecer para mis empleados de SageMaker.

Resolución

SageMaker Ground Truth primero envía un lote de 10 tareas a sus empleados de SageMaker para las anotaciones. Este lote se utiliza para comprobar y asegurarse de que el trabajo de etiquetado está correctamente configurado. A continuación, Ground Truth envía lotes más grandes de tareas a los empleados para que realicen anotaciones basadas en el valor MaxConcurrentTaskCount.

MaxConcurrentTaskCount define el número máximo de objetos de datos que los empleados pueden etiquetar al mismo tiempo. Si usa la consola, este parámetro se configura en 1000. Si usa CreateLabelingJob, puede establecer este parámetro en cualquier número entero comprendido entre 1 y 1000, ambos inclusive.

Después de que Ground Truth reciba las etiquetas, las procesa con una función AWS Lambda de consolidación. Con esta función, las anotaciones finales se escriben en el archivo de manifiesto o en la salida de Amazon Simple Notification Service (Amazon SNS). A continuación, Ground Truth vuelve a leer otro lote de tareas basado en el valor MaxConcurrentTaskCount del archivo de manifiesto de entrada o del tema de Amazon SNS.

Solución de problemas de latencia de tareas y empleados inactivos

  • Asegúrese de que el valor MaxConcurrentTaskCount esté configurado en un tamaño que permita a los empleados completar todo el lote dentro del TaskAvailabilityLifetimeInSeconds dado. El valor máximo de este parámetro es 1000.
  • Asegúrese de que NumberOfHumanWorkersPerDataObject esté configurado en un valor que se ajuste a su caso de uso. Por ejemplo, si el número de empleados por objeto a etiquetar se configura en 3, entonces cada objeto debe ser etiquetado por tres empleados. Si dos de los empleados terminan el lote actual, el siguiente lote no se asigna hasta que el tercer empleado lo haya terminado. Si un empleado privado observa que un trabajo desaparece del portal, es posible que el empleado haya terminado un lote y esté inactivo mientras espera que haya un nuevo lote disponible.
  • Asegúrese de que TaskAvailabilityLifetimeInSeconds esté configurado en un valor que se ajuste a su caso de uso. Este valor representa el tiempo total que las tareas están disponibles para los empleados. El valor máximo que se puede configurar para este parámetro es de 864 000 segundos (10 días). Es una práctica recomendada dividir el conjunto de datos de entrada en varios trabajos y dirigirlos al mismo equipo de trabajo cuando se den las siguientes condiciones:
    • El número de objetos en el trabajo de etiquetado es elevado.
    • El trabajo produjo un error porque el tiempo de espera superó el valor TaskAvailabilityLifetimeInSeconds.
  • Asegúrese de que TaskTimeLimitInSeconds se configura en un valor que se ajuste a su caso de uso. Si necesita controlar el tiempo que tardan los empleados en completar una tarea para asegurarse de que se anotan las tareas y se asigna el siguiente lote, considere la posibilidad de establecer un valor adecuado para este límite de tiempo.

Solución de errores de etiquetado

Comprobación de los permisos

Asegúrese de tener los permisos adecuados para crear un trabajo de etiquetado, acceder a los datos de entrada y acceder al bucket de Amazon Simple Storage Service (Amazon S3) para los datos de salida. Para obtener más información, consulte el Paso 1: antes de empezar.

Asegúrese de lo siguiente:

  • El bucket de Amazon S3 se encuentra en la misma región que el trabajo de etiquetado de Ground Truth.
  • El bucket tiene una política CORS adjunta. Para obtener más información, consulte Requisitos de permiso CORS.

Comprobación del archivo de manifiesto de salida

Compruebe el archivo de manifiesto de salida que especificó en el bucket de S3 para almacenar los archivos de salida. En este conjunto de datos de salida, puede ver los metadatos de cualquier anotación que haya producido un error en los trabajos de etiquetado.

Ejemplo:

{"source-ref":"s3://sagemaker-output-labeling-bucket-example/example.jpeg","example-metadata":{"retry-count":1,"failure-reason":"ClientError: Annotation tasks expired.  Probable Reasons are 1) TaskAvailabilityLifetimeInSeconds parameter is too small.  2) Reward is too low for workers to work on the task.  3) If you use a custom html template, your template may be broken.  4) Data (image/video/text) sent for annotation is broken or too big, preventing completion.  5) All workers declined the tasks.","human-annotated":"true"}}

Los empleados pueden rechazar las tareas porque las instrucciones son poco claras, los datos de entrada están dañados (no se muestran correctamente), o algún otro problema relacionado con la tarea. Si todos los empleados se niegan, el objeto se marca como caducado y no se envía a ningún otro empleado.

Puede monitorizar si los empleados rechazan, envían o devuelven una tarea utilizando los eventos de Amazon CloudWatch. Para obtener más información, consulte Monitor labeling job status (Supervisión del estado del trabajo de etiquetado).

Comprobación del archivo de manifiesto de entrada

Asegúrese de que el archivo de manifiesto de entrada cumple con todos los requisitos de los objetos JSON enumerados. Para obtener más información, consulte Use an input manifest file (Uso un archivo de manifiesto de entrada).


Create a labeling job (Creación de un trabajo de etiquetado)

Control the flow of data objects sent to workers (Control del flujo de objetos de datos enviados a los empleados)

Monitor labeling jobs (Supervisión de trabajos de etiquetado)

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?