Wie kann ich Beschriftungsfehler von Amazon SageMaker Ground Truth beheben?

Letzte Aktualisierung: 24.10.2022

Ich möchte Beschriftungsfehler von Amazon SageMaker Ground Truth beheben.

-oder-

Meine SageMaker-Mitarbeiter sind untätig.

-oder-

Es dauert lange, bis Aufgaben für meine SageMaker-Mitarbeiter angezeigt werden.

Auflösung

SageMaker Ground Truth sendet zunächst einen Batch von 10 Aufgaben zur Annotierung an Ihre SageMaker-Mitarbeiter. Dieser Batch wird verwendet, um zu überprüfen und sicherzustellen, dass der Beschriftungsauftrag korrekt konfiguriert ist. Anschließend sendet Ground Truth größere Aufgabenbatches an Mitarbeiter, um Annotierungen basierend auf dem Wert des MaxConcurrentTaskCount zu erhalten.

MaxConcurrentTaskCount definiert die maximale Anzahl von Datenobjekten, die von Mitarbeitern gleichzeitig beschriftet werden können. Wenn Sie die Konsole verwenden, ist dieser Parameter auf 1 000 festgelegt. Wenn Sie CreateLabelingJob verwenden, können Sie diesen Parameter auf eine beliebige Ganzzahl zwischen 1 und 1 000 setzen.

Nachdem Ground Truth die Beschriftungen erhalten hat, verarbeitet es die Beschriftungen mit einer AWS-Lambda-Funktion zur Konsolidierung. Mit dieser Funktion werden die endgültigen Annotationen in die Manifestdatei oder die Ausgabe des Amazon Simple Notification Service (Amazon SNS) geschrieben. Anschließend geht Ground Truth zurück, um einen weiteren Batch von Aufgaben basierend auf dem MaxConcurrentTaskCount-Wert aus der Eingabemanifestdatei oder dem Amazon-SNS-Thema zu verarbeiten.

Problembehandlung bei Aufgabenlatenz und untätigen Mitarbeitern

  • Stellen Sie sicher, dass der MaxConcurrentTaskCount-Wert auf eine Größe festgelegt ist, die es Mitarbeitern ermöglicht, den gesamten Batch innerhalb der angegebenen „TaskAvailabilityLifeTimeInSeconds“ abzuschließen. Der Höchstwert für diesen Parameter ist 1 000.
  • Stellen Sie sicher, dass NumberOfHumanWorkersPerDataObject auf einen Wert festgelegt ist, der Ihrem Anwendungsfall entspricht. Wenn beispielsweise die Anzahl der Mitarbeiter pro zu beschriftendem Objekt auf 3 festgelegt ist, muss jedes Objekt von drei Mitarbeitern beschriftet werden. Wenn zwei der Mitarbeiter den aktuellen Batch abschließen, wird der nächste Batch erst zugewiesen, wenn der dritte Mitarbeiter seinen Batch beendet hat. Wenn ein privater Mitarbeiter bemerkt, dass ein Auftrag aus dem Portal verschwindet, hat der Mitarbeiter möglicherweise einen Batch abgeschlossen und befindet sich im Leerlauf, während er darauf wartet, dass ein neuer Batch verfügbar ist.
  • Stellen Sie sicher, dass TaskAvailabilityLifeTimeInSeconds auf einen Wert festgelegt ist, der Ihrem Anwendungsfall entspricht. Dieser Wert stellt die Gesamtzeit dar, in der die Aufgaben den Mitarbeitern zur Verfügung stehen. Der Höchstwert, den Sie für diesen Parameter festlegen können, ist 864 000 Sekunden (10 Tage). Es ist eine bewährte Methode, Ihren Eingabedatensatz in mehrere Aufträge aufzuteilen und sie unter den folgenden Bedingungen auf dasselbe Arbeitsteam zu verweisen:
    • Die Anzahl der Objekte im Beschriftungsauftrag ist hoch.
    • Ihr Auftrag ist fehlgeschlagen, weil die Wartezeit den Wert TaskAvailabilityLifeTimeInSeconds überschritten hat.
  • Stellen Sie sicher, dass TaskTimeLimitinSeconds auf einen Wert festgelegt ist, der Ihrem Anwendungsfall entspricht. Wenn Sie die Zeit kontrollieren müssen, die Mitarbeiter für die Ausführung einer Aufgabe benötigen, um sicherzustellen, dass Aufgaben mit Annotationen versehen und der nächste Batch zugewiesen wird, sollten Sie erwägen, einen geeigneten Wert für dieses Zeitlimit festzulegen.

Behebung von Beschriftungsfehlern

Überprüfen Sie die Berechtigungen

Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen verfügen, um einen Beschriftungsauftrag zu erstellen, auf Eingabedaten zuzugreifen und auf den Amazon Simple Storage Service (Amazon S3)-Bucket für Ausgabedaten zuzugreifen. Weitere Informationen finden Sie unter Schritt 1: Bevor Sie beginnen.

Achten Sie auf Folgendes:

  • Der Amazon-S3-Bucket befindet sich in derselben Region wie der Beschriftungsauftrag von Ground Truth.
  • Dem Bucket ist eine CORS-Richtlinie beigefügt. Weitere Informationen finden Sie unter CORS-Berechtigungsanforderung.

Überprüfen Sie die Ausgabemanifestdatei

Überprüfen Sie die Ausgabemanifestdatei, die Sie im S3-Bucket angegeben haben, um die Ausgabedateien zu speichern. In diesem Ausgabedatensatz können Sie die Metadaten für alle fehlgeschlagenen Annotationen sehen, die möglicherweise zu fehlgeschlagenen Beschriftungsaufträgen geführt haben.

Beispiel:

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

Mitarbeiter dürfen Aufgaben aufgrund unklarer Anweisungen, fehlerhafter Eingabedaten (die nicht korrekt angezeigt werden) oder eines anderen Problems mit der Aufgabe ablehnen. Wenn alle Mitarbeiter ablehnen, wird das Objekt als abgelaufen markiert und nicht an andere Mitarbeiter gesendet.

Mithilfe von Amazon CloudWatch Events können Sie überwachen, ob Mitarbeiter eine Aufgabe ablehnen, einreichen oder zurückgeben. Weitere Informationen finden Sie unter Status von Beschriftungsaufträgen überwachen.

Überprüfen Sie die Eingabemanifestdatei

Stellen Sie sicher, dass die Eingabemanifestdatei alle aufgelisteten JSON-Objektanforderungen erfüllt. Weitere Informationen finden Sie unter Verwenden einer Eingabemanifestdatei.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?