Mengelola dan mengoptimalkan biaya Azure Machine Learning

Pelajari cara mengelola dan mengoptimalkan biaya saat melatih dan menyebarkan model pembelajaran mesin ke Azure Machine Learning.

Gunakan petunjuk berikut untuk mengelola dan mengoptimalkan biaya sumber daya komputasi Anda.

  • Mengonfigurasi kluster pelatihan Anda untuk penskalaan otomatis
  • Mengatur kuota pada langganan dan ruang kerja Anda
  • Mengatur kebijakan penghentian pada pekerjaan pelatihan Anda
  • Menggunakan komputer virtual (VM) prioritas rendah
  • Menjadwalkan komputasi instans untuk dimatikan dan dimulai secara otomatis
  • Menggunakan Instans VM yang Dicadangkan Azure
  • Melatih secara lokal
  • Memparalelkan pelatihan
  • Mengatur kebijakan penghapusan dan retensi data
  • Menyebarkan sumber daya ke wilayah yang sama

Untuk informasi tentang biaya perencanaan dan pemantauan, lihat panduan rencana untuk mengelola biaya untuk Azure Machine Learning.

Penting

Item yang ditandai (pratinjau) dalam artikel ini sedang dalam pratinjau publik. Versi pratinjau disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Menggunakan kluster komputasi Azure Machine Learning (AmlCompute)

Dengan data yang terus berubah, Anda memerlukan pelatihan model yang cepat dan efisien dan melatih kembali untuk mempertahankan model yang akurat. Namun, pelatihan berkelanjutan memerlukan biaya, terutama untuk model pembelajaran mendalam pada GPU.

Pengguna Azure Machine Learning dapat menggunakan kluster komputasi Azure Machine Learning terkelola, yang juga disebut AmlCompute. AmlCompute mendukung berbagai opsi GPU dan CPU. AmlCompute dihost secara internal atas nama langganan Anda oleh Azure Machine Learning. Ini memberikan keamanan, kepatuhan, dan tata kelola tingkat perusahaan yang sama dalam skala cloud Azure.

Karena kumpulan komputasi ini berada di dalam infrastruktur IaaS Azure, Anda dapat menyebarkan, menskalakan, dan mengelola pelatihan dengan persyaratan keamanan dan kepatuhan yang sama dengan infrastruktur lainnya. Penyebaran ini terjadi dalam langganan Anda dan mematuhi aturan tata kelola Anda. Pelajari Komputasi Azure Machine Learning.

Mengonfigurasi kluster pelatihan untuk penskalaan otomatis

Kluster penskalaan otomatis berdasarkan persyaratan beban kerja Anda membantu mengurangi biaya sehingga Anda hanya menggunakan apa yang Anda butuhkan.

Kluster AmlCompute dirancang untuk menskalakan secara dinamis berdasarkan beban kerja Anda. Kluster dapat ditingkatkan hingga jumlah maksimum simpul yang Anda konfigurasi. Setelah setiap pekerjaan selesai, kluster merilis simpul dan menskalakan ke jumlah simpul minimum yang dikonfigurasi.

Penting

Untuk menghindari biaya saat tidak ada pekerjaan yang berjalan, atur simpul minimum ke 0. Pengaturan ini memungkinkan Azure Machine Learning untuk membatalkan alokasi simpul saat tidak digunakan. Nilai apa pun yang lebih besar dari 0 akan membuat jumlah simpul tetap berjalan, meskipun tidak digunakan.

Anda juga dapat mengonfigurasi jumlah waktu simpul menganggur sebelum menurunkan skala. Secara default, waktu menganggur sebelum penurunan skala diatur ke 120 detik.

  • Jika Anda melakukan eksperimen yang kurang iteratif, kurangi waktu ini untuk menghemat biaya.
  • Jika Anda melakukan eksperimen dev/test yang sangat berulang, Anda mungkin perlu meningkatkan waktu agar tidak membayar untuk penurunan dan peningkatan skala konstan setelah setiap perubahan pada skrip atau lingkungan pelatihan Anda.

Kluster AmlCompute dapat dikonfigurasi untuk persyaratan beban kerja Anda yang berubah di portal Azure, menggunakan kelas AmlCompute SDKAmlCompute CLI, dengan REST API.

Mengatur kuota di sumber daya

AmlCompute dilengkapi dengan konfigurasi kuota (atau batas). Kuota ini didasarkan pada keluarga VM (misalnya, seri Dv2, seri NCv3) dan bervariasi menurut wilayah setiap langganan. Langganan dimulai dengan default kecil untuk membuat Anda tertarik, tetapi gunakan pengaturan ini untuk mengontrol jumlah sumber daya Amlcompute yang dapat diputar dalam langganan Anda.

Juga konfigurasikan kuota tingkat ruang kerja berdasarkan keluarga VM, untuk setiap ruang kerja dalam langganan. Melakukannya memungkinkan Anda memiliki kontrol yang lebih terperinci pada biaya yang mungkin dikenakan setiap ruang kerja dan membatasi keluarga VM tertentu.

Untuk mengatur kuota di tingkat ruang kerja, mulai di portal Azure. Pilih ruang kerja apa pun di langganan Anda, dan pilih Penggunaan + kuota di panel kiri. Pilih tab Konfigurasikan kuota untuk melihat kuota. Anda memerlukan hak istimewa dalam cakupan langganan untuk mengatur kuota, karena ini adalah pengaturan yang memengaruhi beberapa ruang kerja.

Mengatur kebijakan autoterminasi pekerjaan

Dalam beberapa kasus, Anda harus mengonfigurasi eksekusi pelatihan Anda untuk membatasi durasinya atau menghentikannya lebih awal. Misalnya, saat Anda menggunakan penyetelan hyperparameter bawaan Azure Pembelajaran Mesin atau pembelajaran mesin otomatis.

Berikut beberapa opsi yang Anda miliki:

  • Tentukan parameter yang disebut max_run_duration_seconds dalam RunConfiguration Anda untuk mengontrol durasi maksimum perpanjangan eksekusi pada komputasi yang Anda pilih (komputasi cloud lokal atau jarak jauh).
  • Untuk penyetelan hyperparameter, tentukan kebijakan penghentian awal dari kebijakan Bandit, kebijakan penghentian Median, atau kebijakan pemilihan Pemotongan. Untuk mengontrol pembersihan hyperparameter lebih lanjut, gunakan parameter seperti max_total_runs atau max_duration_minutes.
  • Untuk pembelajaran mesin otomatis, atur kebijakan penghentian serupa menggunakan bendera enable_early_stopping. Gunakan juga properti seperti iteration_timeout_minutes dan experiment_timeout_minutes untuk mengontrol durasi maksimum pekerjaan atau untuk seluruh eksperimen.

Gunakan VM kualitas rendah

Azure memungkinkan Anda menggunakan kapasitas berlebih yang belum digunakan sebagai VM Prioritas Rendah di seluruh set skala komputer virtual, Batch, dan Machine Learning service. Alokasi ini dapat dikosongkan sebelumnya tetapi dengan harga yang lebih murah dibandingkan dengan VM khusus. Secara umum, sebaiknya gunakan VM Prioritas Rendah untuk beban kerja Batch. Anda juga harus menggunakannya saat gangguan dapat dipulihkan baik melalui pengiriman ulang (untuk Inferensi Batch) atau melalui mulai ulang (untuk pelatihan pembelajaran mendalam dengan titik pemeriksaan).

VM Prioritas Rendah memiliki kuota tunggal terpisah dari nilai kuota khusus, yang didasarkan pada keluarga VM. Pelajari kuota AmlCompute lebih lanjut.

VM Prioritas Rendah tidak berfungsi untuk instans komputasi, karena harus mendukung pengalaman notebook interaktif.

Menjadwalkan komputasi instans

Saat Anda membuat instans komputasi, VM tetap aktif sehingga tersedia untuk pekerjaan Anda.

  • Aktifkan matikan diam (pratinjau) untuk menghemat biaya saat VM diam selama periode waktu tertentu.
  • Atau siapkan jadwal untuk memulai dan menghentikan instans komputasi secara otomatis (pratinjau) untuk menghemat biaya saat Anda tidak berencana menggunakannya.

Menggunakan instans cadangan

Cara lain untuk menghemat uang pada sumber daya komputasi adalah Instans VM yang Dicadangkan Azure. Dengan penawaran ini, Anda berkomitmen untuk jangka waktu satu tahun atau tiga tahun. Diskon ini berkisar hingga 72% dari harga bayar sesuai penggunaan dan diterapkan langsung ke tagihan Azure bulanan Anda.

Azure Machine Learning Compute mendukung instans cadangan secara inheren. Jika Anda membeli instans cadangan satu tahun atau tiga tahun, kami akan secara otomatis menerapkan diskon terhadap komputasi terkelola Azure Pembelajaran Mesin Anda.

Memparalelkan pelatihan

Salah satu metode utama untuk mengoptimalkan biaya dan performa adalah dengan menyejajarkan beban kerja dengan bantuan komponen paralel di Azure Pembelajaran Mesin. Komponen paralel memungkinkan Anda menggunakan banyak simpul yang lebih kecil untuk menjalankan tugas secara paralel, sehingga memungkinkan Anda untuk menskalakan secara horizontal. Ada overhead untuk paralelisasi. Bergantung pada beban kerja dan tingkat paralelisme yang dapat dicapai, ini mungkin atau mungkin bukan pilihan. Untuk detail selengkapnya, ikuti tautan ini untuk dokumentasi ParallelComponent .

Mengatur kebijakan penghapusan & retensi data

Setiap kali alur dijalankan, himpunan data menengah dihasilkan di setiap langkah. Seiring waktu, himpunan data menengah ini memakan ruang di akun penyimpanan Anda. Pertimbangkan untuk menyiapkan kebijakan untuk mengelola data sepanjang siklus hidupnya untuk mengarsipkan dan menghapus himpunan data Anda. Untuk informasi selengkapnya, lihat mengoptimalkan biaya dengan mengotomatiskan tingkat akses Azure Blob Storage.

Menyebarkan sumber daya ke wilayah yang sama

Komputasi yang berada di berbagai wilayah mungkin mengalami latensi jaringan dan peningkatan biaya transfer data. Biaya jaringan Azure dikeluarkan dari bandwidth keluar dari pusat data Azure. Untuk membantu mengurangi biaya jaringan, sebarkan semua sumber daya di wilayah tersebut. Provisi ruang kerja Azure Machine Learning dan sumber daya dependen Anda di wilayah yang sama dengan data dapat membantu menurunkan biaya dan meningkatkan performa.

Untuk skenario cloud hibrid seperti yang menggunakan ExpressRoute, terkadang lebih hemat biaya jika memindahkan semua sumber daya ke Azure guna mengoptimalkan biaya dan latensi jaringan.

Langkah berikutnya