Bagikan melalui


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. Di MLflow, pelacakan didasarkan pada eksperimen dan eksekusi.

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 mempelajari lebih lanjut 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 halaman beranda Ilmu data di antarmuka pengguna (UI) Power BI atau dengan menulis kode yang menggunakan API MLflow.

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.

    Screenshot showing where to select Experiment in the New menu.

Setelah membuat eksperimen, Anda dapat mulai menambahkan eksekusi untuk melacak metrik dan parameter eksekusi.

Membuat eksperimen menggunakan MLflow API

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, seorang 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

Pembelajaran mesin berjalan sesuai dengan satu eksekusi kode model.

Screenshot of machine learning run detail page.

Setiap eksekusi menyertakan 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.

Menampilkan eksekusi terbaru

Anda juga dapat melihat eksekusi terbaru untuk eksperimen langsung dari tampilan daftar ruang kerja. Tampilan ini memungkinkan Anda melacak aktivitas terbaru, dengan cepat melompat ke aplikasi Spark terkait, dan menerapkan filter berdasarkan status eksekusi.

Screenshot of machine learning recent runs and Spark application view.

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. Perbandingan visual memungkinkan Anda untuk dengan mudah menavigasi antara beberapa eksekusi dan mengurutkan di seluruhnya.

Screenshot showing a list of runs and the chart view.

Untuk membandingkan eksekusi:

  1. Pilih eksperimen pembelajaran mesin yang ada yang berisi beberapa eksekusi.
  2. Pilih tab Tampilan lalu masuk ke tampilan Jalankan daftar . Atau, Anda dapat memilih opsi untuk Menampilkan daftar eksekusi langsung dari tampilan Jalankan detail .
  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.

Dapatkan 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 memberikan daftar ID eksperimen ke experiment_ids parameter . Demikian pula, menyediakan 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 untuk mencantumkan kolom untuk diurutkan berdasarkan dan dapat berisi opsional DESC atau ASC nilai. Misalnya, contoh berikut mengembalikan eksekusi terakhir eksperimen.

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Membandingkan eksekusi dalam notebook Fabric

Anda dapat menggunakan widget penulisan MLFlow dalam notebook Fabric untuk melacak eksekusi MLflow yang dihasilkan dalam setiap sel notebook. Widget memungkinkan Anda melacak eksekusi, metrik, parameter, dan properti terkait langsung ke tingkat sel individual.

Untuk mendapatkan perbandingan visual, Anda juga dapat beralih ke tampilan Jalankan perbandingan . Tampilan ini menyajikan data secara grafis, membantu identifikasi cepat pola atau penyimpangan di berbagai eksekusi.

Screenshot showing how to use the MLFlow authoring widget.

Menyimpan jalankan sebagai model pembelajaran mesin

Setelah eksekusi menghasilkan hasil yang diinginkan, Anda dapat menyimpan eksekusi sebagai model untuk pelacakan model yang ditingkatkan dan untuk penyebaran model dengan memilih Simpan sebagai model ML.

Screenshot showing where to select Create a new model.