Membuat Job Pelabelan (API) - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat Job Pelabelan (API)

Untuk membuat pekerjaan pelabelan menggunakan Amazon SageMaker API, Anda menggunakan CreateLabelingJoboperasi. Untuk petunjuk spesifik tentang cara membuat pekerjaan pelabelan untuk tipe tugas bawaan, lihat halaman tipe tugas tersebut. Untuk mempelajari cara membuat pekerjaan pelabelan streaming, yang merupakan pekerjaan pelabelan yang berjalan terus-menerus, lihat. Buat Job Pelabelan Streaming

Untuk menggunakan CreateLabelingJob operasi ini, Anda memerlukan yang berikut:

  • Template tugas pekerja (UiTemplateS3Uri) atau ARN (HumanTaskUiArn) UI tugas manusia di Amazon S3.

    • Untuk pekerjaan cloud titik 3D, pekerjaan deteksi dan pelacakan objek video, dan pekerjaan NER, gunakan ARN yang tercantum HumanTaskUiArn untuk jenis tugas Anda.

    • Jika Anda menggunakan tipe tugas bawaan selain tugas cloud titik 3D, Anda dapat menambahkan instruksi pekerja ke salah satu templat yang telah dibuat sebelumnya dan menyimpan templat (menggunakan ekstensi.html atau .liquid) di bucket S3 Anda. Temukan templat pra-bangun di halaman jenis tugas Anda.

    • Jika Anda menggunakan alur kerja pelabelan khusus, Anda dapat membuat templat khusus dan menyimpan templat di ember S3 Anda. Untuk mempelajari cara membuat templat pekerja khusus, lihatTemplat tugas pekerja khusus. Untuk elemen HTML kustom yang dapat Anda gunakan untuk menyesuaikan template Anda, lihatCrowd HTML Elemen Referensi. Untuk repositori template demo untuk berbagai tugas pelabelan, lihat Amazon SageMaker Ground Truth Sample Task UI.

  • File manifes masukan yang menentukan data masukan Anda di Amazon S3. Tentukan lokasi file manifes masukan Anda diManifestS3Uri. Untuk informasi tentang membuat manifes masukan, lihatData input. Jika Anda membuat pekerjaan pelabelan streaming, ini opsional. Untuk mempelajari cara membuat pekerjaan pelabelan streaming, lihatBuat Job Pelabelan Streaming.

  • Bucket Amazon S3 untuk menyimpan data keluaran Anda. Anda menentukan bucket ini, dan secara opsional, awalan di. S3OutputPath

  • File konfigurasi kategori label. Setiap nama kategori label harus unik. Tentukan lokasi file ini di Amazon S3 menggunakan parameter. LabelCategoryConfigS3Uri Kategori format dan label untuk file ini bergantung pada jenis tugas yang Anda gunakan:

    • Untuk klasifikasi gambar dan klasifikasi teks (single dan multi-label) Anda harus menentukan setidaknya dua kategori label. Untuk semua jenis tugas lainnya, jumlah minimum kategori label yang diperlukan adalah satu.

    • Untuk tugas pengenalan entitas bernama, Anda harus memberikan instruksi pekerja dalam file ini. Lihat Memberikan Instruksi Pekerja dalam File Konfigurasi Kategori Label untuk detail dan contoh.

    • Untuk jenis tugas cloud titik 3D dan bingkai video, gunakan format diPelabelan file konfigurasi kategori dengan referensi kategori label dan atribut bingkai.

    • Untuk semua jenis tugas bawaan dan tugas khusus lainnya, file konfigurasi kategori label Anda harus berupa file JSON dalam format berikut. Identifikasi label yang ingin Anda gunakan dengan menggantilabel_1,label_2,..., label_n dengan kategori label Anda.

      { "document-version": "2018-11-28" "labels": [ {"label": "label_1"}, {"label": "label_2"}, ... {"label": "label_n"} ] }
  • Peran AWS Identity and Access Management (IAM) dengan kebijakan IAM AmazonSageMakerGroundTruthExecutionterkelola yang dilampirkan dan dengan izin untuk mengakses bucket S3 Anda. Tentukan peran ini diRoleArn. Untuk mempelajari lebih lanjut tentang kebijakan ini, lihatGunakan Kebijakan IAM Terkelola dengan Ground Truth. Jika Anda memerlukan izin yang lebih terperinci, lihat. Tetapkan IAM Izin untuk Menggunakan Ground Truth

    Jika nama bucket input atau output tidak berisisagemaker, Anda dapat melampirkan kebijakan yang mirip dengan yang berikut ini ke peran yang diteruskan ke CreateLabelingJob operasi.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my_output_bucket/*" ] } ] }
  • Fungsi pra-anotasi dan pasca-anotasi (atau anotasi-konsolidasi) AWS Lambda Amazon Resource Name (ARN) untuk memproses data input dan output Anda.

    • Fungsi Lambda telah ditentukan sebelumnya di setiap AWS Wilayah untuk tipe tugas bawaan. Untuk menemukan Lambda ARN pra-anotasi untuk Wilayah Anda, lihat. PreHumanTaskLambdaArn Untuk menemukan Lambda ARN konsolidasi anotasi untuk Wilayah Anda, lihat. AnnotationConsolidationLambdaArn

    • Untuk alur kerja pelabelan khusus, Anda harus menyediakan Lambda ARN pra dan sesudah anotasi khusus. Untuk mempelajari cara membuat fungsi Lambda ini, lihat. Memproses dengan AWS Lambda

  • ARN tim kerja yang Anda tentukan. WorkteamArn Anda menerima ARN tim kerja ketika Anda berlangganan tenaga kerja vendor atau membuat tim kerja pribadi. Jika Anda membuat pekerjaan pelabelan untuk bingkai video atau jenis tugas cloud titik, Anda tidak dapat menggunakan Amazon Mechanical Turk tenaga kerja. Untuk semua jenis tugas lainnya, untuk menggunakan tenaga kerja Mechanical Turk, gunakan ARN berikut. Ganti regiondengan AWS Wilayah yang Anda gunakan untuk membuat pekerjaan pelabelan.

    arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default

    Jika Anda menggunakan Amazon Mechanical Turk tenaga kerja, gunakan ContentClassifiers parameter InputConfig untuk menyatakan bahwa konten Anda bebas dari informasi pribadi dan konten dewasa. DataAttributes

    Ground Truth mengharuskan data input Anda bebas dari informasi identitas pribadi (PII) jika Anda menggunakan tenaga kerja Mechanical Turk. Jika Anda menggunakan Mechanical Turk dan tidak menentukan bahwa data input Anda bebas dari PII menggunakan FreeOfPersonallyIdentifiableInformation bendera, pekerjaan pelabelan Anda akan gagal. Gunakan FreeOfAdultContent bendera untuk menyatakan bahwa data input Anda bebas dari konten dewasa. SageMaker dapat membatasi pekerja Amazon Mechanical Turk yang dapat melihat tugas Anda jika berisi konten dewasa.

    Untuk mempelajari lebih lanjut tentang tim kerja dan tenaga kerja, lihatTenaga Kerja.

  • Jika Anda menggunakan tenaga kerja Mechanical Turk, Anda harus menentukan harga yang akan Anda bayarkan kepada pekerja untuk melakukan satu tugas. PublicWorkforceTaskPrice

  • Untuk mengkonfigurasi tugas, Anda harus memberikan deskripsi tugas dan judul menggunakan TaskDescription dan TaskTitle masing-masing. Secara opsional, Anda dapat memberikan batas waktu yang mengontrol berapa lama pekerja harus mengerjakan tugas individu (TaskTimeLimitInSeconds) dan berapa lama tugas tetap ada di portal pekerja, tersedia untuk pekerja (TaskAvailabilityLifetimeInSeconds).

  • (Opsional) Untuk beberapa jenis tugas, Anda dapat meminta beberapa pekerja melabeli satu objek data dengan memasukkan angka yang lebih besar dari satu untuk NumberOfHumanWorkersPerDataObject parameter. Untuk informasi selengkapnya tentang konsolidasi anotasi, lihat. Konsolidasi anotasi

  • (Opsional) Untuk membuat pekerjaan pelabelan data otomatis, tentukan salah satu ARN yang tercantum di LabelingJobAlgorithmSpecificationArn. LabelingJobAlgorithmsConfig ARN ini mengidentifikasi algoritma yang digunakan dalam pekerjaan pelabelan data otomatis. Jenis tugas yang terkait dengan ARN ini harus cocok dengan jenis tugas PreHumanTaskLambdaArn dan yang AnnotationConsolidationLambdaArn Anda tentukan. Pelabelan data otomatis didukung untuk jenis tugas berikut: klasifikasi gambar, kotak pembatas, segmentasi semantik, dan klasifikasi teks. Jumlah minimum objek yang diizinkan untuk pelabelan data otomatis adalah 1.250, dan kami sangat menyarankan untuk menyediakan minimal 5.000 objek. Untuk mempelajari lebih lanjut tentang pekerjaan pelabelan data otomatis, lihatOtomatiskan pelabelan data.

  • (Opsional) Anda dapat memberikan StoppingConditionspenyebab pekerjaan pelabelan berhenti jika salah satu persyaratan terpenuhi. Anda dapat menggunakan kondisi berhenti untuk mengontrol biaya pekerjaan pelabelan.

Contoh-contoh

Contoh kode berikut menunjukkan cara membuat pekerjaan pelabelan menggunakanCreateLabelingJob. Untuk contoh tambahan, kami sarankan Anda menggunakan salah satu notebook Ground Truth Labeling Jobs Jupyter di bagian SageMaker Contoh pada instance notebook. SageMaker Untuk mempelajari cara menggunakan contoh buku catatan dari SageMaker Contoh, lihatAkses contoh notebook. Anda juga dapat melihat contoh buku catatan ini di GitHub dalam repositori SageMaker Contoh.

AWS SDK for Python (Boto3)

Berikut ini adalah contoh permintaan AWS Python SDK (Boto3) untuk membuat pekerjaan pelabelan untuk tipe tugas bawaan di Wilayah AS Timur (Virginia N.) menggunakan tenaga kerja pribadi. Ganti semua teks beritalisasi merah dengan sumber daya dan spesifikasi pekerjaan pelabelan Anda.

response = client.create_labeling_job( LabelingJobName="example-labeling-job", LabelAttributeName="label", InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json" } }, 'DataAttributes': { 'ContentClassifiers': [ "FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent", ] } }, OutputConfig={ 'S3OutputPath': "s3://bucket/path/file-to-store-output-data", 'KmsKeyId': "string" }, RoleArn="arn:aws:iam::*:role/*", LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json", StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*", 'UiConfig': { 'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html" }, 'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype", 'TaskKeywords': [ "Images", "Classification", "Multi-label" ], 'TaskTitle': "Multi-label image classification task", 'TaskDescription': "Select all labels that apply to the images shown", 'NumberOfHumanWorkersPerDataObject': 1, 'TaskTimeLimitInSeconds': 3600, 'TaskAvailabilityLifetimeInSeconds': 21600, 'MaxConcurrentTaskCount': 1000, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-" }, Tags=[ { 'Key': "string", 'Value': "string" }, ] )
AWS CLI

Berikut ini adalah contoh permintaan AWS CLI untuk membuat pekerjaan pelabelan untuk jenis tugas bawaan di Wilayah AS Timur (Virginia N.) menggunakan tenaga kerja Amazon Mechanical Turk. Untuk informasi selengkapnya, lihat start-human-loop dalam AWS CLI Referensi Perintah. Ganti semua teks beritalisasi merah dengan sumber daya dan spesifikasi pekerjaan pelabelan Anda.

$ aws --region us-east-1 sagemaker create-labeling-job \ --labeling-job-name "example-labeling-job" \ --label-attribute-name "label" \ --role-arn "arn:aws:iam::account-id:role/role-name" \ --input-config '{ "DataAttributes": { "ContentClassifiers": [ "FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent" ] }, "DataSource": { "S3DataSource": { "ManifestS3Uri": "s3://bucket/path/manifest-with-input-data.json" } } }' \ --output-config '{ "KmsKeyId": "", "S3OutputPath": "s3://bucket/path/file-to-store-output-data" }' \ --human-task-config '{ "AnnotationConsolidationConfig": { "AnnotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:ACS-" }, "TaskAvailabilityLifetimeInSeconds": 21600, "TaskTimeLimitInSeconds": 3600, "NumberOfHumanWorkersPerDataObject": 1, "PreHumanTaskLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype", "WorkteamArn": "arn:aws:sagemaker:us-east-1:394669845002:workteam/public-crowd/default", "PublicWorkforceTaskPrice": { "AmountInUsd": { "Dollars": 0, "TenthFractionsOfACent": 6, "Cents": 3 } }, "TaskDescription": "Select all labels that apply to the images shown", "MaxConcurrentTaskCount": 1000, "TaskTitle": "Multi-label image classification task",, "TaskKeywords": [ "Images", "Classification", "Multi-label" ], "UiConfig": { "UiTemplateS3Uri": "s3://bucket/path/custom-worker-task-template.html" } }'

Untuk informasi lebih lanjut tentang operasi ini, lihat CreateLabelingJob. Untuk informasi tentang cara menggunakan SDK khusus bahasa lainnya, lihat Lihat Juga di topik. CreateLabelingJobs