Gunakan transformasi batch untuk menjalankan inferensi dengan Amazon SageMaker - Amazon SageMaker

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

Gunakan transformasi batch untuk menjalankan inferensi dengan Amazon SageMaker

Gunakan transformasi batch saat Anda perlu melakukan hal berikut:

  • Preprocess dataset untuk menghilangkan noise atau bias yang mengganggu pelatihan atau inferensi dari dataset Anda.

  • Dapatkan kesimpulan dari kumpulan data besar.

  • Jalankan inferensi saat Anda tidak membutuhkan titik akhir yang persisten.

  • Kaitkan catatan input dengan kesimpulan untuk membantu interpretasi hasil.

Untuk memfilter data input sebelum melakukan inferensi atau untuk mengaitkan catatan input dengan kesimpulan tentang catatan tersebut, lihat. Mengaitkan Hasil Prediksi dengan Catatan Input Misalnya, Anda dapat memfilter data input untuk menyediakan konteks untuk membuat dan menafsirkan laporan tentang data keluaran.

Gunakan transformasi batch untuk mendapatkan kesimpulan dari kumpulan data besar

Transformasi Batch secara otomatis mengelola pemrosesan kumpulan data besar dalam batas parameter yang ditentukan. Misalnya, memiliki file dataset,input1.csv, disimpan dalam bucket S3. Isi file input mungkin terlihat seperti contoh berikut.

Record1-Attribute1, Record1-Attribute2, Record1-Attribute3, ..., Record1-AttributeM Record2-Attribute1, Record2-Attribute2, Record2-Attribute3, ..., Record2-AttributeM Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM ... RecordN-Attribute1, RecordN-Attribute2, RecordN-Attribute3, ..., RecordN-AttributeM

Saat pekerjaan transformasi batch SageMaker dimulai, mulai menghitung instance dan mendistribusikan inferensi atau beban kerja pra-pemrosesan di antara mereka. Batch Transform mempartisi objek Amazon S3 dalam input dengan kunci dan memetakan objek Amazon S3 ke instance. Ketika Anda memiliki beberapa file, satu contoh mungkin memprosesinput1.csv, dan contoh lain mungkin memproses file bernamainput2.csv. Jika Anda memiliki satu file input tetapi menginisialisasi beberapa instance komputasi, hanya satu instance yang memproses file input. Sisa contoh menganggur.

Anda juga dapat membagi file input menjadi mini-batch. Misalnya, Anda dapat membuat mini-batch dari input1.csv dengan menyertakan hanya dua catatan.

Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM Record4-Attribute1, Record4-Attribute2, Record4-Attribute3, ..., Record4-AttributeM
catatan

SageMaker memproses setiap file input secara terpisah. Itu tidak menggabungkan mini-batch dari file input yang berbeda untuk memenuhi batas. MaxPayloadInMB

Untuk membagi file input menjadi mini-batch saat Anda membuat pekerjaan transformasi batch, tetapkan nilai SplitTypeparameter ke. Line SageMaker menggunakan seluruh file input dalam satu permintaan ketika:

  • SplitTypediatur keNone.

  • File input tidak dapat dibagi menjadi mini-batch.

. Perhatikan bahwa Batch Transform tidak mendukung input CSV -format yang berisi karakter baris baru yang disematkan. Anda dapat mengontrol ukuran mini-batch dengan menggunakan parameter BatchStrategy danMaxPayloadInMB. MaxPayloadInMBtidak boleh lebih besar dari 100 MB. Jika Anda menentukan MaxConcurrentTransforms parameter opsional, maka nilai juga (MaxConcurrentTransforms * MaxPayloadInMB) harus tidak melebihi 100 MB.

Jika pekerjaan transformasi batch berhasil memproses semua catatan dalam file input, itu akan membuat file output. File output memiliki nama dan ekstensi .out file yang sama. Untuk beberapa file input, seperti input1.csv daninput2.csv, file output diberi nama input1.csv.out daninput2.csv.out. Pekerjaan transformasi batch menyimpan file output di lokasi yang ditentukan di Amazon S3, seperti. s3://amzn-s3-demo-bucket/output/

Prediksi dalam file output terdaftar dalam urutan yang sama dengan catatan yang sesuai dalam file input. File outputinput1.csv.out, berdasarkan file input yang ditunjukkan sebelumnya, akan terlihat seperti berikut ini.

Inference1-Attribute1, Inference1-Attribute2, Inference1-Attribute3, ..., Inference1-AttributeM Inference2-Attribute1, Inference2-Attribute2, Inference2-Attribute3, ..., Inference2-AttributeM Inference3-Attribute1, Inference3-Attribute2, Inference3-Attribute3, ..., Inference3-AttributeM ... InferenceN-Attribute1, InferenceN-Attribute2, InferenceN-Attribute3, ..., InferenceN-AttributeM

Jika Anda mengatur SplitTypekeLine, Anda dapat mengatur AssembleWithparameter Line untuk menggabungkan catatan output dengan pembatas baris. Ini tidak mengubah jumlah file output. Jumlah file output sama dengan jumlah file input, dan menggunakan AssembleWith tidak menggabungkan file. Jika Anda tidak menentukan AssembleWith parameter, catatan keluaran digabungkan dalam format biner secara default.

Ketika data input sangat besar dan ditransmisikan menggunakan HTTP chunked encoding, untuk mengalirkan data ke algoritma, diatur ke. MaxPayloadInMB0 Algoritma SageMaker bawaan Amazon tidak mendukung fitur ini.

Untuk informasi tentang penggunaan API untuk membuat pekerjaan transformasi batch, lihat CreateTransformJobAPI. Untuk informasi selengkapnya tentang hubungan antara objek input dan output transformasi batch, lihat OutputDataConfig. Untuk contoh cara menggunakan transformasi batch, lihat(Opsional) Buat Prediksi dengan Batch Transform.

Mempercepat pekerjaan transformasi batch

Jika Anda menggunakan CreateTransformJobAPI, Anda dapat mengurangi waktu yang diperlukan untuk menyelesaikan pekerjaan transformasi batch dengan menggunakan nilai optimal untuk parameter. Ini termasuk parameter seperti MaxPayloadInMB, MaxConcurrentTransforms, atau BatchStrategy. Nilai ideal untuk MaxConcurrentTransforms sama dengan jumlah pekerja komputasi dalam pekerjaan transformasi batch.

Jika Anda menggunakan SageMaker konsol, tentukan nilai parameter optimal ini di bagian Konfigurasi tambahan pada halaman konfigurasi pekerjaan transformasi Batch. SageMaker secara otomatis menemukan pengaturan parameter optimal untuk algoritma bawaan. Untuk algoritme kustom, berikan nilai-nilai ini melalui titik akhir parameter eksekusi.

Gunakan transformasi batch untuk menguji varian produksi

Untuk menguji model atau pengaturan hyperparameter yang berbeda, buat pekerjaan transformasi terpisah untuk setiap varian model baru dan gunakan kumpulan data validasi. Untuk setiap tugas transformasi, tentukan nama model dan lokasi unik di Amazon S3 untuk file keluaran. Untuk menganalisis hasil, gunakanLog dan Metrik Pipa Inferensi.

Buku catatan sampel transformasi Batch

Untuk contoh notebook yang menggunakan transformasi batch, lihat Batch Transform with PCA dan DBSCAN Movie Clusters. Notebook ini menggunakan transformasi batch dengan model analisis komponen utama (PCA) untuk mengurangi data dalam matriks tinjauan item pengguna. Ini kemudian menunjukkan penerapan pengelompokan spasial berbasis kepadatan aplikasi dengan algoritma noise (DBSCAN) untuk mengelompokkan film.

Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh, lihat. SageMaker Instans SageMaker Notebook Amazon Setelah membuat dan membuka instance notebook, pilih tab SageMakerContoh untuk melihat daftar semua SageMaker contoh. Contoh buku catatan pemodelan topik yang menggunakan NTM algoritme terletak di bagian Fungsionalitas lanjutan. Untuk membuka buku catatan, pilih tab Use, lalu pilih Create copy.