MLflow dan Azure Machine Learning
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)
MLflow adalah kerangka kerja sumber terbuka yang dirancang untuk mengelola siklus hidup pembelajaran mesin lengkap. Kemampuannya untuk melatih dan melayani model pada platform yang berbeda memungkinkan Anda menggunakan serangkaian alat yang konsisten terlepas dari di mana eksperimen Anda berjalan: apakah secara lokal di komputer Anda, pada target komputasi jarak jauh, pada komputer virtual, atau pada instans komputasi Azure Pembelajaran Mesin.
Ruang kerja Azure Pembelajaran Mesin kompatibel dengan MLflow, yang berarti Anda dapat menggunakan ruang kerja Azure Pembelajaran Mesin dengan cara yang sama seperti Anda menggunakan server MLflow. Kompatibilitas ini memiliki keuntungan berikut:
- Azure Pembelajaran Mesin tidak menghosting instans server MLflow di bawah tenda; melainkan, ruang kerja dapat berbicara bahasa API MLflow.
- Anda dapat menggunakan ruang kerja Azure Pembelajaran Mesin sebagai server pelacakan Anda untuk kode MLflow apa pun, baik berjalan di Azure Pembelajaran Mesin atau tidak. Anda hanya perlu mengonfigurasi MLflow untuk menunjuk ke ruang kerja tempat pelacakan harus dilakukan.
- Anda dapat menjalankan rutinitas pelatihan apa pun yang menggunakan MLflow di Azure Pembelajaran Mesin tanpa perubahan apa pun.
Tip
Tidak seperti Azure Pembelajaran Mesin SDK v1, tidak ada fungsionalitas pengelogan di SDK v2. Kami menyarankan agar Anda menggunakan MLflow untuk pengelogan, sehingga rutinitas pelatihan Anda agnostik cloud dan portabel—menghapus dependensi apa pun yang dimiliki kode Anda di Azure Pembelajaran Mesin.
Pelacakan dengan MLflow
Azure Pembelajaran Mesin menggunakan pelacakan MLflow untuk mencatat metrik dan menyimpan artefak untuk eksperimen Anda. Saat Anda tersambung ke Azure Pembelajaran Mesin, semua pelacakan yang dilakukan menggunakan MLflow diwujudkan di ruang kerja yang sedang Anda kerjakan. Untuk mempelajari selengkapnya tentang cara menyiapkan eksperimen Anda untuk menggunakan MLflow untuk melacak eksperimen dan rutinitas pelatihan, lihat Metrik log, parameter, dan file dengan MLflow. Anda juga dapat menggunakan MLflow untuk mengkueri & membandingkan eksperimen dan eksekusi.
MLflow di Azure Pembelajaran Mesin menyediakan cara untuk mempusatkan pelacakan. Anda dapat menyambungkan MLflow ke ruang kerja Azure Pembelajaran Mesin bahkan saat Anda bekerja secara lokal atau di cloud yang berbeda. Ruang kerja menyediakan lokasi terpusat, aman, dan scalable untuk menyimpan metrik dan model pelatihan.
Menggunakan MLflow di Azure Pembelajaran Mesin menyertakan kemampuan untuk:
- Lacak eksperimen dan model pembelajaran mesin yang berjalan secara lokal atau di cloud.
- Lacak eksperimen pembelajaran mesin Azure Databricks.
- Lacak eksperimen pembelajaran mesin Azure Synapse Analytics.
Contoh buku catatan
- Melatih dan melacak pengklasifikasi XGBoost dengan MLflow: Menunjukkan cara melacak eksperimen dengan MLflow, mencatat model, dan menggabungkan beragam rasa ke dalam alur.
- Melatih dan melacak pengklasifikasi XGBoost dengan MLflow menggunakan autentikasi perwakilan layanan: Menunjukkan cara melacak eksperimen dengan menggunakan MLflow dari komputasi yang berjalan di luar Azure Pembelajaran Mesin. Contoh menunjukkan cara mengautentikasi terhadap layanan Azure Pembelajaran Mesin dengan menggunakan perwakilan layanan.
- Pengoptimalan hyper-parameter menggunakan HyperOpt dan eksekusi berlapis di MLflow: Menunjukkan cara menggunakan eksekusi turunan di MLflow untuk melakukan pengoptimalan hyper-parameter untuk model dengan menggunakan pustaka
Hyperopt
populer . Contoh menunjukkan cara mentransfer metrik, parameter, dan artefak dari eksekusi turunan ke eksekusi induk. - Model pengelogan dengan MLflow: Menunjukkan cara menggunakan konsep model, alih-alih artefak, dengan MLflow. Contohnya juga menunjukkan cara membuat model kustom.
- Mengelola eksekusi dan eksperimen dengan MLflow: Menunjukkan cara mengkueri eksperimen, eksekusi, metrik, parameter, dan artefak dari Azure Machine Learning menggunakan MLflow.
Pelacakan dengan MLflow di R
Dukungan MLflow di R memiliki batasan berikut:
- Pelacakan MLflow terbatas pada pelacakan metrik eksperimen, parameter, dan model pada pekerjaan Azure Pembelajaran Mesin.
- Pelatihan interaktif tentang RStudio, Posit (sebelumnya RStudio Workbench), atau notebook Jupyter dengan kernel R tidak didukung.
- Manajemen dan pendaftaran model tidak didukung menggunakan MLflow R SDK. Sebagai gantinya, gunakan Azure Pembelajaran Mesin CLI atau azure Pembelajaran Mesin studio untuk pendaftaran dan manajemen model.
Untuk mempelajari tentang menggunakan klien pelacakan MLflow dengan Azure Pembelajaran Mesin, lihat contoh dalam Melatih model R menggunakan Azure Pembelajaran Mesin CLI (v2).
Pelacakan dengan MLflow di Java
Dukungan MLflow di Java memiliki batasan berikut:
- Pelacakan MLflow terbatas pada pelacakan metrik dan parameter eksperimen pada pekerjaan Azure Pembelajaran Mesin.
- Artefak dan model tidak dapat dilacak menggunakan MLflow Java SDK. Sebagai gantinya
Outputs
, gunakan folder dalam pekerjaan bersama denganmlflow.save_model
metode untuk menyimpan model (atau artefak) yang ingin Anda ambil.
Untuk mempelajari tentang menggunakan klien pelacakan MLflow dengan Azure Pembelajaran Mesin, lihat contoh Java yang menggunakan klien pelacakan MLflow dengan Azure Pembelajaran Mesin.
Registri model dengan MLflow
Azure Machine Learning mendukung MLflow untuk manajemen model. Dukungan ini mewakili cara mudah untuk mendukung seluruh siklus hidup model bagi pengguna yang terbiasa dengan klien MLflow.
Untuk mempelajari lebih lanjut tentang cara mengelola model menggunakan API MLflow di Azure Machine Learning, lihat Mengelola registri model di Azure Machine Learning dengan MLflow.
Contoh notebook
- Mengelola registri model dengan MLflow: Menunjukkan cara mengelola model di registri menggunakan MLflow.
Penyebaran model dengan MLflow
Anda dapat menyebarkan model MLflow ke Azure Pembelajaran Mesin dan memanfaatkan pengalaman yang ditingkatkan saat Anda menggunakan model MLflow. Azure Pembelajaran Mesin mendukung penyebaran model MLflow ke titik akhir real time dan batch tanpa harus menentukan lingkungan atau skrip penilaian. Penyebaran didukung menggunakan MLflow SDK, Azure Pembelajaran Mesin CLI, Azure Pembelajaran Mesin SDK untuk Python, atau studio Azure Pembelajaran Mesin.
Untuk mempelajari selengkapnya tentang menyebarkan model MLflow ke Azure Pembelajaran Mesin untuk inferensi real time dan batch, lihat Panduan untuk menyebarkan model MLflow.
Contoh buku catatan
- Menyebarkan MLflow ke titik akhir online: Menunjukkan cara menyebarkan model dalam format MLflow ke titik akhir online menggunakan MLflow SDK.
- Menyebarkan MLflow ke titik akhir online dengan peluncuran aman: Menunjukkan cara menyebarkan model dalam format MLflow ke titik akhir online, menggunakan MLflow SDK dengan peluncuran model progresif. Contoh ini juga menunjukkan penyebaran beberapa versi model ke titik akhir yang sama.
- Menyebarkan MLflow ke layanan web (V1): Menunjukkan cara menyebarkan model dalam format MLflow ke layanan web (ACI/AKS v1) menggunakan MLflow SDK.
- Menyebarkan model yang dilatih di Azure Databricks ke Azure Pembelajaran Mesin dengan MLflow: Menunjukkan cara melatih model di Azure Databricks dan menyebarkannya di Azure Pembelajaran Mesin. Contoh ini juga mencakup cara menangani kasus di mana Anda juga ingin melacak eksperimen dengan instans MLflow di Azure Databricks.
Pelatihan dengan proyek MLflow (pratinjau)
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.
Anda dapat mengirimkan pekerjaan pelatihan ke Azure Machine Learning menggunakan Proyek MLflow (pratinjau). Anda dapat mengirimkan pekerjaan secara lokal dengan pelacakan Azure Machine Learning atau memigrasikan pekerjaan Anda ke cloud melalui Komputasi Azure Machine Learning.
Untuk mempelajari cara mengirimkan pekerjaan pelatihan dengan Proyek MLflow yang menggunakan ruang kerja Azure Pembelajaran Mesin untuk pelacakan, lihat Melatih model pembelajaran mesin dengan proyek MLflow dan Azure Pembelajaran Mesin.
Contoh buku catatan
- Lacak proyek MLflow di ruang kerja Azure Pembelajaran Mesin.
- Latih dan jalankan proyek MLflow pada pekerjaan Azure Pembelajaran Mesin.
Kemampuan SDK MLflow, Azure Machine Learning v2, dan studio Azure Machine Learning
Tabel berikut menunjukkan operasi yang dimungkinkan, menggunakan setiap alat klien yang tersedia dalam siklus hidup pembelajaran mesin.
Fitur | MLflow SDK | Azure Pembelajaran Mesin CLI/SDK | Studio Azure Machine Learning |
---|---|---|---|
Melacak dan mencatat metrik, parameter, dan model | ✓ | ||
Mengambil metrik, parameter, dan model | ✓ | 1 | ✓ |
Kirim pekerjaan pelatihan | ✓2 | ✓ | ✓ |
Mengirimkan pekerjaan pelatihan dengan aset data Azure Pembelajaran Mesin | ✓ | ✓ | |
Mengirimkan pekerjaan pelatihan dengan alur pembelajaran mesin | ✓ | ✓ | |
Mengelola eksperimen dan eksekusi | ✓ | ✓ | ✓ |
Mengelola model MLflow | ✓3 | ✓ | ✓ |
Mengelola model non-MLflow | ✓ | ✓ | |
Menyebarkan model MLflow ke Azure Pembelajaran Mesin (Online & Batch) | ✓4 | ✓ | ✓ |
Menyebarkan model non-MLflow ke Azure Machine Learning | ✓ | ✓ |
Catatan
- 1 Hanya artefak dan model yang dapat diunduh.
- 2 Dimungkinkan dengan menggunakan proyek MLflow (pratinjau).
- 3 Beberapa operasi mungkin tidak didukung. Lihat Mengelola registri model di Azure Pembelajaran Mesin dengan MLflow untuk detailnya.
- 4 Penyebaran model MLflow untuk inferensi batch dengan menggunakan MLflow SDK tidak dimungkinkan saat ini. Sebagai alternatif, lihat Menyebarkan dan menjalankan model MLflow dalam pekerjaan Spark.