Menyediakan Metadata Set Data untuk Pekerjaan Pelatihan dengan File Manifes yang Ditambah - Amazon SageMaker

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

Menyediakan Metadata Set Data untuk Pekerjaan Pelatihan dengan File Manifes yang Ditambah

Untuk menyertakan metadata dengan kumpulan data Anda dalam pekerjaan pelatihan, gunakan file manifes tambahan. Saat menggunakan file manifes yang ditambah, kumpulan data Anda harus disimpan di Amazon Simple Storage Service (Amazon S3), dan Anda harus mengonfigurasi tugas latihan untuk menggunakan kumpulan data yang disimpan di sana. Anda menentukan lokasi dan format kumpulan data ini untuk satu atau lebih Channel. Manifestasi yang diperbesar hanya dapat mendukung mode input Pipa. Lihat bagian, InputModedi Channeluntuk mempelajari lebih lanjut tentang mode input pipa.

Saat menentukan parameter saluran, Anda menentukan jalur ke file, yang disebut aS3Uri. Amazon SageMaker menafsirkan URI ini berdasarkan yang ditentukan S3DataType dalam S3DataSource. AugmentedManifestFileOpsi ini mendefinisikan format manifes yang menyertakan metadata dengan data input. Menggunakan file manifes yang diperbesar adalah alternatif untuk preprocessing saat Anda telah memberi label data. Untuk pekerjaan pelatihan menggunakan data berlabel, Anda biasanya perlu melakukan pra-proses kumpulan data untuk menggabungkan data input dengan metadata sebelum pelatihan. Jika dataset pelatihan Anda besar, preprocessing bisa memakan waktu dan mahal.

Format File Manifes yang Ditambah

File manifes yang diperbesar harus diformat dalam format JSON Lines. Dalam format JSON Lines, setiap baris dalam file adalah objek JSON lengkap diikuti oleh pemisah baris baru.

Selama pelatihan, SageMaker parsing setiap baris JSON dan mengirimkan beberapa atau semua atributnya ke algoritma pelatihan. Anda menentukan konten atribut mana yang akan diteruskan dan urutan untuk meneruskannya dengan AttributeNames parameter CreateTrainingJobAPI. AttributeNamesParameter adalah daftar nama atribut yang diurutkan yang SageMaker dicari di objek JSON untuk digunakan sebagai input pelatihan.

Misalnya, jika Anda mencantumkan ["line", "book"]AttributeNames, data input harus menyertakan nama atribut line dan book dalam urutan yang ditentukan. Untuk contoh ini, konten file manifes tambahan berikut ini valid:

{"author": "Herman Melville", "line": "Call me Ishmael", "book": "Moby Dick"} {"line": "It was love at first sight.", "author": "Joseph Heller", "book": "Catch-22"}

SageMaker mengabaikan nama atribut yang tidak terdaftar meskipun nama tersebut mendahului, mengikuti, atau berada di antara atribut yang terdaftar.

Saat menggunakan file manifes tambahan, perhatikan pedoman berikut:

  • Urutan atribut yang tercantum dalam AttributeNames parameter menentukan urutan atribut yang diteruskan ke algoritme dalam pekerjaan pelatihan.

  • Yang terdaftar AttributeNames dapat menjadi bagian dari semua atribut di baris JSON. SageMaker mengabaikan atribut yang tidak terdaftar dalam file.

  • Anda dapat menentukan semua jenis data yang diizinkan oleh format JSONAttributeNames, termasuk teks, numerik, array data, atau objek.

  • Untuk menyertakan URI S3 sebagai nama atribut, tambahkan akhiran -ref ke dalamnya.

Jika nama atribut berisi akhiran-ref, nilai atribut harus berupa URI S3 ke file data yang dapat diakses oleh pekerjaan pelatihan. Misalnya, jika AttributeNames berisi["image-ref", "is-a-cat"], contoh berikut menunjukkan file manifes augmented yang valid:

{"image-ref": "s3://mybucket/sample01/image1.jpg", "is-a-cat": 1} {"image-ref": "s3://mybucket/sample02/image2.jpg", "is-a-cat": 0}

Dalam kasus baris JSON pertama dari file manifes ini, SageMaker mengambil image1.jpg file dari s3://mybucket/sample01/ dan representasi string is-a-cat atribut "1" untuk klasifikasi gambar.

Tip

Untuk membuat file manifes tambahan, gunakan Amazon SageMaker Ground Truth dan buat pekerjaan pelabelan. Untuk informasi lebih lanjut tentang output dari pekerjaan pelabelan, lihatData Keluaran.

Alirkan Data File Manifes Tertambah

Format manifes yang diperbesar memungkinkan Anda melakukan pelatihan dalam mode Pipa menggunakan file tanpa perlu membuat file RecorDio. Anda perlu menentukan saluran kereta dan validasi sebagai nilai untuk InputDataConfig parameter CreateTrainingJobpermintaan. File manifes yang diperbesar hanya didukung untuk saluran yang menggunakan mode input Pipe. Untuk setiap saluran, data diekstraksi dari file manifes yang ditambah dan dialirkan (secara berurutan) ke algoritme melalui pipa bernama saluran. Mode pipa menggunakan metode first in first out (FIFO), sehingga catatan diproses sesuai urutan antrian. Untuk informasi tentang mode input Pipa, lihat Input Mode.

Nama atribut dengan titik "-ref" akhiran ke data biner yang telah diformat sebelumnya. Dalam beberapa kasus, algoritma tahu cara mengurai data. Dalam kasus lain, Anda mungkin perlu membungkus data sehingga catatan dibatasi untuk algoritme. Jika algoritme kompatibel dengan data berformat Recordio, menentukan RecordIO untuk memecahkan masalah ini. RecordWrapperType Jika algoritme tidak kompatibel dengan RecordIO format, tentukan None RecordWrapperType dan pastikan data Anda diurai dengan benar untuk algoritme Anda.

Menggunakan ["image-ref", "is-a-cat"] contoh, jika Anda menggunakan pembungkus RecorDo, aliran data berikut dikirim ke antrian:

recordio_formatted(s3://mybucket/foo/image1.jpg)recordio_formatted("1")recordio_formatted(s3://mybucket/bar/image2.jpg)recordio_formatted("0")

Gambar yang tidak dibungkus dengan format RecorDo, dialirkan dengan nilai is-a-cat atribut yang sesuai sebagai satu record. Ini dapat menyebabkan masalah karena algoritme mungkin tidak membatasi gambar dan atribut dengan benar. Untuk informasi selengkapnya tentang penggunaan file manifes tambahan untuk klasifikasi gambar, lihat Melatih dengan Augmented Manifest Image Format.

Dengan file manifes yang ditambah dan mode Pipa secara umum, batas ukuran volume EBS tidak berlaku. Ini termasuk pengaturan yang sebaliknya harus berada dalam batas ukuran volume EBS seperti S3DataDistributionType . Untuk informasi selengkapnya tentang mode Pipa dan cara menggunakannya, lihat Menggunakan Algoritma Pelatihan Anda Sendiri - Konfigurasi Data Input.

Menggunakan File Augmented Manifest (Konsol)

Untuk menyelesaikan prosedur ini, Anda perlu:

  • URL bucket S3 tempat Anda menyimpan file manifes yang diperbesar.

  • Untuk menyimpan data yang tercantum dalam file manifes tambahan di bucket S3.

  • URL bucket S3 tempat Anda ingin menyimpan output pekerjaan.

Untuk menggunakan file manifes tambahan dalam pekerjaan pelatihan (konsol)
  1. Buka SageMaker konsol Amazon di https://console.aws.amazon.com/sagemaker/.

  2. Di panel navigasi, pilih Pelatihan, lalu pilih Pekerjaan pelatihan.

  3. Pilih Buat pekerjaan pelatihan.

  4. Berikan nama untuk pekerjaan pelatihan. Nama harus unik dalam suatu AWS Wilayah di AWS akun. Ini dapat memiliki 1 hingga 63 karakter. Karakter yang valid: a-z, A-Z, 0-9, dan.: + = @ _% - (tanda hubung).

  5. Pilih algoritma yang ingin Anda gunakan. Untuk informasi tentang algoritme bawaan yang didukung, lihatGunakan algoritme SageMaker bawaan Amazon atau model yang telah dilatih sebelumnya. Jika Anda ingin menggunakan algoritma khusus, pastikan itu kompatibel dengan mode Pipa.

  6. (Opsional) Untuk konfigurasi Sumber Daya, terima nilai default atau, untuk mengurangi waktu komputasi, tingkatkan konsumsi sumber daya.

    1. (Opsional) Untuk tipe Instance, pilih tipe instans komputasi ML yang ingin Anda gunakan. Dalam kebanyakan kasus, ml.m4.xlarge sudah cukup.

    2. Untuk hitungan Instance, gunakan default,1.

    3. (Opsional) Untuk volume tambahan per instans (GB), pilih ukuran volume penyimpanan ML yang ingin Anda berikan. Dalam kebanyakan kasus, Anda dapat menggunakan default,1. Jika Anda menggunakan dataset besar, gunakan ukuran yang lebih besar.

  7. Berikan informasi tentang data input untuk kumpulan data pelatihan.

    1. Untuk nama Channel, terima default (train) atau masukkan nama yang lebih bermakna, sepertitraining-augmented-manifest-file.

    2. Untuk InputMode, pilih Pipa.

    3. Untuk tipe distribusi data S3, pilih FullyReplicated. Saat berlatih secara bertahap, replikasi sepenuhnya menyebabkan setiap instance komputasi ML menggunakan salinan lengkap dari kumpulan data yang diperluas. Untuk algoritma berbasis saraf, sepertiAlgoritma Model Topik Saraf (NTM), pilih. ShardedByS3Key

    4. Jika data yang ditentukan dalam file manifes yang ditambah tidak dikompresi, setel tipe Kompresi ke Tidak Ada. Jika data dikompresi menggunakan gzip, atur ke Gzip.

    5. (Opsional) Untuk jenis Konten, tentukan tipe MIME yang sesuai. Jenis konten adalah jenis multipurpose internet mail extension (MIME) dari data.

    6. Untuk Record wrapper, jika dataset yang ditentukan dalam file manifes ditambah disimpan dalam format RecorDo, pilih RecorDo. Jika kumpulan data Anda tidak disimpan sebagai file berformat Recordio, pilih Tidak Ada.

    7. Untuk tipe data S3, pilih AugmentedManifestFile.

    8. Untuk lokasi S3, berikan jalur ke bucket tempat Anda menyimpan file manifes tambahan.

    9. Untuk nama AugmentedManifestFile atribut, tentukan nama atribut yang ingin Anda gunakan. Nama atribut harus ada dalam file manifes yang ditambah, dan peka huruf besar/kecil.

    10. (Opsional) Untuk menambahkan lebih banyak nama atribut, pilih Tambahkan baris dan tentukan nama atribut lain untuk setiap atribut.

    11. (Opsional) Untuk menyesuaikan urutan nama atribut, pilih tombol atas atau bawah di sebelah nama. Saat menggunakan file manifes yang ditambah, urutan nama atribut yang ditentukan adalah penting.

    12. Pilih Selesai.

  8. Untuk konfigurasi data Output, berikan informasi berikut:

    1. Untuk lokasi S3, ketik path ke bucket S3 tempat Anda ingin menyimpan data output.

    2. (Opsional) Anda dapat menggunakan kunci enkripsi AWS Key Management Service (AWS KMS) untuk mengenkripsi data keluaran saat istirahat. Untuk kunci Enkripsi, berikan ID kunci atau Nomor Sumber Daya Amazon (ARN). Untuk informasi selengkapnya, lihat Kunci Enkripsi Terkelola KMS.

  9. (Opsional) Untuk Tag, tambahkan satu atau beberapa tag ke pekerjaan pelatihan. Tag adalah metadata yang dapat Anda tentukan dan tetapkan ke sumber daya. AWS Dalam hal ini, Anda dapat menggunakan tag untuk membantu Anda mengelola pekerjaan pelatihan Anda. Tag terdiri dari kunci dan nilai, yang Anda tentukan. Misalnya, Anda mungkin ingin membuat tag dengan Project sebagai kunci dan nilai yang mengacu pada proyek yang terkait dengan pekerjaan pelatihan, sepertiHome value forecasts.

  10. Pilih Buat pekerjaan pelatihan. SageMaker menciptakan dan menjalankan pekerjaan pelatihan.

Setelah tugas pelatihan selesai, SageMaker simpan artefak model di bucket yang jalurnya Anda sediakan untuk jalur keluaran S3 di bidang konfigurasi data Output. Untuk menerapkan model untuk mendapatkan prediksi, lihat. Langkah 5: Deploy Model ke Amazon EC2

Menggunakan File Augmented Manifest (API)

Berikut ini menunjukkan cara melatih model dengan file manifes tambahan menggunakan pustaka SageMaker Python tingkat tinggi:

import sagemaker # Create a model object set to using "Pipe" mode. model = sagemaker.estimator.Estimator( training_image, role, instance_count=1, instance_type='ml.p3.2xlarge', volume_size = 50, max_run = 360000, input_mode = 'Pipe', output_path=s3_output_location, sagemaker_session=session ) # Create a train data channel with S3_data_type as 'AugmentedManifestFile' and attribute names. train_data = sagemaker.inputs.TrainingInput( your_augmented_manifest_file, distribution='FullyReplicated', content_type='application/x-recordio', s3_data_type='AugmentedManifestFile', attribute_names=['source-ref', 'annotations'], input_mode='Pipe', record_wrapping='RecordIO' ) data_channels = {'train': train_data} # Train a model. model.fit(inputs=data_channels, logs=True)

Setelah tugas pelatihan selesai, SageMaker simpan artefak model di bucket yang jalurnya Anda sediakan untuk jalur keluaran S3 di bidang konfigurasi data Output. Untuk menerapkan model untuk mendapatkan prediksi, lihat. Langkah 5: Deploy Model ke Amazon EC2