Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools

Amazon SageMaker Training Managed Warm Pools memberi Anda fleksibilitas untuk ikut serta menggunakan kembali dan mempertahankan infrastruktur dasar untuk periode waktu yang ditentukan pengguna. Hal ini dilakukan sambil tetap mempertahankan manfaat untuk meneruskan pekerjaan berat yang tidak dapat dibedakan dalam mengelola instans komputasi Pelatihan Model Amazon SageMaker. Dalam postingan ini, kami menguraikan manfaat utama dan poin kesulitan yang dibahas oleh SageMaker Training Managed Warm Pools, serta tolok ukur dan praktik terbaik.

Ikhtisar Pelatihan SageMaker Managed Warm Pools

Pelatihan Model SageMaker adalah kemampuan terkelola penuh yang memutar instans untuk setiap tugas, melatih model, menjalankan, lalu memutar instans setelah tugas. Anda hanya ditagih selama durasi pekerjaan hingga detik. Kemampuan yang terkelola sepenuhnya ini memberi Anda kebebasan untuk fokus pada algoritme pembelajaran mesin (ML) Anda dan tidak khawatir tentang pengangkatan berat yang tidak berbeda seperti manajemen infrastruktur saat melatih model Anda.

Mekanisme ini memerlukan waktu mulai yang terbatas untuk pekerjaan pelatihan. Meskipun waktu startup ini, juga dikenal sebagai waktu mulai dingin, cukup rendah, beberapa kasus penggunaan pelanggan kami yang paling menuntut bahkan memerlukan waktu pengaktifan yang lebih singkat, seperti di bawah 20 detik. Ada dua kasus penggunaan terkemuka yang memiliki persyaratan ini:

  • Yang pertama adalah eksperimen ML aktif oleh ilmuwan data menggunakan Amazon SageMaker platform pelatihan, terutama saat melatih model besar, seperti GPT3, yang memerlukan beberapa iterasi untuk mencapai status siap produksi.
  • Yang kedua adalah peluncuran terprogram dari sejumlah besar (dalam urutan beberapa ratus atau ribuan) pekerjaan berturut-turut pada contoh yang sama pada irama yang dijadwalkan. Misalnya, pencarian parameter atau pelatihan tambahan.

Untuk kasus penggunaan seperti itu, setiap detik yang dihabiskan untuk overhead, seperti waktu mulai untuk tugas pelatihan, memiliki efek kumulatif pada semua tugas ini.

Dengan SageMaker Training Managed Warm Pools, ilmuwan data dan insinyur ML memiliki kemampuan untuk ikut serta agar instans pelatihan SageMaker atau kluster multi-instans tetap hangat untuk waktu yang ditentukan sebelumnya dan dapat dikonfigurasi ulang (keep_alive_period_in_seconds) setelah setiap pekerjaan pelatihan selesai. Jadi, meskipun Anda dikenakan penalti cold-start untuk tugas pelatihan pertama yang dijalankan pada instans atau klaster, untuk semua tugas pelatihan berikutnya, instans sudah aktif dan berjalan. Akibatnya, pekerjaan pelatihan berikutnya yang dimulai pada contoh sebelum keep_alive_period_in_seconds kedaluwarsa tidak menimbulkan overhead waktu mulai dingin. Hal ini dapat mengurangi waktu memulai tugas pelatihan menjadi kira-kira kurang dari 20 detik (P90).

Ilmuwan data dan insinyur ML dapat menggunakan SageMaker Training Managed Warm Pools untuk menjaga satu atau beberapa instans tetap hangat di antara pelatihan yang berjalan untuk eksperimen atau menjalankan beberapa tugas secara berurutan pada klaster tunggal atau multi-instansi yang sama. Anda hanya membayar untuk durasi pekerjaan pelatihan dan yang dapat dikonfigurasi ulang keep_alive_period_in_seconds seperti di tempat lain yang Anda tentukan untuk setiap contoh.

Intinya, dengan SageMaker Training Managed Warm Pools, Anda mendapatkan kombinasi pemanfaatan instans terkelola SageMaker dengan kemampuan untuk ikut serta dan menyediakan kapasitas dan pemanfaatan swakelola untuk interval waktu singkat. Interval ini dapat dikonfigurasi sebelum pekerjaan, tetapi jika selama keep_alive_period_in_seconds interval, Anda perlu mengurangi atau menambahnya, Anda bisa melakukannya. Meningkat menjadi keep_alive_period_in_seconds dapat dilakukan dalam interval hingga 60 menit, dengan periode maksimal untuk instance atau cluster adalah 7 hari.

Untuk memulai dengan kolam air hangat, pertama permintaan penambahan kuota kolam renang hangat, lalu tentukan keep_alive_period_in_seconds parameter saat memulai pekerjaan pelatihan.

benchmark

Kami melakukan uji pembandingan untuk mengukur latensi pengaktifan tugas menggunakan gambar TensorFlow 1.34 GB, data 2 GB, dan berbagai mode input data pelatihan (Amazon FSx, Mode File Cepat, Mode File). Pengujian dijalankan di berbagai jenis instans dari famili m4, c4, m5, dan c5 di Wilayah us-east-2. Latensi startup diukur sebagai waktu pembuatan tugas hingga dimulainya tugas pelatihan yang sebenarnya pada instans. Pekerjaan pertama yang memulai klaster dan membuat kolam hangat memiliki latensi pengaktifan 2โ€“3 menit. Latensi yang lebih tinggi ini disebabkan oleh waktu yang dibutuhkan untuk menyediakan infrastruktur, mengunduh gambar, dan mengunduh data. Pekerjaan selanjutnya yang menggunakan klaster warm pool memiliki latensi startup sekitar 20 detik untuk Fast File Mode (FFM) atau Amazon FSx, dan 70 detik untuk File Mode (FM). Delta ini adalah hasil dari FM yang mengharuskan seluruh kumpulan data diunduh dari Amazon S3 sebelum pekerjaan dimulai.

Pilihan mode input data pelatihan Anda memengaruhi waktu startup, bahkan dengan Warm Pools. Panduan tentang mode input yang harus dipilih ada di bagian praktik terbaik nanti di postingan ini.

Tabel berikut merangkum latensi startup pekerjaan P90 untuk berbagai mode input data pelatihan.

Modus Masukan Data Latensi Startup P90 (detik)
Pekerjaan pertama Pekerjaan Kolam Hangat (pekerjaan kedua dan seterusnya)
FSx 136 19
Mode File Cepat 143 21
Modus Berkas 176 70

Praktik terbaik untuk menggunakan kolam air hangat

Di bagian berikut, kami membagikan beberapa praktik terbaik saat menggunakan kolam air hangat.

Kapan Anda harus menggunakan kolam air hangat?

Kolam hangat direkomendasikan dalam skenario berikut:

  • Anda secara interaktif bereksperimen dan menyetel skrip Anda melalui serangkaian pekerjaan pendek.
  • Anda sedang menjalankan pengoptimalan hyperparameter skala besar buatan Anda sendiri (misalnya, Lagu Sine).
  • Anda memiliki proses batch yang menjalankan sejumlah besar (dalam urutan beberapa ratus atau ribuan) pekerjaan berurutan pada jenis instans yang sama pada irama harian atau mingguan. Misalnya, melatih model ML per kota.

Kolam air hangat tidak disarankan jika kemungkinan kecil seseorang akan menggunakan kembali kolam air hangat sebelum kedaluwarsa. Misalnya, satu tugas panjang yang dijalankan melalui pipeline ML otomatis.

Minimalkan latensi memulai tugas pelatihan warm pool

Pekerjaan pelatihan yang menggunakan kembali kolam hangat dimulai lebih cepat daripada pekerjaan pertama yang membuat kolam hangat. Ini karena menjaga instance ML berjalan di antara pekerjaan dengan gambar Docker wadah pelatihan yang di-cache untuk melewati penarikan wadah dari Registry Kontainer Elastis Amazon (ECR Amazon). Namun, bahkan saat menggunakan kembali kolam hangat, langkah inisialisasi tertentu terjadi untuk semua pekerjaan. Mengoptimalkan langkah-langkah ini dapat mengurangi waktu memulai pekerjaan Anda (baik pekerjaan pertama maupun berikutnya). Pertimbangkan hal berikut:

  • Mode input data pelatihan dapat memengaruhi waktu mulai โ€“ Saluran input data pelatihan terkelola dibuat ulang untuk setiap tugas pelatihan, berkontribusi pada latensi pengaktifan tugas. Jadi melakukan eksperimen awal pada kumpulan data yang lebih kecil akan memungkinkan waktu startup yang lebih cepat (dan waktu pelatihan yang lebih cepat). Untuk tahap eksperimen selanjutnya, ketika kumpulan data besar diperlukan, pertimbangkan untuk menggunakan jenis mode input yang memiliki waktu inisialisasi minimal atau tetap. Misalnya, mode input FILE menyalin seluruh dataset dari Layanan Penyimpanan Sederhana Amazon (Amazon S3) ke instans pelatihan, yang memakan waktu lama untuk kumpulan data besar (bahkan dengan kolam hangat). Mode File Cepat lebih cocok untuk latensi pengaktifan yang lebih rendah karena hanya metadata objek S3 yang perlu dibaca dari Amazon S3 sebelum beban kerja dapat dimulai. Itu Amazon FSx untuk Lustre, atau Sistem File Amazon Elastis Mode input sistem file (Amazon EFS), memiliki waktu inisialisasi yang tetap terlepas dari jumlah file dalam sistem file, yang bermanfaat saat bekerja dengan kumpulan data besar.
    Untuk informasi selengkapnya tentang cara memilih saluran input, lihat Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda.
  • Kurangi instalasi runtime paket โ€“ Penginstalan perangkat lunak apa pun yang terjadi selama startup kontainer, misalnya, pip Python atau sistem operasi apt-get, akan meningkatkan latensi pekerjaan pelatihan. Meminimalkan latensi startup ini memerlukan kompromi antara fleksibilitas dan kesederhanaan penginstalan runtime vs. penginstalan pada waktu pembuatan container. Jika Anda menggunakan wadah Docker Anda sendiri dengan SageMaker, lihat Mengadaptasi Kontainer Docker Anda Sendiri untuk Bekerja dengan SageMaker. Jika Anda mengandalkan image kontainer SageMaker prebuilt, kamu harus memperpanjang kontainer prebuilt dan mengelola wadah ini secara eksplisit. Pertimbangkan ini jika penginstalan runtime Anda secara signifikan meningkatkan latensi startup.
  • Hindari sering memperbarui gambar Docker Anda โ€“ Jika Anda menggunakan wadah Docker Anda sendiri dengan SageMaker, cobalah untuk tidak memperbaruinya setiap menjalankan pekerjaan. Jika gambar Docker berubah di antara pengiriman pekerjaan, kumpulan hangat akan digunakan kembali, tetapi proses startup perlu menarik ulang gambar kontainer dari Amazon ECR alih-alih menggunakan kembali gambar kontainer yang di-cache. Jika gambar Docker harus diperbarui, batasi pembaruan ke lapisan Docker terakhir untuk memanfaatkan caching lapisan Docker. Idealnya, Anda harus menghapus konten Dockerfile yang cenderung berubah seiring iterasi, seperti hyperparameter, definisi kumpulan data, dan kode ML itu sendiri. Untuk mengulangi kode ML tanpa harus membuat ulang gambar Docker dengan setiap perubahan, Anda dapat mengadopsi paradigma kontainer kerangka kerja yang dianjurkan dalam SageMaker Training Toolkit. Jika Anda ingin mengembangkan wadah kerangka kerja dengan kode Anda sendiri, lihat ini Tutorial Amazon SageMaker.

Bagikan kolam hangat di antara banyak pengguna

Saat bekerja dengan tim ilmuwan data yang besar, Anda dapat berbagi kolam hangat yang ada kriteria pekerjaan yang cocok, seperti sama Identitas AWS dan Manajemen Akses (IAM) gambar penampung atau peran.

Mari kita lihat contoh garis waktu. Pengguna-1 memulai tugas pelatihan yang selesai dan menghasilkan kolam hangat baru yang dibuat. Saat pengguna-2 memulai tugas pelatihan, tugas tersebut akan menggunakan kembali kolam hangat yang ada, sehingga memulai tugas dengan cepat. Saat tugas pengguna-2 berjalan dengan kolam hangat sedang digunakan, jika pengguna lain memulai tugas pelatihan, maka kolam hangat kedua akan dibuat.

Perilaku penggunaan kembali ini membantu mengurangi biaya dengan berbagi kolam hangat antara pengguna yang memulai pekerjaan serupa. Jika Anda ingin menghindari berbagi kolam hangat antar pengguna, maka pekerjaan pengguna tidak boleh ada kriteria pekerjaan yang cocok (misalnya, mereka harus menggunakan peran IAM yang berbeda).

Beri tahu pengguna tentang penyelesaian pekerjaan

Saat menggunakan kolam hangat untuk eksperimen, sebaiknya beri tahu pengguna saat pekerjaan mereka selesai. Ini memungkinkan pengguna untuk melanjutkan eksperimen sebelum kolam air hangat kedaluwarsa atau berhenti kolam hangat jika tidak lagi diperlukan. Anda juga bisa otomatis memicu notifikasi melalui Jembatan Acara Amazon.

Alat lebih lanjut untuk eksperimen cepat dan pekerjaan pelatihan pemecahan masalah

Dengan kolam hangat, Anda dapat memulai pekerjaan dalam waktu kurang dari 20 detik. Beberapa skenario memerlukan eksperimen dan pemecahan masalah interaktif secara real-time dan langsung. Sumber terbuka Pustaka Pembantu SSH SageMaker memungkinkan Anda melakukan shell ke wadah pelatihan SageMaker dan melakukan pengembangan dan debugging jarak jauh.

Kesimpulan

Dengan SageMaker Training Managed Warm Pools, Anda dapat membuat instans perangkat keras pelatihan model Anda tetap hangat setelah setiap pekerjaan selama jangka waktu tertentu. Hal ini dapat mengurangi latensi pengaktifan untuk tugas pelatihan model hingga 8x. SageMaker Training Managed Warm Pools tersedia di semua Wilayah AWS publik tempat Pelatihan Model SageMaker tersedia.

Untuk memulai, lihat Berlatih Menggunakan Kolam Hangat Terkelola SageMaker.


Tentang penulis

Romi Dattadr. Romi Datta  adalah Manajer Senior Manajemen Produk di tim Amazon SageMaker yang bertanggung jawab untuk pelatihan, pemrosesan, dan penyimpanan fitur. Dia telah berada di AWS selama lebih dari 4 tahun, memegang beberapa peran kepemimpinan manajemen produk di SageMaker, S3 dan IoT. Sebelum di AWS, ia bekerja di berbagai peran manajemen produk, teknik, dan kepemimpinan operasional di IBM, Texas Instruments, dan Nvidia. Dia memiliki gelar MS dan Ph.D. dalam Teknik Elektro dan Komputer dari University of Texas di Austin, dan MBA dari University of Chicago Booth School of Business.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Arun Nagarajan adalah Insinyur Utama dengan tim Amazon SageMaker yang berfokus pada area Pelatihan dan MLOps. Dia telah bergabung dengan tim SageMaker sejak tahun peluncuran, senang berkontribusi di berbagai area di SageMaker termasuk inferensi realtime dan produk Model Monitor. Dia suka menjelajahi alam bebas di wilayah Pacific Northwest dan mendaki gunung.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Ami Kamu adalah Manajer Pengembangan Perangkat Lunak di AWS SageMaker. Dia berfokus untuk menyatukan tim insinyur perangkat lunak untuk membangun, memelihara, dan mengembangkan kemampuan baru platform Pelatihan SageMaker yang membantu pelanggan melatih model ML mereka dengan lebih efisien dan mudah. Dia memiliki hasrat terhadap teknologi ML dan AI, terutama terkait citra dan visi dari studi pascasarjananya. Di waktu luangnya, dia suka mengerjakan musik dan seni bersama keluarganya.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Sifei Li adalah Insinyur Perangkat Lunak di Amazon AI tempat dia bekerja membangun Platform Pembelajaran Mesin Amazon dan merupakan bagian dari tim peluncuran untuk Amazon SageMaker. Di waktu luangnya, dia suka bermain musik dan membaca.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Jenna Zhao adalah Insinyur Pengembangan Perangkat Lunak di AWS SageMaker. Dia sangat menyukai teknologi ML/AI dan berfokus pada pembangunan platform Pelatihan SageMaker yang memungkinkan pelanggan untuk melatih model pembelajaran mesin dengan cepat dan mudah. Di luar pekerjaan, dia menikmati bepergian dan menghabiskan waktu bersama keluarganya.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Paras Mehra adalah Manajer Produk Senior di AWS. Dia berfokus untuk membantu membangun Pelatihan dan Pemrosesan Amazon SageMaker. Di waktu luangnya, Paras menikmati menghabiskan waktu bersama keluarganya dan bersepeda di sekitar Bay Area. Anda dapat menemukannya di LinkedIn.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Gili Nachum adalah Arsitek Solusi Spesialis AI/ML senior yang bekerja sebagai bagian dari tim Pembelajaran Mesin Amazon EMEA. Gili sangat menyukai tantangan dalam melatih model pembelajaran mendalam, dan bagaimana pembelajaran mesin mengubah dunia seperti yang kita kenal. Di waktu luangnya, Gili menikmati bermain tenis meja.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Olivier Cruchant adalah Arsitek Solusi Spesialis Pembelajaran Mesin di AWS, yang berbasis di Prancis. Olivier membantu pelanggan AWS โ€“ mulai dari perusahaan rintisan kecil hingga perusahaan besar โ€“ mengembangkan dan menerapkan aplikasi pembelajaran mesin tingkat produksi. Di waktu luangnya, ia senang membaca makalah penelitian dan menjelajahi alam liar bersama teman dan keluarga.

Praktik terbaik untuk Pelatihan Amazon SageMaker Managed Warm Pools PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Emily Webber bergabung dengan AWS tepat setelah SageMaker diluncurkan, dan telah mencoba memberi tahu dunia tentang hal itu sejak saat itu! Di luar membangun pengalaman ML baru untuk pelanggan, Emily menikmati bermeditasi dan mempelajari Buddhisme Tibet.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS