Eksperimen pembelajaran mesin di Microsoft Fabric
Eksperimen pembelajaran mesin adalah unit utama organisasi dan kontrol untuk semua eksekusi pembelajaran mesin terkait. Eksekusi sesuai dengan satu eksekusi kode model. Dalam MLflow, pelacakan didasarkan pada eksperimen dan eksekusi.
Penting
Microsoft Fabric sedang dalam pratinjau.
Eksperimen pembelajaran mesin memungkinkan ilmuwan data untuk mencatat parameter, versi kode, metrik, dan file output saat menjalankan kode pembelajaran mesin mereka. Eksperimen juga memungkinkan Anda memvisualisasikan, mencari, dan membandingkan eksekusi, serta mengunduh file dan metadata eksekusi untuk analisis di alat lain.
Dalam artikel ini, Anda akan mempelajari selengkapnya tentang bagaimana ilmuwan data dapat berinteraksi dan menggunakan eksperimen pembelajaran mesin untuk mengatur proses pengembangan mereka dan melacak beberapa eksekusi.
Prasyarat
- Langganan Power BI Premium. Jika Anda tidak memilikinya, lihat Cara membeli Power BI Premium.
- Ruang Kerja Power BI dengan kapasitas premium yang ditetapkan.
Membuat eksperimen
Anda dapat membuat eksperimen pembelajaran mesin langsung dari beranda Ilmu data di antarmuka pengguna (UI) Power BI atau dengan menulis kode yang menggunakan MLflow API.
Membuat eksperimen menggunakan UI
Untuk membuat eksperimen pembelajaran mesin dari UI:
Buat ruang kerja ilmu data baru atau pilih ruang kerja yang sudah ada.
Pilih Eksperimen dari bagian "Baru".
Berikan nama eksperimen dan pilih Buat. Tindakan ini membuat eksperimen kosong dalam ruang kerja Anda.
Setelah membuat eksperimen, Anda dapat mulai menambahkan eksekusi untuk melacak metrik dan parameter eksekusi.
Membuat eksperimen menggunakan API MLflow
Anda juga dapat membuat eksperimen pembelajaran mesin langsung dari pengalaman penulisan Anda menggunakan mlflow.create_experiment()
API atau mlflow.set_experiment()
. Dalam kode berikut, ganti <EXPERIMENT_NAME>
dengan nama eksperimen Anda.
import mlflow
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")
# This will set the given experiment as the active experiment.
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")
Mengelola eksekusi dalam eksperimen
Eksperimen pembelajaran mesin berisi kumpulan eksekusi untuk pelacakan dan perbandingan yang disederhanakan. Dalam eksperimen, ilmuwan data dapat menavigasi di berbagai eksekusi dan menjelajahi parameter dan metrik yang mendasarinya. Ilmuwan data juga dapat membandingkan eksekusi dalam eksperimen pembelajaran mesin untuk mengidentifikasi subset parameter mana yang menghasilkan performa model yang diinginkan.
Melacak eksekusi
Eksekusi pembelajaran mesin sesuai dengan satu eksekusi kode model.
Setiap eksekusi mencakup informasi berikut:
- Sumber: Nama buku catatan yang membuat eksekusi.
- Versi Terdaftar: Menunjukkan apakah eksekusi disimpan sebagai model pembelajaran mesin.
- Tanggal mulai: Waktu mulai eksekusi.
- Status: Kemajuan eksekusi.
- Hyperparameter: Hyperparameter disimpan sebagai pasangan kunci-nilai. Kedua kunci dan nilai merupakan string.
- Metrik: Jalankan metrik yang disimpan sebagai pasangan kunci-nilai. Nilainya adalah numerik.
- File output: File output dalam format apa pun. Misalnya, Anda dapat merekam gambar, lingkungan, model, dan file data.
Membandingkan dan memfilter eksekusi
Untuk membandingkan dan mengevaluasi kualitas eksekusi pembelajaran mesin, Anda dapat membandingkan parameter, metrik, dan metadata antara eksekusi yang dipilih dalam eksperimen.
Membandingkan eksekusi secara visual
Anda dapat membandingkan dan memfilter eksekusi secara visual dalam eksperimen yang ada. Ini memungkinkan Anda untuk dengan mudah menavigasi antara beberapa eksekusi dan mengurutkannya.
Untuk membandingkan eksekusi:
- Pilih eksperimen pembelajaran mesin yang ada yang berisi beberapa eksekusi.
- Pilih tab Tampilan lalu masuk ke tampilan Daftar jalankan . Atau, Anda dapat memilih opsi untuk Menampilkan daftar eksekusi langsung dari tampilan Detail eksekusi .
- Kustomisasi kolom dalam tabel dengan memperluas panel Kustomisasi kolom . Di sini, Anda dapat memilih properti, metrik, dan hiperparameter yang ingin Anda lihat.
- Perluas panel Filter untuk mempersempit hasil Anda berdasarkan kriteria tertentu yang dipilih.
- Pilih beberapa eksekusi untuk membandingkan hasilnya di panel perbandingan metrik. Dari panel ini, Anda bisa mengkustomisasi bagan dengan mengubah judul bagan, jenis visualisasi, sumbu X, sumbu Y, dan lainnya.
Membandingkan eksekusi menggunakan API MLflow
Ilmuwan data juga dapat menggunakan MLflow untuk mengkueri dan mencari di antara eksekusi dalam eksperimen. Anda dapat menjelajahi lebih banyak API MLflow untuk mencari, memfilter, dan membandingkan eksekusi dengan mengunjungi dokumentasi MLflow.
Mendapatkan semua eksekusi
Anda dapat menggunakan API mlflow.search_runs()
pencarian MLflow untuk mendapatkan semua eksekusi dalam eksperimen dengan mengganti <EXPERIMENT_NAME>
dengan nama eksperimen Anda atau <EXPERIMENT_ID>
dengan ID eksperimen Anda dalam kode berikut:
import mlflow
# Get runs by experiment name:
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])
# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])
Tip
Anda dapat mencari di beberapa eksperimen dengan menyediakan daftar ID eksperimen ke experiment_ids
parameter . Demikian pula, memberikan daftar nama eksperimen ke experiment_names
parameter akan memungkinkan MLflow untuk mencari di beberapa eksperimen. Ini dapat berguna jika Anda ingin membandingkan di seluruh eksekusi dalam eksperimen yang berbeda.
Eksekusi pesanan dan batas
max_results
Gunakan parameter dari search_runs
untuk membatasi jumlah eksekusi yang dikembalikan. Parameter order_by
memungkinkan Anda mencantumkan kolom untuk diurutkan dan dapat berisi nilai atau ASC
opsionalDESC
. Misalnya, contoh berikut mengembalikan eksekusi terakhir eksperimen.
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
Menyimpan jalankan sebagai model
Setelah eksekusi menghasilkan hasil yang diinginkan, Anda dapat menyimpan eksekusi sebagai model untuk pelacakan model yang ditingkatkan dan untuk penyebaran model.