MLops: Munculnya operasi pembelajaran mesin

Meskipun sulit bagi data scientist untuk menandai data dan mengembangkan model machine learning yang akurat, mengelola model dalam produksi bisa menjadi lebih menakutkan. Mengenali penyimpangan model, melatih ulang model dengan memperbarui kumpulan data, meningkatkan kinerja, dan memelihara platform teknologi yang mendasarinya adalah praktik ilmu data yang penting. Tanpa disiplin ilmu ini, model dapat menghasilkan hasil yang keliru yang berdampak signifikan pada bisnis.

Mengembangkan model yang siap produksi bukanlah hal yang mudah. Menurut satu studi pembelajaran mesin, 55 persen perusahaan belum menerapkan model ke dalam produksi, dan 40 persen atau lebih membutuhkan lebih dari 30 hari untuk menerapkan satu model. Keberhasilan menghadirkan tantangan baru, dan 41 persen responden mengakui kesulitan dalam membuat versi model machine learning dan reproduktifitas.

Pelajarannya di sini adalah bahwa kendala baru muncul setelah model pembelajaran mesin diterapkan ke produksi dan digunakan dalam proses bisnis.

Manajemen dan operasi model pernah menjadi tantangan bagi tim ilmu data yang lebih maju. Sekarang tugasnya mencakup memantau model pembelajaran mesin produksi untuk penyimpangan, mengotomatiskan pelatihan ulang model, memberi tahu saat penyimpangan itu signifikan, dan mengenali saat model memerlukan peningkatan. Karena semakin banyak organisasi berinvestasi dalam pembelajaran mesin, ada kebutuhan yang lebih besar untuk membangun kesadaran seputar pengelolaan dan operasi model.

Kabar baiknya adalah platform dan pustaka seperti MLFlow dan DVC open source, dan alat komersial dari Alteryx, Databricks, Dataiku, SAS, DataRobot, ModelOp, dan lainnya membuat manajemen model dan operasi lebih mudah untuk tim ilmu data. Penyedia cloud publik juga berbagi praktik seperti menerapkan MLops dengan Azure Machine Learning.

Ada beberapa kesamaan antara manajemen model dan pengembang. Banyak yang menyebut pengelolaan dan operasi model sebagai MLops dan mendefinisikannya sebagai budaya, praktik, dan teknologi yang diperlukan untuk mengembangkan dan memelihara model pembelajaran mesin.

Memahami manajemen model dan operasi

Untuk lebih memahami manajemen model dan operasi, pertimbangkan penyatuan praktik pengembangan perangkat lunak dengan metode ilmiah.

Sebagai pengembang perangkat lunak, Anda tahu bahwa menyelesaikan versi aplikasi dan menerapkannya ke produksi bukanlah hal yang sepele. Tetapi tantangan yang lebih besar dimulai setelah aplikasi mencapai produksi. Pengguna akhir mengharapkan peningkatan reguler, dan infrastruktur, platform, dan pustaka yang mendasarinya memerlukan perbaikan dan pemeliharaan.

Sekarang mari beralih ke dunia ilmiah di mana pertanyaan mengarah ke banyak hipotesis dan eksperimen berulang. Anda belajar di kelas sains untuk memelihara log eksperimen ini dan melacak perjalanan mengubah variabel yang berbeda dari satu eksperimen ke eksperimen berikutnya. Eksperimen mengarah pada hasil yang lebih baik, dan mendokumentasikan perjalanan membantu meyakinkan rekan-rekan bahwa Anda telah menjelajahi semua variabel dan bahwa hasil dapat direproduksi.

Ilmuwan data yang bereksperimen dengan model pembelajaran mesin harus menggabungkan disiplin ilmu dari pengembangan perangkat lunak dan penelitian ilmiah. Model machine learning adalah kode software yang dikembangkan dalam bahasa seperti Python dan R, dibuat dengan TensorFlow, PyTorch, atau library machine learning lainnya, yang berjalan pada platform seperti Apache Spark, dan diterapkan ke infrastruktur cloud. Pengembangan dan dukungan model pembelajaran mesin memerlukan eksperimentasi dan pengoptimalan yang signifikan, dan data scientist harus membuktikan keakuratan model mereka.

Seperti pengembangan perangkat lunak, model pembelajaran mesin membutuhkan pemeliharaan dan peningkatan berkelanjutan. Beberapa di antaranya berasal dari pemeliharaan kode, perpustakaan, platform, dan infrastruktur, tetapi ilmuwan data juga harus memperhatikan penyimpangan model. Secara sederhana, penyimpangan model terjadi saat data baru tersedia, dan prediksi, kluster, segmentasi, dan rekomendasi yang diberikan oleh model pembelajaran mesin menyimpang dari hasil yang diharapkan.

Manajemen model yang sukses dimulai dengan mengembangkan model yang optimal

Saya berbicara dengan Alan Jacobson, kepala data dan petugas analitik di Alteryx, tentang bagaimana organisasi berhasil dan mengukur pengembangan model pembelajaran mesin. “Untuk menyederhanakan pengembangan model, tantangan pertama bagi sebagian besar ilmuwan data adalah memastikan perumusan masalah yang kuat. Banyak masalah bisnis yang kompleks dapat diselesaikan dengan analitik yang sangat sederhana, tetapi ini pertama-tama memerlukan penataan masalah sedemikian rupa sehingga data dan analitik dapat membantu menjawab pertanyaan tersebut. Bahkan ketika model yang kompleks dimanfaatkan, bagian proses yang paling sulit biasanya adalah menyusun data dan memastikan input yang tepat digunakan pada tingkat kualitas yang tepat. ”

Saya setuju dengan Jacobson. Terlalu banyak implementasi data dan teknologi dimulai dengan pernyataan masalah yang buruk atau tanpa masalah dan dengan waktu, alat, dan keahlian materi pelajaran yang tidak memadai untuk memastikan kualitas data yang memadai. Organisasi harus mulai dengan mengajukan pertanyaan cerdas tentang big data, berinvestasi dalam dataops, dan kemudian menggunakan metodologi tangkas dalam ilmu data untuk beralih ke solusi.

Memantau model pembelajaran mesin untuk penyimpangan model

Mendapatkan definisi masalah yang tepat sangat penting untuk pengelolaan dan pemantauan model yang sedang berlangsung dalam produksi. Jacobson melanjutkan dengan menjelaskan, “Model pemantauan adalah proses yang penting, tetapi melakukannya dengan benar membutuhkan pemahaman yang kuat tentang tujuan dan potensi efek samping yang memerlukan pengawasan. Meskipun sebagian besar membahas kinerja model pemantauan dan perubahan dari waktu ke waktu, yang lebih penting dan menantang dalam ruang ini adalah analisis konsekuensi yang tidak diinginkan. "

Satu cara mudah untuk memahami penyimpangan model dan konsekuensi yang tidak diinginkan adalah dengan mempertimbangkan dampak COVID-19 pada model pembelajaran mesin yang dikembangkan dengan data pelatihan dari sebelum pandemi. Model pembelajaran mesin berdasarkan perilaku manusia, pemrosesan bahasa alami, model permintaan konsumen, atau pola penipuan semuanya telah dipengaruhi oleh perubahan perilaku selama pandemi yang mengotak-atik model AI.

Penyedia teknologi merilis kemampuan MLops baru karena lebih banyak organisasi mendapatkan nilai dan menyempurnakan program ilmu data mereka. Misalnya, SAS memperkenalkan indeks kontribusi fitur yang membantu data scientist mengevaluasi model tanpa variabel target. Cloudera baru-baru ini mengumumkan Layanan Pemantauan ML yang menangkap metrik kinerja teknis dan prediksi model pelacakan.

MLops juga membahas otomatisasi dan kolaborasi

Di antara mengembangkan model pembelajaran mesin dan memantaunya dalam produksi, terdapat alat, proses, kolaborasi, dan kemampuan tambahan yang memungkinkan praktik sains data untuk diskalakan. Beberapa praktik otomatisasi dan infrastruktur dapat dianalogikan dengan devops dan mencakup infrastruktur sebagai kode dan CI / CD (integrasi berkelanjutan / penerapan berkelanjutan) untuk model pembelajaran mesin. Yang lainnya termasuk kemampuan pengembang seperti membuat versi model dengan data pelatihan yang mendasarinya dan mencari repositori model.

Aspek MLops yang lebih menarik menghadirkan metodologi ilmiah dan kolaborasi ke tim ilmu data. Misalnya, DataRobot memungkinkan model juara-penantang yang dapat menjalankan beberapa model eksperimental secara paralel untuk menantang akurasi versi produksi. SAS ingin membantu ilmuwan data meningkatkan kecepatan pasar dan kualitas data. Alteryx baru-baru ini memperkenalkan Hub Analytics untuk membantu kolaborasi dan berbagi di antara tim ilmu data.

Semua ini menunjukkan bahwa mengelola dan menskalakan machine learning membutuhkan lebih banyak disiplin dan praktik daripada sekadar meminta data scientist untuk membuat kode dan menguji forest acak, k-means, atau jaringan neural konvolusional dengan Python.