Menganalisis pengeluaran Amazon SageMaker dan menentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 4: Melatih pekerjaan | Layanan Web Amazon

Menganalisis pengeluaran Amazon SageMaker dan menentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 4: Melatih pekerjaan | 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 postingan ini, kami fokus pada pekerjaan pelatihan SageMaker.

Pekerjaan pelatihan SageMaker

Tugas pelatihan SageMaker adalah proses batch asinkron dengan fitur bawaan untuk pelatihan dan pengoptimalan model ML.

Dengan pekerjaan pelatihan SageMaker, Anda dapat membawa algoritme Anda sendiri atau memilih dari lebih dari 25 algoritme bawaan. SageMaker mendukung berbagai sumber data dan pola akses, pelatihan terdistribusi termasuk cluster heterogen, serta fitur manajemen eksperimen dan penyetelan model otomatis.

Biaya tugas pelatihan didasarkan pada sumber daya yang Anda gunakan (instans dan penyimpanan) selama durasi (dalam detik) saat instans tersebut berjalan. Ini termasuk waktu pelatihan berlangsung dan, jika Anda menggunakan fitur kolam hangat, periode tetap hidup yang Anda konfigurasikan. Di dalam bagian 1, kami menunjukkan cara mulai menggunakan Penjelajah Biaya AWS untuk mengidentifikasi peluang pengoptimalan biaya di SageMaker. Anda dapat memfilter biaya pelatihan dengan menerapkan filter pada jenis penggunaan. Nama-nama jenis penggunaan ini adalah sebagai berikut:

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

Untuk melihat rincian biaya pelatihan di Cost Explorer, Anda dapat masuk train: sebagai awalan untuk Jenis penggunaan. Jika Anda memfilter hanya berdasarkan jam yang digunakan (lihat tangkapan layar berikut), Cost Explorer akan menghasilkan dua grafik: Biaya dan Penggunaan. Tampilan ini akan membantu Anda memprioritaskan peluang pengoptimalan dan mengidentifikasi contoh mana yang berjalan lama dan mahal.

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

Sebelum mengoptimalkan tugas pelatihan yang ada, sebaiknya ikuti praktik terbaik yang tercakup dalam Mengoptimalkan biaya pembelajaran mesin dengan Amazon SageMaker: uji kode Anda secara lokal dan gunakan mode lokal untuk pengujian, gunakan model yang telah dilatih sebelumnya jika memungkinkan, dan pertimbangkan pelatihan spot terkelola (yang dapat mengoptimalkan biaya hingga 90% dibandingkan instans Sesuai Permintaan).

Ketika pekerjaan Sesuai Permintaan diluncurkan, pekerjaan tersebut melewati lima fase: Memulai, Mengunduh, Pelatihan, Mengunggah, dan Selesai. Anda dapat melihat fase dan deskripsi tersebut di halaman tugas pelatihan di konsol SageMaker.

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

Dari sudut pandang harga, Anda dikenakan biaya untuk fase Pengunduhan, Pelatihan, dan Pengunggahan.

Meninjau fase-fase ini adalah langkah pertama dalam mendiagnosis tempat untuk mengoptimalkan biaya pelatihan Anda. Pada postingan kali ini kita membahas tahap Pengunduhan dan Pelatihan.

Fase pengunduhan

Pada contoh sebelumnya, tahap Pengunduhan memakan waktu kurang dari satu menit. Namun, jika pengunduhan data merupakan faktor besar dalam biaya pelatihan Anda, Anda harus mempertimbangkan sumber data yang Anda gunakan dan metode aksesnya. Pekerjaan pelatihan SageMaker mendukung tiga sumber data secara asli: Sistem File Amazon Elastis (AmazonEFS), Layanan Penyimpanan Sederhana Amazon (Amazon S3), dan Amazon FSx untuk Lustre. Untuk Amazon S3, SageMaker menawarkan tiga cara terkelola agar algoritme Anda dapat mengakses pelatihan: Mode file (di mana data diunduh ke penyimpanan blok instans), Mode pipa (data dialirkan ke instans, sehingga menghilangkan durasi fase Pengunduhan) dan mode Fast File (menggabungkan kemudahan penggunaan mode File yang ada dengan kinerja mode Pipa). Untuk panduan mendetail tentang memilih sumber data dan metode akses yang tepat, lihat Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda.

Saat menggunakan pelatihan spot terkelola, setiap fase pengunduhan berulang yang terjadi karena gangguan tidak dikenakan biaya (jadi Anda hanya dikenakan biaya selama durasi pengunduhan data satu kali).

Penting untuk dicatat bahwa meskipun pekerjaan pelatihan SageMaker mendukung sumber data yang kami sebutkan, hal tersebut tidak wajib. Dalam kode pelatihan Anda, Anda dapat menerapkan metode apa pun untuk mengunduh data pelatihan dari sumber mana pun (asalkan instance pelatihan dapat mengaksesnya). Ada cara tambahan untuk mempercepat waktu pengunduhan, seperti menggunakan API Boto3 dengan multiproses untuk mengunduh file secara bersamaan, atau menggunakan pustaka pihak ketiga seperti WebDataset atau s5cmd untuk pengunduhan lebih cepat dari Amazon S3. Untuk informasi lebih lanjut, lihat Memparalelkan Beban Kerja S3 dengan s5cmd.

Fase pelatihan

Mengoptimalkan biaya fase Pelatihan terdiri dari pengoptimalan dua vektor: memilih infrastruktur yang tepat (keluarga dan ukuran instance), dan mengoptimalkan pelatihan itu sendiri. Secara kasar kita dapat membagi instance pelatihan menjadi dua kategori: berbasis GPU yang dipercepat, sebagian besar untuk model pembelajaran mendalam, dan berbasis CPU untuk kerangka kerja ML umum. Untuk panduan dalam memilih keluarga instance yang tepat untuk pelatihan, lihat Pastikan sumber daya komputasi yang efisien di Amazon SageMaker. Jika pelatihan Anda memerlukan instance GPU, sebaiknya lihat videonya Cara memilih instans GPU Amazon EC2 untuk pembelajaran mendalam.

Sebagai panduan umum, jika beban kerja Anda memerlukan GPU NVIDIA, kami menemukan bahwa pelanggan mendapatkan penghematan biaya yang signifikan dengan dua GPU tersebut Cloud komputasi elastis Amazon Jenis instans (Amazon EC2): ml.g4dn dan ml.g5. Ml.g4dn dilengkapi dengan NVIDIA T4 dan menawarkan biaya per memori yang sangat rendah. Mesin virtual ml.g5 dilengkapi dengan NVIDIA A10g Tensor Core dan memiliki biaya per CUDA flop terendah (fp32).

AWS menawarkan fitur penghematan biaya khusus untuk pelatihan pembelajaran mendalam:

Untuk menyesuaikan ukuran dan mengoptimalkan instans Anda, Anda harus terlebih dahulu melihat amazoncloudwatch metrik yang dihasilkan oleh tugas pelatihan. Untuk informasi lebih lanjut, lihat Tugas SageMaker dan Metrik Titik Akhir. Anda selanjutnya dapat menggunakan CloudWatch metrik algoritme khusus untuk memantau kinerja pelatihan.

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

Metrik ini dapat menunjukkan kemacetan atau penyediaan sumber daya yang berlebihan. Misalnya, jika Anda mengamati CPU tinggi dengan penggunaan GPU rendah, Anda dapat mengatasi masalah tersebut dengan menggunakan cluster heterogen. Contoh lainnya adalah penggunaan CPU yang rendah secara konsisten sepanjang durasi pekerjaanโ€”hal ini dapat menyebabkan pengurangan ukuran instance.

Jika Anda menggunakan pelatihan terdistribusi, Anda harus menguji metode distribusi yang berbeda (tower, Ring-AllReduce, mirrored, dan sebagainya) untuk memvalidasi pemanfaatan maksimum dan menyempurnakan parameter kerangka kerja Anda (untuk contoh, lihat Praktik terbaik untuk pelatihan akselerasi TensorFlow 1.x di Amazon SageMaker). Penting untuk digarisbawahi bahwa Anda dapat menggunakan API distribusi SageMaker dan perpustakaan sejenisnya SageMaker Mendistribusikan Data Secara Paralel, Paralel Model SageMaker, dan SageMaker Shard Data Paralel, yang dioptimalkan untuk infrastruktur AWS dan membantu mengurangi biaya pelatihan.

Perhatikan bahwa pelatihan terdistribusi tidak selalu berskala linier dan mungkin menimbulkan sejumlah overhead, yang akan memengaruhi waktu proses secara keseluruhan.

Untuk model pembelajaran mendalam, teknik pengoptimalan lainnya adalah menggunakan presisi campuran. Presisi campuran dapat mempercepat pelatihan, sehingga mengurangi waktu pelatihan dan penggunaan memori dengan dampak minimal atau tanpa dampak terhadap akurasi model. Untuk informasi lebih lanjut, lihat Berlatih dengan Data Paralel dan Model Paralel bagian dalam Pelatihan Terdistribusi di Amazon SageMaker.

Terakhir, mengoptimalkan parameter kerangka kerja tertentu dapat memberikan dampak yang signifikan dalam mengoptimalkan proses pelatihan. Tuning model otomatis SageMaker menemukan hyperparameter dengan performa terbaik, yang diukur dengan metrik objektif yang Anda pilih. Menetapkan waktu pelatihan sebagai metrik objektif dan konfigurasi kerangka kerja sebagai hyperparameter dapat membantu menghilangkan hambatan dan mengurangi waktu pelatihan secara keseluruhan. Untuk contoh mengoptimalkan pengaturan TensorFlow default dan menghilangkan hambatan CPU, lihat Aerobotik meningkatkan kecepatan pelatihan sebanyak 24 kali per sampel dengan Amazon SageMaker dan TensorFlow.

Peluang lain untuk mengoptimalkan waktu pengunduhan dan pemrosesan adalah dengan mempertimbangkan pelatihan pada subkumpulan data Anda. Jika data Anda terdiri dari beberapa entri duplikat atau fitur dengan perolehan informasi rendah, Anda mungkin dapat melatih subkumpulan data dan mengurangi waktu pengunduhan dan pelatihan serta menggunakan instans yang lebih kecil dan Toko Blok Elastis Amazon (Amazon EBS) volumenya. Sebagai contoh, lihat Gunakan pendekatan yang berpusat pada data untuk meminimalkan jumlah data yang diperlukan untuk melatih model Amazon SageMaker. Juga, Pengatur Data Amazon SageMaker dapat menyederhanakan analisis dan pembuatan sampel pelatihan. Untuk informasi lebih lanjut, lihat Buat sampel data acak dan bertingkat dengan Amazon SageMaker Data Wrangler.

Debugger SageMaker

Untuk memastikan pelatihan yang efisien dan pemanfaatan sumber daya, SageMaker dapat membuat profil tugas pelatihan Anda menggunakan Debugger Amazon SageMaker. Penawaran debugger aturan bawaan untuk memperingatkan masalah umum yang memengaruhi pelatihan Anda seperti kemacetan CPU, peningkatan memori GPU, atau kemacetan I/O, atau Anda dapat membuat aturan sendiri. Anda dapat mengakses dan menganalisis laporan yang dihasilkan Studio Amazon SageMaker. Untuk informasi lebih lanjut, lihat UI Debugger Amazon SageMaker di Eksperimen Amazon SageMaker Studio. Tangkapan layar berikut menunjukkan tampilan Debugger di Studio.

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

Anda dapat menelusuri operator dan fungsi Python (file Operasi teratas pada GPU bagian) yang dijalankan untuk melakukan tugas pelatihan. Aturan bawaan Debugger untuk membuat profil masalah terkait pengoperasian kerangka jam tangan, termasuk waktu inisialisasi pelatihan yang berlebihan karena pengunduhan data sebelum pelatihan dimulai dan outlier durasi langkah dalam loop pelatihan. Anda harus mencatat bahwa meskipun penggunaan aturan bawaan gratis, biaya untuk aturan khusus berlaku berdasarkan instans yang Anda konfigurasikan selama durasi tugas pelatihan dan penyimpanan yang melekat padanya.

Kesimpulan

Dalam postingan ini, kami memberikan panduan tentang analisis biaya dan praktik terbaik saat melatih model ML menggunakan tugas pelatihan SageMaker. Karena pembelajaran mesin telah menjadi alat yang ampuh di seluruh industri, pelatihan dan menjalankan model ML harus tetap hemat biaya. SageMaker menawarkan serangkaian fitur yang luas dan mendalam untuk memfasilitasi setiap langkah dalam pipeline ML dan memberikan peluang pengoptimalan biaya tanpa memengaruhi performa atau ketangkasan.


Tentang Penulis

Analisis pembelanjaan Amazon SageMaker dan tentukan peluang pengoptimalan biaya berdasarkan penggunaan, Bagian 4: Pekerjaan pelatihan | 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 4: Pekerjaan pelatihan | 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 berupaya memberdayakan pelanggan perusahaan dalam segala hal tentang ML untuk merancang, membangun, dan mengoperasikan dalam skala besar. Di waktu luangnya, ia menikmati bersepeda, hiking, dan meningkatkan entropi.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS