Ground Truth ストリーミングラベル付けジョブ - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Ground Truth ストリーミングラベル付けジョブ

新しいデータオブジェクトを Amazon SageMaker Ground Truth に永続的に送信してラベルを付ける場合は、ストリーミングラベル付けジョブを使用します。ストリーミングラベル付けジョブを使用すると、次のことが可能になります。

  • 永続的に実行されているラベル付けジョブを使用して、新しいデータセットオブジェクトをリアルタイムでワーカーに送信します。ラベル付けジョブがアクティブで、新しいオブジェクトが送信されている限り、ワーカーはラベル付けする新しいデータオブジェクトを継続的に受け取ります。

  • キューに入れられ、ラベル付けされるのを待っているオブジェクトの数を可視化します。この情報を使用して、ラベル付けジョブに送信されるデータオブジェクトのフローを制御します。

  • ワーカーがラベル付けを完了すると、個々のデータオブジェクトのラベルデータをリアルタイムで受け取ることができます。

Ground Truth ストリーミングラベル付けジョブは、手動で停止するか、10 日以上アイドル状態になるまで、アクティブなままです。ラベル付けジョブがアクティブな間は、新しいデータオブジェクトをワーカーに断続的に送信できます。

Ground Truth ストリーミングラベル付けジョブを初めて使用する場合は、「仕組み」を確認することをお勧めします。

ストリーミングラベル付けジョブの作成方法については、「ストリーミングラベル付けジョブを作成する」を参照してください。

注記

Ground Truth ストリーミングラベル付けジョブは、 を介してのみサポートされます SageMaker API。

仕組み

Ground Truth ストリーミングラベル付けジョブを作成すると、ジョブは手動で停止するか、10 日以上アイドル状態になるまでアクティブなままです。入力データソースにアクセスできません。アクティブな間は、新しいデータオブジェクトをワーカーに断続的に送信できます。ワーカーが現在利用できるタスクの総数が MaxConcurrentTaskCount 値より小さい限り、ワーカーは新しいデータオブジェクトをリアルタイムで引き続き受け取ることができます。それ以外の場合、データオブジェクトは、Ground Truth がユーザーに代わって Amazon Simple Queue Service (Amazon SQS) で作成するキューに送信され、後で処理されます。これらのタスクは、ワーカーが現在利用できるタスクの総数が MaxConcurrentTaskCount を下回ると、すぐにワーカーに送信されます。14 日が経過してもデータオブジェクトがワーカーに送信されない場合は、有効期限切れになります。キュー内の保留中のタスクの数を表示し、ラベル付けジョブに送信するオブジェクトの数を調整できます。例えば、保留中のオブジェクトのバックログがしきい値を超えた場合に、ラベル付けジョブにオブジェクトを送信する速度を低下させることができます。

ストリーミングラベル付けジョブにデータを送信する

必要に応じて、入力マニフェストファイルを使用してラベル付けジョブを作成するときに、ストリーミングラベル付けジョブに入力データを送信できます。ラベル付けジョブが開始され、状態が になったらInProgress、Amazon SNS入力トピックと Amazon S3 イベント通知を使用して、新しいデータオブジェクトをラベル付けジョブにリアルタイムで送信できます。

ラベル付けジョブ 開始時にデータオブジェクトを送信する (1 回):

  • 入力マニフェストファイルを使用する – ストリーミングラベル付けジョブを作成するManifestS3Uriときに、オプションURIで で入力マニフェストファイル Amazon S3 を指定できます。Ground Truth は、ラベル付けジョブが開始されるとすぐに、ラベル付けのために、マニフェストファイル内の各データオブジェクトをワーカーに送信します。詳細については、「マニフェストファイルを作成する (オプション)」を参照してください。

    ストリーミングラベル付けジョブを作成するリクエストを送信すると、ステータスは Initializing になります。ラベル付けジョブがアクティブになると、状態は InProgress に変わり、リアルタイムオプションを使用して、ラベル付け用に追加のデータオブジェクトを送信できます。

データオブジェクトをリアルタイムで送信する:

  • Amazon SNS メッセージを使用してデータオブジェクトを送信する – Amazon メッセージを送信することで、Ground Truth の新しいデータオブジェクトをラベル付けに送信できますSNS。このメッセージは、ストリーミングラベル付けジョブの作成時に作成して指定する Amazon SNS入力トピックに送信します。詳細については、「Amazon を使用してデータオブジェクトを送信する SNS」を参照してください。

  • データオブジェクトを Amazon S3 バケットに配置して送信する - Amazon S3 バケットに新しいデータオブジェクトを追加するたびに、Ground Truth がそのオブジェクトをラベル処理するように促すことができます。これを行うには、バケットにイベント通知を追加して、新しいオブジェクトがそのバケットに追加 (または で作成) されるたびに Amazon SNS入力トピックに通知されるようにします。詳細については、「Amazon S3 を使用してデータオブジェクトを送信する」を参照してください。このオプションは、テキスト分類や固有表現認識などのテキストベースのラベル付けジョブでは使用できません。

    重要

    Amazon S3 の設定を使用する場合は、入力データ設定と出力データに同じ Amazon S3 の場所を使用しないでください。ラベル付けジョブの作成時に、出力データの S3 プレフィックスを指定します。

Amazon を使用してデータオブジェクトを送信する SNS

Amazon Simple Notification Service (Amazon ) を使用して、ストリーミングラベル付けジョブにデータオブジェクトを送信できますSNS。Amazon SNS は、エンドポイント (E メールアドレスや AWS Lambda 関数など) との間で送受信されるメッセージの配信を調整および管理するウェブサービスです。Amazon SNSトピックは、2 つ以上のエンドポイント間の通信チャネルとして機能します。Amazon を使用して、 の CreateLabelingJobパラメータで指定されたトピックに新しいデータオブジェクトSNSを送信または発行しますSnsTopicArnInputConfigこれらのメッセージの形式は、入力マニフェストファイルからの 1 行と同じです。

例えば、テキストを入力トピックに発行することで、アクティブなテキスト分類ラベル付けジョブにテキストの一部を送信できます。発行するメッセージは、次のようになります。

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

新しいイメージオブジェクトをイメージ分類ラベル付けジョブに送信するには、メッセージは次のようになります。

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

Amazon SNS メッセージにカスタム重複排除キーIDsと重複排除キーを含めることもできます。詳細については、「 重複メッセージの処理」を参照してください。

Ground Truth がストリーミングラベル付けジョブを作成すると、Amazon SNS入力トピックにサブスクライブします。

Amazon S3 を使用してデータオブジェクトを送信する

ストリーミングラベル付けジョブに 1 つ以上の新しいデータオブジェクトを送信するには、Amazon SNSイベント通知で設定された Amazon S3 バケットに配置します。バケットに新しいオブジェクトが作成されるたびに Amazon SNS入力トピックを通知するイベントを設定できます。の CreateLabelingJobパラメータで、同じ Amazon SnsTopicArn SNS入力トピックを指定する必要がありますInputConfig

Amazon に通知を送信するように Amazon S3 バケットを設定するたびにSNS、Ground Truth はテストイベント を発行し、トピックが存在し"s3:TestEvent"、指定された Amazon S3 バケットの所有者が指定されたトピックに発行するアクセス許可を持っていることを確認します。ストリーミングラベル付けジョブSNSを開始する前に、Amazon との Amazon S3 接続を設定することをお勧めします。これを行わない場合、このテストイベントがデータオブジェクトとして登録され、ラベル付けのために Ground Truth に送信されることがあります。

重要

Amazon S3 の設定を使用する場合は、入力データ設定と出力データに同じ Amazon S3 の場所を使用しないでください。ラベル付けジョブの作成時に、出力データの S3 プレフィックスを指定します。

イメージベースのラベル付けジョブの場合、Ground Truth ではすべての S3 バケットにCORSポリシーがアタッチされている必要があります。詳細については、「CORS アクセス許可の要件」を参照してください。

Amazon S3 バケットを設定してラベル付けジョブを作成したら、バケットにオブジェクトを追加し、Ground Truth はそのオブジェクトをワーカーに送信するか、Amazon SQSキューに配置します。

詳細については、「Amazon S3 バケットイベント通知を設定する」を参照してください。

重要

このオプションは、テキスト分類や固有表現認識などのテキストベースのラベル付けジョブでは使用できません。

Amazon SQSキューでラベル付けリクエストを管理する

Ground Truth がストリーミングラベル付けジョブを作成すると、ラベル付けジョブの作成に使用される AWS アカウントに Amazon SQSキューが作成されます。キュー名は GroundTruth-labeling_job_name で、labeling_job_nameは、ラベル付けジョブの名前を小文字で表したものです。ラベル付けジョブにデータオブジェクトを送信すると、Ground Truth はデータオブジェクトをワーカーに直接送信するか、後で処理するためにタスクをキューに配置します。14 日が経過してもデータオブジェクトがワーカーに送信されない場合は、有効期限が切れ、キューから削除されます。Amazon でアラームを設定SQSして、オブジェクトの有効期限を検出し、このメカニズムを使用してラベル付けジョブに送信するオブジェクトのボリュームを制御できます。

重要

ストリーミングラベル付けジョブに関連付けられた Amazon SQSキューにオブジェクトを直接変更、削除、または送信すると、ジョブが失敗する可能性があります。

ストリーミングラベル付けジョブから出力データを受信する

Amazon S3 出力バケットは、ストリーミングラベル付けジョブからの新しい出力データで定期的に更新されます。

必要に応じて、Amazon SNS出力トピックを指定できます。ワーカーがラベル付きオブジェクトを送信するたびに、出力データを含む通知がそのトピックに送信されます。エンドポイントをSNS出力トピックにサブスクライブして、ラベル付けタスクから出力データを受信したときに通知を受信したり、イベントをトリガーしたりできます。別のストリーミングジョブにリアルタイムで連鎖し、ワーカーがデータオブジェクトを送信するたびに Amazon SNS通知を受信する場合は、Amazon SNS出力トピックを使用します。

詳細については、「エンドポイントを Amazon SNS 出力トピックにサブスクライブする」を参照してください。

重複メッセージの処理

リアルタイムで送信されるデータオブジェクトについては、Ground Truth は、そのオブジェクトを参照する入力メッセージが複数回受信された場合でも (重複したメッセージ)、各一意のオブジェクトがラベル付けのために一度だけ送信されるようにすることで、べき等性を保証します。これを行うには、ストリーミングラベル付けジョブに送信される各データオブジェクトには、重複排除キーで識別される重複排除 ID が割り当てられます。

Amazon SNS メッセージを使用して Amazon SNS入力トピックを介してデータオブジェクトに直接ラベル付けするリクエストを送信する場合は、オプションでオブジェクトIDsのカスタム重複排除キーと重複排除を選択できます。詳細については、「Amazon SNS メッセージで重複排除キーと ID を指定する」を参照してください。

独自の重複排除キーを指定しない場合、または Amazon S3 設定を使用してラベル付けジョブにデータオブジェクトを送信する場合、Ground Truth は重複排除 ID に次のいずれかを使用します。

  • Amazon SNS入力トピックに直接送信されるメッセージの場合、Ground Truth はSNSメッセージ ID を使用します。

  • Amazon S3 設定から送信されるメッセージの場合、Ground Truth は、オブジェクトURIの Amazon S3 をメッセージ内のシーケンサートークンと組み合わせることで重複排除 ID を作成します。

Amazon SNS メッセージで重複排除キーと ID を指定する

Amazon メッセージを使用してストリーミングラベル付けジョブにデータオブジェクトを送信する場合SNS、次のいずれかの方法で重複排除キーと重複排除 ID を指定できます。これらのすべてのシナリオで、dataset-objectid-attribute-name で重複排除キーを識別します。

独自の重複排除キーと ID を用意する

Amazon SNS メッセージを次のように設定して、独自の重複排除キーと重複排除 ID を作成します。byo-key を独自のキーと、そのデータオブジェクトの重複排除 ID の UniqueId に置き換えます。

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

重複排除キーは最大 140 文字にできます。サポートされるパターンには、"^[$a-zA-Z0-9](-*[a-zA-Z0-9])*" が含まれます。

重複排除 ID は最大 1,024 文字にできます。サポートされるパターンには、^(https|s3)://([^/]+)/?(.*)$ が含まれます。

重複排除キーに既存のキーを使用する

メッセージ内の既存のキーを重複排除キーとして使用できます。これを行うと、そのキーに関連付けられた値が重複排除 ID に使用されます。

例えば、メッセージを次のようにフォーマットすることで、重複排除キーとして source-ref キーを使用するように指定できます。

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

この例では、Ground Truth は "s3://bucket/prefix/object1" を重複排除 ID に使用します。

出力データで重複排除キーと ID を見つける

出力データに重複排除キーと ID を表示できます。重複排除キーは dataset-objectid-attribute-name で識別されます。

独自のカスタム重複排除キーを使用すると、出力に次のような内容が含まれます。

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

キーを指定しない場合は、Ground Truth がデータオブジェクトに割り当てた重複排除 ID を次のように見つけることができます。$label-attribute-name-object-id パラメータは、重複排除 ID を識別します。

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

<service-generated-key> では、データオブジェクトが Amazon S3 構成を経由した場合、Ground Truth はサービスで使用される一意の値を追加し、使用された Amazon S3 シーケンサーを示す $sequencer でキー設定された新しいフィールドを発行します。オブジェクトが SNS に直接供給された場合、Ground Truth はSNSメッセージ ID を使用します。

注記

$ の文字をラベル属性名に使用しないでください。