データのラベル付けの自動化 - Amazon SageMaker

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

データのラベル付けの自動化

Amazon SageMaker Ground Truth を選択すると、アクティブラーニングを使用して、特定の組み込みタスクタイプに対して入力データのラベリングを自動化できます。アクティブラーニングとは、ワーカーがラベル付けするデータを識別する機械学習の手法です。Ground Truth では、この機能は、自動データラベリングと呼ばれます。データの自動ラベル付けは、人間だけを使用する場合と比べて、データセットのラベル付けの所要コストと時間を削減するのに役立ちます。自動ラベル付けを使用すると、SageMaker のトレーニングと推論の費用が発生します。

アクティブラーニングで使用されるニューラルネットワークは新しいデータセットごとに大量のデータを必要とするため、データの自動ラベル付けは大規模なデータセットに対して使用することをお勧めします。通常、提供するデータが増えるほど、予測の精度が高くなります。自動ラベル付けモデルで使用されるニューラルネットワークで許容可能な高レベルの精度を達成できる場合にのみ、データが自動ラベル付けされます。したがって、データセットが大きいほど、ニューラルネットワークは自動ラベル付けに十分な高い精度を達成できるため、データが自動ラベル付けされる可能性が高くなります。データの自動ラベル付けは、何千ものデータオブジェクトがある場合に最も適しています。データの自動ラベル付けに許容される最小のオブジェクト数は 1,250 ですが、少なくとも 5,000 個のオブジェクトを指定することを強くお勧めします。

データの自動ラベル付けは、次の Ground Truth 組み込みタスクタイプでのみ使用できます。

ストリーミングラベリングジョブでは、自動データラベリングはサポートされていません。

独自のモデルを使用してカスタムアクティブラーニングワークフローを作成する方法については、」独自のモデルを使用したアクティブラーニングワークフローの設定

データの自動ラベル付けジョブには、入力データのクォータが適用されます。「」を参照してください。入力データのクォータデータセットのサイズ、入力データサイズ、解像度の制限に関する情報については、

注記

本番環境で自動ラベル付けモデルを使用する前に、モデルの微調整またはテストを行うか、その両方を行う必要があります。ラベル付けジョブで生成されたデータセットでモデルを微調整する (または別の選択した監視対象モデルを作成して調整する) ことで、モデルのアーキテクチャとハイパーパラメータを最適化できます。モデルを微調整なしで推論に使用する場合は、Ground Truth でラベル付けしたデータセットの代表的なサブセット (ランダムに選択したサブセットなど) で精度を評価し、期待値を満たしていることを確認するよう強くお勧めします。

仕組み

データの自動ラベル付けは、ラベル付けジョブの作成時に有効にします。この仕組みは以下のようになっています。

  1. Ground Truth が自動化データラベリングジョブを開始すると、入力データオブジェクトのランダムなサンプルが選択され、人間のワーカーに送信されます。これらのデータオブジェクトの 10% 以上が失敗した場合、ラベル付けジョブは失敗します。ラベリングジョブが失敗した場合は、Ground Truth が返すエラーメッセージを確認するだけでなく、入力データがワーカー UI に正しく表示されていること、指示が明確であること、タスクを完了するのに十分な時間が作業者に与えられていることを確認します。

  2. ラベル付けされたデータが返されると、トレーニングセットと検証セットの作成に使用されます。Ground Truth では、これらのデータセットを使用して、自動ラベリングに使用されるモデルをトレーニングおよび検証します。

  3. Ground Truth は、検証されたモデルを使用して、バッチ変換ジョブを実行し、検証データに対する推論を行います。バッチ推論では、検証データ内のオブジェクトごとに信頼スコアと品質メトリクスが生成されます。

  4. 自動ラベル付けコンポーネントは、これらの品質指標と信頼スコアを使用して、信頼スコアのしきい値品質ラベルを保証します。

  5. Ground Truth は、推論用の同じ検証済みモデルを使用して、データセット内のラベル付けされていないデータに対してバッチ変換ジョブを実行します。これにより、オブジェクトごとの信頼スコアが生成されます。

  6. Ground Truth の自動ラベル付けコンポーネントは、オブジェクトごとにステップ 5 で生成された信頼スコアが、ステップ 4 で決定された必要なしきい値を満たしているかどうかを判断します。信頼スコアがしきい値を満たしている場合は、自動ラベル付けに期待される品質が、要求される精度のレベルを超えているため、当該オブジェクトは自動ラベル付けされたものと見なされます。

  7. ステップ 6 では、信頼度スコアを持つラベルなしデータのデータセットを作成します。Ground Truth は、このデータセットから信頼スコアの低いデータポイントを選択し、人間のワーカーに送信します。

  8. Ground Truth は、人間のラベル付きデータと、人間のワーカーからの追加でラベル付けされたデータを使用して、モデルを更新します。

  9. このプロセスは、データセットが完全にラベル付けされるか、別の停止条件が満たされるまで繰り返されます。たとえば、人間の注釈予算に達すると、自動ラベル付けは停止します。

上記の手順は反復で行われます。次の表の各タブを選択すると、オブジェクト検出の自動ラベル付けジョブの各イテレーションで発生するプロセスの例が表示されます。これらのイメージ内の特定のステップで使用されるデータ・オブジェクト数(たとえば、200)は、この例に固有です。ラベル付けするオブジェクトが 5,000 個未満の場合、検証セットのサイズはデータセット全体の 20% になります。入力データセットに 5,000 を超えるオブジェクトがある場合、検証セットのサイズはデータセット全体の 10% になります。アクティブ・ラーニングの反復ごとに収集されるヒューマン・ラベルの数を制御するには、MaxConcurrentTaskCountAPI オペレーションを使用する場合CreateLabelingJob。コンソールを使用してラベル付けジョブを作成する場合、この値は 1,000 に設定されます。アクティブラーニングフローでは、アクティブラーニング機能タブで、この値は 200 に設定されます。

Model Training
Automated Labeling
Active Learning

自動ラベルの精度

の定義精度は、自動ラベル付けで使用する組み込みタスクの種類によって異なります。すべてのタスクタイプにおいて、これらの精度要件は Ground Truth によって事前に決定されており、手動で設定することはできません。

  • 画像の分類とテキストの分類では、Ground Truth はロジックを使用して、少なくとも 95% のラベル精度に対応するラベル予測の信頼レベルを見つけます。つまり、Ground Truth は、人間のラベルがこれらの例で提供するラベルと比較して、自動ラベルの精度が少なくとも 95% になると予想しています。

  • 境界ボックスの場合、期待平均交差オーバーユニオン (IoU)は 0.6 です。平均IOUを見つけるために、Ground Truthは、すべてのクラスの画像上のすべての予測ボックスと欠落ボックスの平均IOUを計算し、クラス間でこれらの値を平均化します。

  • セマンティックセグメンテーションでは、自動ラベル付けされた画像の予想平均IOUは0.7です。平均IOUを見つけるために、Ground Truthは画像内のすべてのクラスのIOU値の平均を取ります(背景を除く)。

アクティブラーニングの繰り返し(上記のリストの手順3-6)では、自動ラベル付けされたオブジェクトの予測精度が所定の精度要件を満たすように、ヒューマン注釈付き検証セットを使用して信頼度しきい値が検出されます。

データの自動ラベル付けジョブの作成 (コンソール)

SageMaker コンソールで自動ラベリングを使用するラベリングジョブを作成するには、以下の手順に従います。

データの自動ラベル付けジョブを作成するには (コンソール)

  1. オープン・ザ・グラウンド・トゥルースラベリングジョブセクションでSageMaker 操作を行います。https://console.aws.amazon.com/sagemaker/groundtruth

  2. ラベル付けジョブの作成 (コンソール) をガイドとして使用し、[Job overview] セクションと [Task type] セクションに入力します。自動ラベル付けは、カスタムタスクタイプではサポートされないことに注意してください。

  3. [Workers] で、ワークフォースタイプを選択します。

  4. 同じセクションで、[Enable automated data labeling] を選択します。

  5. ステップ 4: 境界ボックスツールを設定する をガイドとして、[Task Type labeling tool] セクションでワーカーの指示を作成します。たとえば、セマンティックセグメンテーションをラベリングジョブタイプとして使用する場合、このセクションはセマンティックセグメンテーションラベリングツール

  6. ワーカーの指示とダッシュボードをプレビューするには、[Preview] を選択します。

  7. [作成] を選択します。これにより、ラベル付けジョブと自動ラベル付けプロセスが作成されて開始されます。

ラベル付けジョブは、ラベリングジョブセクションSageMaker。出力データは、ラベリングジョブの作成時に指定した Amazon S3 バケットに表示されます。ラベル付けジョブの出力データの形式とファイル構造の詳細については、「出力データ」を参照してください。

データの自動ラベル付けジョブの作成 (API)

SageMaker API を使用してデータの自動ラベル付けジョブを作成するには、 LabelingJobAlgorithmsConfigのパラメーター CreateLabelingJobオペレーション. ラベリングジョブを開始する方法については、「」を参照してください。CreateLabelingJob操作の詳細については、ラベル付けジョブの作成 (API)

データの自動ラベリングに使用するアルゴリズムの Amazon リソースネーム (ARN) を LabelingJobAlgorithmSpecificationArn パラメータに指定します。自動ラベル付けでサポートされているの 4 つの Ground Truth 組み込みアルゴリズムから 1 つを選択します。

データの自動ラベル付けジョブが終了すると、Ground Truth はデータの自動ラベル付けジョブで使用したモデルの ARN を返します。このモデルを同様の自動ラベリングジョブタイプの開始モデルとして使用するには、この ARN の文字列形式を InitialActiveLearningModelArn パラメータで指定します。モデルの ARN を取得するには、次のような AWS Command Line Interface (AWS CLI) コマンドを使用します。

# Fetch the mARN of the model trained in the final iteration of the previous labeling job.Ground Truth pretrained_model_arn = sagemaker_client.describe_labeling_job(LabelingJobName=job_name)['LabelingJobOutput']['FinalActiveLearningModelArn']

自動ラベル付けで使用される ML コンピューティングインスタンスにアタッチされたストレージボリュームのデータを暗号化するには、VolumeKmsKeyId パラメータに AWS Key Management Service (AWS KMS) キーを含めます。についての情報AWSKMS キー () の詳細については、とはAWSKey Management ServiceAWSキーマネジメントサービス開発者ガイド

使用する例については、 CreateLabelingJobオペレーションを使用して自動データラベリングジョブを作成するには、tutorialの例SageMaker の例,Ground TruthSageMaker ノートブックインスタンスの SageMaker ノートブックインスタンスのセクションです。ノートブックインスタンスを作成して開く方法については、「ノートブックインスタンスの作成」を参照してください。SageMaker サンプルノートブックにアクセスする方法については、サンプルノートブックの使用

自動データラベリングに必要な Amazon EC2 インスタンス

次の表は、トレーニングおよびバッチ推論ジョブのためにデータの自動ラベル付けを実行するのに必要な Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの一覧です。

データの自動ラベル付けジョブタイプ トレーニングインスタンスタイプ 推論インスタンスタイプ

イメージ分類

ml.p3.2xlarge*

ml.c5.xlarge

オブジェクトの検出 (境界ボックス)

ml.p3.2xlarge*

ml.c5.4xlarge

テキスト分類

ml.c5.2xlarge

ml.m4.xlarge

セマンティックセグメンテーション

ml.p3.2xlarge*

ml.p3.2xlarge*

* アジアパシフィック (ムンバイ) リージョン (ap-south-1) では、代わりに ml.p2.8xlarge を使用します。

自動データラベリングでは、商品ごとの課金という 2 つの課金が発生します(料金表)、モデルの実行に必要な Amazon EC2 インスタンスの料金 (Amazon EC2 の料金).

Ground Truth は、データの自動ラベル付けジョブに使用するインスタンスを管理し、ジョブの実行に必要なインスタンスを作成、設定、および終了します。これらのインスタンスは、Amazon EC2 インスタンスダッシュボードには表示されません。

独自のモデルを使用したアクティブラーニングワークフローの設定

独自のアルゴリズムを使用してアクティブラーニングワークフローを作成し、そのワークフローでトレーニングと推論を実行し、データに自動ラベルを付けることができます。ノートブックの bring_your_own_model_for_sagemaker_labeling_workflows_with_active_learning.ipynb は、SSageMaker er組み込みアルゴリズムを使用してこれをデモンストレーションしています。BlazingText。このノートブックは、AWS CloudFormationを使用してこのワークフローを実行するために使用できるスタックAWS Step Functions。ノートブックとサポートファイルは、このGitHub リポジトリ

このノートブックは、SageMaker Examples リポジトリにある場合は、「」を参照してください。サンプルノートブックの使用を参照して、Amazon SageMaker サンプルノートブックの検索方法を確認してください。