View a markdown version of this page

Transformasi batch untuk inferensi dengan Amazon AI SageMaker - Amazon SageMaker AI

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

Transformasi batch untuk inferensi dengan Amazon AI SageMaker

Gunakan transformasi batch saat Anda perlu:

  • Melakukan pemrosesan awal set data untuk menghilangkan derau atau bias dari set data Anda yang dapat mengganggu pelatihan atau inferensi.

  • Mendapatkan inferensi dari set data berukuran besar.

  • Menjalankan inferensi saat Anda tidak membutuhkan titik akhir persisten.

  • Mengaitkan catatan input dengan inferensi untuk membantu interpretasi hasil.

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

Gunakan transformasi batch untuk mendapatkan kesimpulan dari kumpulan data besar

Batch transform 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

Ketika pekerjaan transformasi batch dimulai, SageMaker AI memulai instance komputasi dan mendistribusikan beban kerja inferensi atau prapemrosesan di antara mereka. Batch Transform mempartisi objek Amazon S3 dalam input by key dan memetakan objek Amazon S3 ke instance. Bila Anda memiliki beberapa file, satu instance mungkin diprosesinput1.csv, dan instance lain mungkin memproses file bernamainput2.csv. Jika Anda memiliki satu file input tetapi menginisialisasi beberapa instance komputasi, hanya satu instance yang memproses file input. Instance lainnya tidak aktif.

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

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

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

Untuk membagi file input menjadi batch mini saat Anda membuat pekerjaan transformasi batch, atur nilai SplitType parameter keLine. SageMaker AI menggunakan seluruh file input dalam satu permintaan ketika:

  • SplitTypediatur keNone.

  • File input tidak dapat dibagi menjadi batch mini.

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

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

Prediksi dalam file output terdaftar dalam urutan yang sama dengan catatan yang sesuai dalam file input. File keluaraninput1.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 SplitType keLine, Anda dapat mengatur AssembleWith parameter Line untuk menggabungkan catatan keluaran 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 MaxPayloadInMB ke0. Algoritma bawaan Amazon SageMaker AI tidak mendukung fitur ini.

Untuk informasi tentang menggunakan API untuk membuat pekerjaan transformasi batch, lihat CreateTransformJob API. 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 CreateTransformJob API, 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 konsol SageMaker AI, tentukan nilai parameter optimal ini di bagian Konfigurasi tambahan pada halaman konfigurasi pekerjaan Batch transform. SageMaker AI secara otomatis menemukan pengaturan parameter optimal untuk algoritma bawaan. Untuk algoritma khusus, 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 dataset validasi. Untuk setiap pekerjaan transformasi, tentukan nama model dan lokasi unik di Amazon S3 untuk file keluaran. Untuk menganalisis hasilnya, gunakanLog dan Metrik Pipeline Inferensi.

Notebook sampel transformasi batch

Untuk contoh notebook yang menggunakan transformasi batch, lihat Transformasi Batch dengan Cluster Film PCA dan DBSCAN. 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 tentang membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. Instans SageMaker notebook Amazon Setelah membuat dan membuka instance notebook, pilih tab SageMaker Contoh untuk melihat daftar semua contoh SageMaker AI. Notebook contoh pemodelan topik yang menggunakan algoritma NTM terletak di bagian Fungsionalitas lanjutan. Untuk membuka buku catatan, pilih tab Gunakan, lalu pilih Buat salinan.