Dasbor Pemantauan Model menjadi mudah (1/3). – Menuju AI — Publikasi AI dan Teknologi Terkemuka di Dunia

Pengarang: Mohneesh S

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Visualisasi data

Dalam seri 3 bagian ini, saya akan menunjukkan bagaimana Anda dapat dengan mudah membuat dasbor pemantauan model.

Saya tahu kesulitan model pemantauan dan pelatihan ulang model tidak terlalu menyenangkan untuk setiap insinyur pembelajaran mesin, terlebih lagi jika tidak ada cara mudah untuk melacak semua model yang digunakan pada produksi atau di tempat lain yang perlu dipantau .

Dalam seri 3 bagian ini, saya akan membahas pembuatan dasbor pemantauan model dengan GUI interaktif, dengan kode minimal untuk bagian GUI.

Bagian 1: Membangun antarmuka GUI sederhana dengan antarmuka pemantauan model dasar dan metrik evaluasi. Kami akan menggunakan streamlit untuk menyelesaikan pekerjaan, yang merupakan hal terbaik di antara semua pesaingnya.

Bagian 2: Kami akan menambahkan metrik pemantauan model yang lebih kompleks dan di sini, kami akan menggunakan layanan seperti Terbukti, untuk meneruskan data ke GUI yang sudah dibangun dengan fungsionalitas dasar.

Bagian 3: Kami akan menambahkan otomatisasi ke pelatihan ulang juga di sini sedapat mungkin dan membangun pipa CI/CD menggunakan tindakan GitHub, juga akan mencoba alternatif yang berbeda.

Catatan: Panduan ini adalah panduan paling dasar yang mengasumsikan Anda sudah memiliki pengaturan jalur pengambilan data (file CSV, database, REST API).

Foto oleh Stephen Dawson di Unsplash

Mari kita mulai.

Hal yang harus dilakukan:

Eksplorasi Data (singkat) Pengenalan Model Monitoring Dasar-dasar Streamlit dan pembuatan GUI

Eksplorasi Data (singkatnya)

Data yang akan kita gunakan adalah dari kaggle. Anda dapat menemukannya di sini. Ini adalah dataset untuk prediksi gagal jantung. Mari kita memiliki pemahaman dasar tentang data.

Kepala (5) untuk kumpulan data

Di atas adalah sekilas data, mari kita periksa tipe data dan nilai null (jika ada) pada data.

df.info() pada data

Tidak ada nilai nol dalam kumpulan data dan ada total 11 fitur yang menentukan apakah ada risiko penyakit jantung. Saya akan melakukan EDA yang sangat mendasar di sini karena EDA yang kompleks berada di luar cakupan artikel ini.

Kami akan melihat korelasi ke fitur yang berbeda dan variabel target HeartDisease.

Kami sekarang memiliki gagasan tentang bagaimana fitur-fitur tersebut berkorelasi. Untuk EDA yang detail dan diilustrasikan dengan baik, lihat notebook ini.

Pengantar pemantauan model

Meskipun ini adalah konsep yang lebih besar, saya akan mencoba memberikan pengenalan singkat mengapa kita membutuhkan pemantauan model.

Mari kita ambil contoh, Anda menulis beberapa kode untuk mengambil data dari database dan menampilkannya di frontend. Dalam hal ini, kode yang ditulis akan berfungsi seperti yang diharapkan bahkan setelah waktu yang lama, mengingat database itu sendiri tidak dirusak. Ini adalah perilaku kode yang deterministik, dalam kasus model pembelajaran mesin, sifat probabilistik model dan data yang selalu berubah membuat hasil model sangat non-deterministik dan kinerja model menurun seiring waktu. Meskipun waktu tersebut tidak konsisten dan berubah dengan setiap kasus penggunaan dan sangat spesifik domain dan data, maka perlu untuk memodelkan kinerja model secara real-time (atau mendekati waktu nyata).

Sifat model yang tidak deterministik ini dapat disebabkan karena banyak faktor, saya akan mencoba menjelaskan beberapa di antaranya.

Distribusi data berubah dari waktu ke waktu (mungkin)

Ini bagus… sangat spesifik untuk domain. Ada kemungkinan perubahan distribusi data dari waktu ke waktu dan model yang dilatih untuk satu jenis data mungkin bukan pilihan terbaik untuk yang lain.

Beberapa model perlu dilatih ulang secara teratur agar akurat, misalnya. data deret waktu, juga banyak model dapat berjalan tanpa pembaruan apa pun selama lebih dari satu tahun, misalnya. Model CV dan beberapa skenario klasifikasi. Apapun masalahnya model yang akan memberikan hasil yang baik sekarang belum tentu memberikan hasil terbaik setelah jangka waktu tertentu, yaitu. model meluruh dari waktu ke waktu.

Jika pipa tidak memperlakukan outliernya dengan baik, itu dapat merusak kinerja dalam jangka panjang. Dalam beberapa kasus, seperti awal bisnis, mungkin tidak ada outlier sama sekali, tetapi seiring pertumbuhan bisnis akan ada banyak outlier yang tidak dapat ditahan oleh model lama.

Ada banyak alasan mengapa Anda mungkin ingin memantau model Anda dalam produksi seperti interpretasi model kepada manajemen atas atau pelanggan, latensi prediksi dalam produksi dapat berbeda dari pada lokal. Menjelaskan semua ini akan mengambil artikel itu sendiri, Jadi saya tidak akan membahas detailnya.

Dasar-dasar Streamlit dan pembuatan GUI

Streamlit membuat hidup lebih mudah bagi para ilmuwan Data dan insinyur pembelajaran mesin di luar sana. Ini adalah yang terbaik di antara para pesaingnya, hanya karena tidak memiliki masalah harga tersembunyi (yang saya tahu), juga dukungan komunitas sangat baik dan pembaruan sangat teratur.

Hal pertama yang pertama, instal streamlit menggunakan perintah di bawah ini di lingkungan python/conda Anda. Saya sarankan membuat yang baru karena akan lebih mudah untuk mengirim dengan cara itu.

pip install streamlit

untuk saat ini Anda hanya membutuhkan paket ini, selain numpy dasar, panda, dan matplotlib/plotly.

Saya hanya mencoba menggunakan SVM untuk saat ini, untuk kesederhanaan artikel. Anda dapat melanjutkan dan menambahkan algoritma sebanyak yang Anda butuhkan. Untuk mendapatkan antarmuka di atas, Anda hanya perlu menulis kode di bawah ini dalam file python. Jika Anda ingin mencoba dasbor secara langsung, Anda dapat melakukannya Di Sini.

https://medium.com/media/e83342d44db01f444fd3f478902a7db4/href

Sangat sederhana bukan, untuk tombol atau kotak pilihan tambahan, lihat referensi API untuk streamlit yang sangat sederhana dan intuitif.

Di bagian ini kami hanya akan mengakomodasi kontrol pemantauan dasar, kami akan mengaktifkan instrumen pemantauan yang lebih canggih dan metrik evaluasi model dengan pilihan yang lebih baik dari pengguna juga. Ini hanyalah pengenalan dasar tentang bagaimana kami ingin melihat data kami di dasbor.

Ini adalah akhir dari bagian ini. Saya tidak ingin memasukkan semuanya dalam satu artikel yang akan menyulitkan untuk dibaca dan diikuti.

Stay Tuned untuk bagian selanjutnya. Jangan lupa untuk bermain-main dengan aplikasi online ini.

Bersulang!!

Dasbor Pemantauan Model menjadi mudah (1/3). awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI