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:

  1. Buat ruang kerja ilmu data baru atau pilih ruang kerja yang sudah ada.

  2. Pilih Eksperimen dari bagian "Baru".

  3. Berikan nama eksperimen dan pilih Buat. Tindakan ini membuat eksperimen kosong dalam ruang kerja Anda.

    Cuplikan layar memperlihatkan tempat untuk memilih Eksperimen di menu Baru.

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.

Cuplikan layar halaman detail eksekusi pembelajaran mesin.

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.

Cuplikan layar memperlihatkan daftar eksekusi.

Untuk membandingkan eksekusi:

  1. Pilih eksperimen pembelajaran mesin yang ada yang berisi beberapa eksekusi.
  2. Pilih tab Tampilan lalu masuk ke tampilan Daftar jalankan . Atau, Anda dapat memilih opsi untuk Menampilkan daftar eksekusi langsung dari tampilan Detail eksekusi .
  3. Kustomisasi kolom dalam tabel dengan memperluas panel Kustomisasi kolom . Di sini, Anda dapat memilih properti, metrik, dan hiperparameter yang ingin Anda lihat.
  4. Perluas panel Filter untuk mempersempit hasil Anda berdasarkan kriteria tertentu yang dipilih.
  5. 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.

Cuplikan layar memperlihatkan tempat untuk memilih Buat model baru.

Langkah berikutnya