Menganalisis pengeluaran Amazon SageMaker dan menentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Data Wrangler | Layanan Web Amazon

Menganalisis pengeluaran Amazon SageMaker dan menentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Data Wrangler | Layanan Web Amazon

Pada 2021, kami meluncurkan Layanan Proaktif AWS Support sebagai bagian dari Dukungan Perusahaan AWS rencana. Sejak diperkenalkan, kami telah membantu ratusan pelanggan mengoptimalkan beban kerja mereka, menetapkan batasan, dan meningkatkan visibilitas biaya dan penggunaan beban kerja machine learning (ML) mereka.

Dalam rangkaian postingan ini, kami berbagi pelajaran tentang cara mengoptimalkan biaya di Amazon SageMaker. Dalam posting ini, kami fokus pada data preprocessing using Pemrosesan SageMaker Amazon dan Pengatur Data Amazon SageMaker pekerjaan.

Prapemrosesan data memegang peran penting dalam pendekatan AI yang berpusat pada data. Namun, menyiapkan data mentah untuk pelatihan dan evaluasi ML sering kali merupakan tugas yang membosankan dan menuntut dalam hal sumber daya komputasi, waktu, dan upaya manusia. Persiapan data umumnya perlu diintegrasikan dari sumber yang berbeda dan berurusan dengan nilai yang hilang atau bising, outlier, dan sebagainya.

Selain itu, selain tugas ekstrak, transformasi, dan muat (ETL) yang umum, tim ML terkadang memerlukan kemampuan yang lebih canggih seperti membuat model cepat untuk mengevaluasi data dan menghasilkan skor kepentingan fitur atau evaluasi model pascapelatihan sebagai bagian dari pipeline MLOps.

SageMaker menawarkan dua fitur yang dirancang khusus untuk membantu masalah tersebut: Pemrosesan SageMaker dan Pengatur Data. Pemrosesan SageMaker memungkinkan Anda menjalankan prapemrosesan, pascapemrosesan, dan evaluasi model dengan mudah pada infrastruktur yang dikelola sepenuhnya. Data Wrangler mengurangi waktu yang diperlukan untuk mengumpulkan dan menyiapkan data dengan menyederhanakan proses integrasi sumber data dan rekayasa fitur menggunakan antarmuka visual tunggal dan lingkungan pemrosesan data yang terdistribusi penuh.

Kedua fitur SageMaker memberikan fleksibilitas tinggi dengan beberapa opsi untuk I/O, penyimpanan, dan komputasi. Namun, menyetel opsi tersebut secara tidak benar dapat menyebabkan biaya yang tidak perlu, terutama saat menangani kumpulan data besar.

Dalam postingan ini, kami menganalisis faktor penetapan harga dan memberikan panduan pengoptimalan biaya untuk pekerjaan SageMaker Processing dan Data Wrangler.

Pengolahan SageMaker

SageMaker Processing adalah solusi terkelola untuk menjalankan pemrosesan data dan beban kerja evaluasi model. Anda dapat menggunakannya dalam langkah pemrosesan data seperti rekayasa fitur, validasi data, evaluasi model, dan interpretasi model dalam alur kerja ML. Dengan Pemrosesan SageMaker, Anda dapat membawa skrip pemrosesan khusus Anda sendiri dan memilih untuk membuat penampung khusus atau menggunakan penampung terkelola SageMaker dengan kerangka kerja umum seperti scikit-learn, Lime, Spark, dan lainnya.

Pemrosesan SageMaker menagih Anda untuk jenis instans yang Anda pilih, berdasarkan durasi penggunaan dan penyimpanan yang disediakan yang terpasang pada instans tersebut. Di Bagian 1, kami menunjukkan cara mulai menggunakan Penjelajah Biaya AWS untuk mengidentifikasi peluang pengoptimalan biaya di SageMaker.

Anda dapat memfilter biaya pemrosesan dengan menerapkan filter pada jenis penggunaan. Nama-nama jenis penggunaan ini adalah sebagai berikut:

  • REGION-Processing:instanceType (sebagai contoh, USE1-Processing:ml.m5.large)
  • REGION-Processing:VolumeUsage.gp2 (sebagai contoh, USE1-Processing:VolumeUsage.gp2)

Untuk meninjau biaya Pemrosesan SageMaker Anda di Cost Explorer, mulai dengan memfilter dengan SageMaker untuk Pelayanan, Dan untuk Jenis penggunaan, Anda dapat memilih semua instans pemrosesan jam berjalan dengan memasukkan processing:ml awalan dan memilih daftar pada menu.

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Hindari biaya dalam pemrosesan dan pengembangan jalur pipa

Sebelum menentukan ukuran yang tepat dan mengoptimalkan durasi tugas Pemrosesan SageMaker, kami memeriksa metrik tingkat tinggi tentang riwayat tugas yang dijalankan. Anda dapat memilih dari dua metode untuk melakukan ini.

Pertama, Anda dapat mengakses Pengolahan halaman di konsol SageMaker.

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Atau, Anda dapat menggunakan API daftar_pemrosesan_pekerjaan.

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Status pekerjaan Pemrosesan dapat berupa InProgress, Completed, Failed, Stopping, atau Stopped.

Banyaknya pekerjaan yang gagal adalah hal biasa saat mengembangkan jaringan pipa MLOps baru. Namun, Anda harus selalu menguji dan melakukan segala upaya untuk memvalidasi tugas sebelum meluncurkannya di SageMaker karena ada biaya untuk sumber daya yang digunakan. Untuk tujuan itu, Anda dapat menggunakan Pemrosesan SageMaker di mode lokal. Mode lokal adalah fitur SDK SageMaker yang memungkinkan Anda membuat estimator, pemroses, dan pipeline, serta menerapkannya ke lingkungan pengembangan lokal Anda. Ini adalah cara yang bagus untuk menguji skrip Anda sebelum menjalankannya di lingkungan terkelola SageMaker. Mode lokal didukung oleh kontainer yang dikelola SageMaker dan yang Anda sediakan sendiri. Untuk mempelajari lebih lanjut tentang cara menggunakan mode lokal dengan Pipa Amazon SageMaker, mengacu pada Mode lokal.

Optimalkan biaya terkait I/O

Pekerjaan Pemrosesan SageMaker menawarkan akses ke tiga sumber data sebagai bagian dari sumber data terkelola masukan pemrosesan: Layanan Penyimpanan Sederhana Amazon (Amazon S3), Amazon Athena, dan Pergeseran Merah Amazon. Untuk informasi lebih lanjut, lihat MemprosesS3Input, Definisi AthenaDataset, dan Definisi RedshiftDataset, Masing-masing.

Sebelum membahas pengoptimalan, penting untuk diperhatikan bahwa meskipun tugas Pemrosesan SageMaker mendukung sumber data ini, tugas tersebut tidak wajib. Dalam kode pemrosesan Anda, Anda dapat menerapkan metode apa pun untuk mengunduh data pengakses dari sumber mana pun (asalkan instans pemrosesan dapat mengaksesnya).

Untuk mendapatkan wawasan yang lebih baik tentang kinerja pemrosesan dan mendeteksi peluang pengoptimalan, sebaiknya ikuti mencatat praktik terbaik dalam skrip pemrosesan Anda. SageMaker menerbitkan log pemrosesan Anda ke amazoncloudwatch.

Dalam log pekerjaan contoh berikut, kita melihat bahwa pemrosesan skrip memakan waktu 15 menit (antara Start custom script dan End custom script).

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Namun, di konsol SageMaker, kami melihat bahwa pekerjaan memerlukan waktu tambahan 4 menit (hampir 25% dari total waktu proses pekerjaan).

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Ini karena fakta bahwa selain waktu yang dibutuhkan skrip pemrosesan kami, pengunduhan dan pengunggahan data yang dikelola SageMaker juga membutuhkan waktu (4 menit). Jika ini terbukti menjadi bagian besar dari biaya, pertimbangkan cara alternatif untuk mempercepat waktu pengunduhan, seperti menggunakan Boto3 API dengan multiprosesing untuk mengunduh file secara bersamaan, atau menggunakan pustaka pihak ketiga sebagai WebDataset atau s5cmd untuk mengunduh lebih cepat dari Amazon S3 . Untuk informasi lebih lanjut, lihat Memparalelkan Beban Kerja S3 dengan s5cmd. Perhatikan bahwa metode tersebut mungkin menimbulkan biaya di Amazon S3 karena transfer data.

Memproses pekerjaan juga mendukung Mode pipa. Dengan metode ini, SageMaker mengalirkan data input dari sumber langsung ke wadah pemrosesan Anda ke dalam pipa bernama tanpa menggunakan volume penyimpanan ML, sehingga menghilangkan waktu pengunduhan data dan volume disk yang lebih kecil. Namun, ini membutuhkan model pemrograman yang lebih rumit daripada sekadar membaca dari file di disk.

Seperti disebutkan sebelumnya, SageMaker Processing juga mendukung Athena dan Amazon Redshift sebagai sumber data. Saat menyiapkan tugas Pemrosesan dengan sumber ini, SageMaker secara otomatis menyalin data ke Amazon S3, dan instans pemrosesan mengambil data dari lokasi Amazon S3. Namun, saat pekerjaan selesai, tidak ada proses pembersihan terkelola dan data yang disalin akan tetap berada di Amazon S3 dan mungkin dikenakan biaya penyimpanan yang tidak diinginkan. Oleh karena itu, saat menggunakan sumber data Athena dan Amazon Redshift, pastikan untuk menerapkan prosedur pembersihan, seperti fungsi Lambda yang berjalan sesuai jadwal atau dalam a Langkah Lambda sebagai bagian dari pipeline SageMaker.

Seperti mengunduh, mengunggah artefak pemrosesan juga bisa menjadi peluang untuk pengoptimalan. Ketika output pekerjaan Pemrosesan dikonfigurasi menggunakan ProcessingS3Output parameter, Anda dapat menentukan yang mana S3UploadMode menggunakan. Itu S3UploadMode nilai default parameter adalah EndOfJob, yang akan membuat SageMaker mengunggah hasilnya setelah pekerjaan selesai. Namun, jika pekerjaan Pemrosesan Anda menghasilkan banyak file, Anda dapat mengaturnya S3UploadMode untuk Continuous, sehingga memungkinkan pengunggahan artefak secara bersamaan saat pemrosesan berlanjut, dan mengurangi runtime tugas.

Instance tugas pemrosesan dengan ukuran yang tepat

Memilih jenis dan ukuran instans yang tepat merupakan faktor utama dalam mengoptimalkan biaya tugas Pemrosesan SageMaker. Anda dapat menyesuaikan ukuran instans dengan bermigrasi ke versi yang berbeda dalam keluarga instans yang sama atau dengan bermigrasi ke keluarga instans lain. Saat bermigrasi dalam keluarga instans yang sama, Anda hanya perlu mempertimbangkan CPU/GPU dan memori. Untuk informasi selengkapnya dan panduan umum dalam memilih sumber daya pemrosesan yang tepat, lihat Pastikan sumber daya komputasi yang efisien di Amazon SageMaker.

Untuk menyempurnakan pemilihan instans, kami mulai dengan menganalisis metrik tugas Pemrosesan di CloudWatch. Untuk informasi lebih lanjut, lihat Pantau Amazon SageMaker dengan Amazon CloudWatch.

CloudWatch mengumpulkan data mentah dari SageMaker dan memprosesnya menjadi metrik yang hampir real-time dan dapat dibaca. Meskipun statistik ini disimpan selama 15 bulan, konsol CloudWatch membatasi pencarian ke metrik yang diperbarui dalam 2 minggu terakhir (ini memastikan bahwa hanya pekerjaan saat ini yang ditampilkan). Metrik tugas pemrosesan dapat ditemukan di namespace /aws/sagemaker/ProcessingJobs dan metrik yang dikumpulkan adalah CPUUtilization, MemoryUtilization, GPUUtilization, GPUMemoryUtilization, dan DiskUtilization.

Tangkapan layar berikut menunjukkan contoh di CloudWatch dari tugas Pemrosesan yang kita lihat sebelumnya.

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Dalam contoh ini, kita melihat rata-rata nilai CPU dan memori (yang merupakan default di CloudWatch): penggunaan CPU rata-rata adalah 0.04%, memori 1.84%, dan penggunaan disk 13.7%. Untuk ukuran yang tepat, selalu pertimbangkan penggunaan CPU dan memori maksimum (dalam contoh ini, penggunaan CPU maksimum adalah 98% dalam 3 menit pertama). Sebagai aturan umum, jika penggunaan CPU dan memori maksimum Anda secara konsisten kurang dari 40%, Anda dapat memotong mesin menjadi dua dengan aman. Misalnya, jika Anda menggunakan instans ml.c5.4xlarge, Anda dapat berpindah ke ml.c5.2xlarge, yang dapat mengurangi biaya sebesar 50%.

Pekerjaan Data Wrangler

Data Wrangler adalah fitur dari Studio Amazon SageMaker yang menyediakan solusi berulang dan terukur untuk eksplorasi dan pemrosesan data. Anda menggunakan antarmuka Data Wrangler untuk mengimpor, menganalisis, mengubah, dan menampilkan data Anda secara interaktif. Langkah-langkah tersebut direkam dalam resep (file .flow) yang kemudian dapat Anda gunakan dalam pekerjaan Data Wrangler. Ini membantu Anda menerapkan kembali transformasi data yang sama pada data Anda dan juga menskalakan ke tugas pemrosesan data batch terdistribusi, baik sebagai bagian dari pipeline ML atau secara mandiri.

Untuk panduan mengoptimalkan aplikasi Data Wrangler Anda di Studio, lihat Bagian 2 dalam seri ini.

Di bagian ini, kami fokus pada pengoptimalan pekerjaan Data Wrangler.

Penggunaan Data Wrangler Tugas pemrosesan SageMaker Spark dengan wadah yang dikelola Data Wrangler. Penampung ini menjalankan petunjuk dari file .flow dalam pekerjaan. Seperti pekerjaan pemrosesan lainnya, Data Wrangler menagih Anda untuk instans yang Anda pilih, berdasarkan durasi penggunaan dan penyimpanan yang disediakan yang terpasang pada instans tersebut.

Di Cost Explorer, Anda dapat memfilter biaya pekerjaan Data Wrangler dengan menerapkan filter pada jenis penggunaan. Nama-nama jenis penggunaan ini adalah:

  • REGION-processing_DW:instanceType (sebagai contoh, USE1-processing_DW:ml.m5.large)
  • REGION-processing_DW:VolumeUsage.gp2 (sebagai contoh, USE1-processing_DW:VolumeUsage.gp2)

Untuk melihat biaya Data Wrangler Anda di Cost Explorer, filter layanan untuk menggunakan SageMaker, dan untuk Jenis penggunaan, memilih processing_DW awalan dan pilih daftar pada menu. Ini akan menunjukkan kepada Anda biaya terkait penggunaan instans (jam) dan volume penyimpanan (GB). (Jika Anda ingin melihat biaya Studio Data Wrangler, Anda dapat memfilter jenis penggunaan berdasarkan Studio_DW awalan.)

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Contoh tugas Data Wrangler ukuran dan jadwal yang tepat

Saat ini, Data Wrangler hanya mendukung instans m5 dengan ukuran instans berikut: ml.m5.4xlarge, ml.m5.12xlarge, dan ml.m5.24xlarge. Anda dapat menggunakan fitur pekerjaan terdistribusi untuk menyempurnakan biaya pekerjaan Anda. Misalnya, Anda perlu memproses kumpulan data yang membutuhkan RAM 350 GiB. 4xlarge (128 GiB) dan 12xlarge (256 GiB) mungkin tidak dapat diproses dan akan mengarahkan Anda untuk menggunakan instans m5.24xlarge (768 GiB). Namun, Anda dapat menggunakan dua instans m5.12xlarge (2 * 256 GiB = 512 GiB) dan mengurangi biaya sebesar 40% atau tiga instans m5.4xlarge (3 * 128 GiB = 384 GiB) dan menghemat 50% dari m5.24xlarge biaya contoh. Anda harus mencatat bahwa ini adalah perkiraan dan bahwa pemrosesan terdistribusi mungkin menimbulkan beberapa overhead yang akan memengaruhi keseluruhan waktu proses.

Saat mengubah jenis instans, pastikan Anda memperbarui Konfigurasi percikan demikian. Misalnya, jika Anda memiliki pekerjaan instance ml.m5.4xlarge awal yang dikonfigurasi dengan properti spark.driver.memory disetel ke 2048 dan spark.executor.memory diatur ke 55742, dan kemudian diskalakan hingga ml.m5.12xlarge, nilai konfigurasi tersebut perlu ditingkatkan, jika tidak maka akan menjadi hambatan dalam pekerjaan pemrosesan. Anda dapat memperbarui variabel ini di GUI Data Wrangler atau di file konfigurasi yang ditambahkan ke jalur konfigurasi (lihat contoh berikut).

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Fitur menarik lainnya di Data Wrangler adalah kemampuannya untuk menetapkan pekerjaan terjadwal. Jika Anda memproses data secara berkala, Anda dapat membuat jadwal untuk menjalankan tugas pemrosesan secara otomatis. Misalnya, Anda dapat membuat jadwal yang menjalankan tugas pemrosesan secara otomatis saat Anda mendapatkan data baru (misalnya, lihat Ekspor ke Amazon S3 or Ekspor ke Toko Fitur Amazon SageMaker). Namun, Anda harus mencatat bahwa saat Anda membuat jadwal, Data Wrangler membuat jadwal eventRule di EventBridge. Ini berarti Anda juga dikenai biaya untuk aturan peristiwa yang Anda buat (serta instans yang digunakan untuk menjalankan tugas pemrosesan). Untuk informasi lebih lanjut, lihat Harga Amazon EventBridge.

Kesimpulan

Dalam postingan ini, kami memberikan panduan tentang analisis biaya dan praktik terbaik saat melakukan prapemrosesan

data menggunakan tugas SageMaker Processing dan Data Wrangler. Mirip dengan prapemrosesan, ada banyak opsi dan setelan konfigurasi dalam membuat, melatih, dan menjalankan model ML yang dapat menyebabkan biaya yang tidak perlu. Oleh karena itu, karena machine learning memantapkan dirinya sebagai alat yang ampuh di seluruh industri, beban kerja ML harus tetap hemat biaya.

SageMaker menawarkan rangkaian fitur yang luas dan mendalam untuk memfasilitasi setiap langkah dalam alur ML.

Ketangguhan ini juga memberikan peluang pengoptimalan biaya berkelanjutan tanpa mengorbankan kinerja atau kelincahan.


Tentang Penulis

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Deepali Rajale adalah Spesialis AI/ML Senior di AWS. Dia bekerja dengan pelanggan perusahaan memberikan panduan teknis dengan praktik terbaik untuk menerapkan dan memelihara solusi AI/ML di ekosistem AWS. Dia telah bekerja dengan berbagai organisasi dalam berbagai kasus penggunaan pembelajaran mendalam yang melibatkan NLP dan visi komputer. Dia bersemangat memberdayakan organisasi untuk memanfaatkan AI generatif untuk meningkatkan pengalaman penggunaan mereka. Di waktu luangnya, dia menikmati film, musik, dan sastra.

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 3: Pekerjaan Pemrosesan dan Pengatur Data | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Uri Rosenberg adalah Manajer Teknis Spesialis AI & ML untuk Eropa, Timur Tengah, dan Afrika. Berbasis di Israel, Uri bekerja untuk memberdayakan pelanggan perusahaan dalam segala hal tentang ML untuk merancang, membuat, dan mengoperasikan dalam skala besar. Di waktu luangnya, ia menikmati bersepeda, hiking, dan melihat matahari terbenam (minimal sekali sehari).

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS