Amazon SageMaker Ground Truth のラベル設定エラーのトラブルシューティング方法を教えてください。

所要時間2分
0

Amazon SageMaker Ground Truth のラベル設定エラーのトラブルシューティングを行いたいと考えています。

  • または - SageMaker ワーカーがアイドル状態です。
  • または - SageMaker ワーカーにタスクが表示されるまでに長い時間がかかります。

解決方法

SageMaker Ground Truth は、注釈を付けるために最初に 10 のタスクのバッチを SageMaker ワーカーに送信します。このバッチは、ラベル付けジョブが正しく設定されていることを確認するために使用されます。次に、Ground Truth は、MaxConcurrentTaskCount 値に基づいて、注釈を付けるためにタスクのより大きいバッチをワーカーに送信します。

MaxConcurrentTaskCount は、複数の人間のワーカーが同時にラベル付けできるデータオブジェクトの最大数を定義します。コンソールを使用する場合、このパラメータは 1,000 に設定されます。CreateLabelingJob を使用する場合、このパラメーターを 1 から 1,000 までの任意の整数に設定できます。

ラベルを受け取った後、Ground Truth は統合 AWS Lambda 関数を使用してラベルを処理します。この機能では、最終的な注釈がマニフェストファイルまたは Amazon Simple Notification Service (Amazon SNS) の出力に書き込まれます。次に、Ground Truth はループバックして、入力マニフェストファイルまたは Amazon SNS トピックの MaxConcurrentTaskCount 値に基づいてタスクの別のバッチを読み取ります。

タスクレイテンシーとアイドル状態のワーカーのトラブルシューティング

  • ワーカーが TaskAvailabilityLifetimeInSeconds 内のバッチ全体を完了できるサイズに MaxConcurrentTaskCount の値が設定されていることを確認してください。このパラメーターの最大値は 1000 です。
  • NumberOfHumanWorkersPerDataObject がユースケースを満たす値に設定されていることを確認してください。例えば、ラベルを付けるオブジェクトあたりのワーカー数が 3 に設定されている場合、各オブジェクトには 3 つのワーカーによるラベル付けが必要です。2 つのワーカーが現在のバッチを終了した場合、3 番目のワーカーがバッチを終了するまで次のバッチは割り当てられません。プライベートワーカーがポータルからジョブが消えたことを認識した場合、そのワーカーは 1 つのバッチを完了し、新しいバッチが利用可能になるのを待つ間、アイドル状態になっている可能性があります。
  • TaskAvailabilityLifetimeInSeconds がユースケースを満たす値に設定されていることを確認してください。この値は、ワーカーがタスクにアクセスできる合計時間を表します。このパラメータに設定できる最大値は、864,000 秒 (10 日) です。次の条件下では、入力データセットを複数のジョブに分割し、同じ作業チームをポイントするのがベストプラクティスです。
  • ラベル付けジョブのオブジェクト数が多い。
  • 待機時間が taskAvailabilityLifetimeInSeconds の値を超えたため、ジョブが失敗しました。
  • TaskTimeLimitInSeconds がユースケースを満たす値に設定されていることを確認してください。ワーカーがタスクを完了するまでに要する時間を制御して、タスクに注釈が付けられ、次のバッチが割り当てられるようにする必要がある場合は、この制限時間に適切な値を設定することを検討してください。

ラベル付けエラーのトラブルシューティング

アクセス許可の確認

ラベル付けジョブの作成、入力データへのアクセス、および出力データを取得するための Amazon Simple Storage Service (Amazon S3) バケットへのアクセスを行うための適切なアクセス許可があることを確認してください。詳細については、「ステップ 1: 開始する前に」を参照してください。

以下のことを確認してください。

  • Amazon S3 バケットは、Ground Truth ラベル付けジョブと同じリージョンにある。
  • バケットに CORS ポリシーがアタッチされている。詳細については、「CORS permission requirement」(CORS アクセス許可の要件) を参照してください。

出力マニフェストファイルの確認

S3 バケットで指定した出力マニフェストファイルを確認して、出力ファイルを保存します。この出力データセットでは、ラベル付けジョブの失敗を引き起こした可能性のある注釈のメタデータを確認できます。

次に例を示します。

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

ワーカーは、指示が不明瞭である場合、入力データが壊れている場合 (正しく表示されない)、その他のタスクに関する問題がある場合、タスクを辞退できます。すべてのワーカーが辞退した場合、オブジェクトは期限切れとしてマークされ、他のワーカーには送信されません。

Amazon CloudWatch Events を使用して、ワーカーによるタスクの拒否、提出、または返却をモニタリングできます。詳細については、「Monitor labeling job status」(ラベル付けジョブのステータスのモニタリング) を参照してください。

入力マニフェストファイルの確認

入力マニフェストファイルが、リストされているすべての JSON オブジェクト要件を満たしていることを確認してください。詳細については、「Use an input manifest file」(入力マニフェストファイルを使用する) を参照してください。


関連情報

Create a labeling job (ラベル付けジョブを作成)

Control the flow of data objects sent to workers (ワーカーに送信されるデータオブジェクトのフローを制御する)

Monitor labeling jobs (ラベル付けジョブのモニタリング)

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ