MLflow dan Azure Machine Learning
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)
Artikel ini menjelaskan kemampuan MLflow, kerangka kerja sumber terbuka yang dirancang untuk mengelola siklus hidup pembelajaran mesin lengkap. MLflow menggunakan serangkaian alat yang konsisten untuk melatih dan melayani model pada platform yang berbeda. Anda dapat menggunakan MLflow apakah eksperimen Anda berjalan secara lokal atau pada target komputasi jarak jauh, komputer virtual, atau 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, tetapi dapat menggunakan API MLflow secara langsung.
- 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 terjadi.
- Anda dapat menjalankan rutinitas pelatihan apa pun yang menggunakan MLflow di Azure Pembelajaran Mesin tanpa membuat perubahan apa pun.
Tip
Tidak seperti Azure Pembelajaran Mesin SDK v1, tidak ada fungsionalitas pengelogan di Azure Pembelajaran Mesin v2 SDK. Anda dapat menggunakan pengelogan MLflow untuk memastikan bahwa rutinitas pelatihan Anda adalah cloud-agnostic, portabel, dan tidak memiliki dependensi pada 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 MLflow terwujud di ruang kerja tempat Anda bekerja.
Untuk mempelajari cara menyiapkan pelacakan MLflow untuk eksperimen dan rutinitas pelatihan, lihat Mencatat metrik, parameter, dan file dengan MLflow. Anda juga dapat mengkueri dan membandingkan eksperimen dan menjalankan dengan MLflow.
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 Azure Pembelajaran Mesin menyediakan lokasi terpusat, aman, dan dapat diskalakan untuk menyimpan metrik dan model pelatihan.
MLflow di Azure Pembelajaran Mesin dapat:
- 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.
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. Gunakan Studio Azure Pembelajaran Mesin CLI atau Azure Pembelajaran Mesin untuk pendaftaran dan manajemen model.
Untuk contoh penggunaan klien pelacakan MLflow dengan model R di Azure Pembelajaran Mesin, lihat 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. Sebagai gantinya
mlflow.save_model
, gunakan metode denganoutputs
folder dalam pekerjaan untuk menyimpan model atau artefak yang ingin Anda ambil.
Untuk contoh Java yang menggunakan klien pelacakan MLflow dengan server pelacakan Azure Pembelajaran Mesin, lihat azuremlflow-java.
Contoh buku catatan untuk pelacakan MLflow
- Melatih dan melacak pengklasifikasi XGBoost dengan MLflow menunjukkan cara menggunakan MLflow untuk melacak eksperimen, model log, dan menggabungkan beberapa rasa ke dalam alur.
- Melatih dan melacak pengklasifikasi XGBoost dengan MLflow menggunakan autentikasi perwakilan layanan menunjukkan cara menggunakan MLflow untuk melacak eksperimen dari komputasi yang berjalan di luar Azure Pembelajaran Mesin. Contoh menunjukkan cara mengautentikasi terhadap layanan Azure Pembelajaran Mesin dengan menggunakan perwakilan layanan.
- Pengoptimalan hiperparameter menggunakan HyperOpt dan eksekusi berlapis di MLflow menunjukkan cara menggunakan eksekusi anak untuk melakukan pengoptimalan hiperparameter 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 menggunakan MLflow untuk mengkueri eksperimen, eksekusi, metrik, parameter, dan artefak dari Azure Pembelajaran Mesin.
Pendaftaran model dengan MLflow
Azure Machine Learning mendukung MLflow untuk manajemen model. Dukungan ini adalah cara mudah bagi pengguna yang terbiasa dengan klien MLflow untuk mengelola seluruh siklus hidup model. Untuk informasi selengkapnya tentang cara mengelola model dengan menggunakan API MLflow di Azure Pembelajaran Mesin, lihat Mengelola registri model di Azure Pembelajaran Mesin dengan MLflow.
Contoh notebook untuk pendaftaran model MLflow
Manajemen model dengan MLflow menunjukkan cara mengelola model di registri.
Penyebaran model dengan MLflow
Anda dapat menyebarkan model MLflow ke Azure Pembelajaran Mesin untuk memanfaatkan pengalaman yang ditingkatkan. Azure Pembelajaran Mesin mendukung penyebaran model MLflow ke titik akhir real time dan batch tanpa harus menentukan lingkungan atau skrip penilaian.
MLflow SDK, Azure Pembelajaran Mesin CLI, Azure Pembelajaran Mesin SDK untuk Python, dan studio Azure Pembelajaran Mesin semuanya mendukung penyebaran model MLflow. Untuk informasi selengkapnya tentang menyebarkan model MLflow ke Azure Pembelajaran Mesin untuk inferensi real time dan batch, lihat Panduan untuk menyebarkan model MLflow.
Contoh buku catatan untuk penyebaran model MLflow
- Menyebarkan MLflow ke titik akhir online menunjukkan cara menyebarkan model MLflow ke titik akhir online menggunakan MLflow SDK.
- Peluncuran progresif penyebaran MLflow menunjukkan cara menyebarkan model 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 model MLflow ke layanan web warisan menunjukkan cara menyebarkan model MLflow ke layanan web warisan (Azure Container Instances atau Azure Kubernetes Service v1) menggunakan MLflow SDK.
- Latih model di Azure Databricks dan sebarkan di Azure Pembelajaran Mesin menunjukkan cara melatih model di Azure Databricks dan menyebarkannya di Azure Pembelajaran Mesin. Contoh ini juga mencakup eksperimen pelacakan dengan instans MLflow di Azure Databricks.
Pelatihan dengan Proyek MLflow (pratinjau)
Peringatan
Dukungan untuk MLproject
file (Proyek MLflow) di Azure Pembelajaran Mesin akan sepenuhnya dihentikan pada Bulan September 2026. MLflow masih didukung penuh dan masih merupakan cara yang direkomendasikan untuk melacak beban kerja pembelajaran mesin di Azure Pembelajaran Mesin.
Saat Anda terus menggunakan MLflow, kami sarankan Anda beralih dari MLproject
file ke Azure Pembelajaran Mesin Jobs, menggunakan Azure CLI atau Azure Pembelajaran Mesin SDK untuk Python (v2). Untuk informasi selengkapnya tentang pekerjaan Azure Pembelajaran Mesin, lihat Melacak eksperimen dan model ML dengan MLflow.
Penting
Fitur ini masih dalam pratinjau umum. Versi pratinjau ini 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 Pembelajaran Mesin dengan menggunakan Proyek MLflow. 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 yang menggunakan Proyek MLflow ke ruang kerja Azure Pembelajaran Mesin untuk pelacakan, lihat Melatih dengan Proyek MLflow di Azure Pembelajaran Mesin (pratinjau).
Contoh buku catatan untuk Proyek MLflow
- Latih dengan Proyek MLflow pada komputasi lokal.
- Latih dengan Proyek MLflow di komputasi Azure Pembelajaran Mesin.
Kemampuan alat klien MLflow vs Azure Pembelajaran Mesin
Tabel berikut menunjukkan operasi siklus hidup pembelajaran mesin yang dimungkinkan dengan MLflow SDK dan alat klien Azure Pembelajaran Mesin.
Fitur | MLflow SDK | Azure Pembelajaran Mesin CLI/SDK v2 | Studio Azure Machine Learning |
---|---|---|---|
Melacak dan mencatat metrik, parameter, dan model | ✓ | ||
Mengambil metrik, parameter, dan model | ✓ | Hanya artefak dan model yang dapat diunduh. | ✓ |
Kirim pekerjaan pelatihan | Dimungkinkan dengan menggunakan Proyek MLflow (pratinjau). | ✓ | ✓ |
Mengirimkan pekerjaan pelatihan dengan aset data Azure Pembelajaran Mesin | ✓ | ✓ | |
Mengirimkan pekerjaan pelatihan dengan alur pembelajaran mesin | ✓ | ✓ | |
Mengelola eksperimen dan eksekusi | ✓ | ✓ | ✓ |
Mengelola model MLflow | Beberapa operasi mungkin tidak didukung.1 | ✓ | ✓ |
Mengelola model non-MLflow | ✓ | ✓ | |
Menyebarkan model MLflow ke Azure Pembelajaran Mesin (online dan batch) | Menyebarkan model MLflow untuk inferensi batch saat ini tidak didukung.2 | ✓ | ✓ |
Menyebarkan model non-MLflow ke Azure Machine Learning | ✓ | ✓ |
1 Untuk informasi selengkapnya, lihat Mengelola registri model di Azure Pembelajaran Mesin dengan MLflow.
2 Untuk alternatif, lihat Menyebarkan dan menjalankan model MLflow dalam pekerjaan Spark.