top of page
Gambar penulisCornellius Yudha Wijaya

Best Practices MLOps yang Harus Anda Ketahui

MLOps, atau Machine Learning Operations, adalah kumpulan teknik dan alat untuk penerapan model dalam production environment. Dalam beberapa tahun terakhir, kesuksesan DevOps dalam meminimalkan waktu antara software releases dan mengurangi kesenjangan telah menjadi integral dalam siklus kehidupan perusahaan di mana pun.


Dengan sejarah sukses tersebut, para developers datang ke bidang machine learning untuk menerapkan prinsip DevOps, yang menciptakan posisi MLOps. Dengan menggabungkan prinsip CI/CD dengan model machine learning, dunia data dapat mengintegrasikan dan mengirimkan model tepat waktu dalam produksi. MLOps memperkenalkan prinsip baru yaitu Continuous Training (CT) dan Continuous Monitoring, membuat lingkungan produksi semakin cocok untuk model machine learning.


Dengan begitu banyak kemajuan dalam MLOps, kita harus mengikuti beberapa best practice untuk mencapai workflow terbaik. Apa saja praktik-praktik tersebut? Mari kita bahas.



Best Practices MLOps

Sebelum melanjutkan, artikel ini mengasumsikan pembaca sudah memiliki pengetahuan dasar tentang MLOps, machine learning, dan pemrograman. Dengan asumsi tersebut, mari kita lanjutkan dengan best practice.


1. Menetapkan Struktur Proyek yang Jelas

MLOps lebih mudah dinilai dengan struktur yang jelas untuk kasus perusahaan Anda. Tidak ada pipeline dan alat MLOps yang pasti untuk setiap titik, jadi kita memerlukan struktur yang jelas untuk proyek kita. Struktur proyek yang terorganisir dengan baik membuat navigasi, pemeliharaan, dan skala proyek di masa depan lebih mudah.


Bicara tentang struktur proyek berarti kita perlu memahami secara end-to-end dari masalah bisnis, hingga produksi dan monitoring yang tepat. Beberapa tips untuk meningkatkan struktur proyek kita meliputi:

  • Mengatur kode dan data berdasarkan environment dan fungsi. Juga, menjaga konvensi nama kode dan data tetap rapi untuk menghindari kesalahan,

  • Menggunakan version control seperti GIT atau DVC untuk melacak perubahan,

  • Memiliki dokumentasi dengan gaya yang konsisten,

  • Berkomunikasi dengan tim tentang apa pun yang Anda lakukan dan ubah.

Menetapkan struktur proyek yang jelas memang merepotkan, tetapi ini akan sangat membantu proyek kita dalam jangka panjang.

2. Mengetahui Alat-Alat Anda

MLOps bukan hanya tentang konsep, tetapi juga tentang alat. Ada banyak alat yang dapat dipilih untuk setiap aktivitas dalam MLOps. Namun, pilihannya tergantung pada proyek dan kebutuhan perusahaan Anda.


Misalnya, jika keputusan perusahaan Anda mengharuskan analisis data dilakukan dengan alat yang dibuat oleh perusahaan induk, kita harus mengikutinya. Itulah mengapa mengetahui alat-alat yang ingin Anda gunakan dalam pipeline MLOps saat kita mengembangkan kemampuannya sangat penting.


Untuk membantu memahami alat yang diperlukan untuk proyek Anda, berikut adalah MLOps Stack Template oleh Valohai yang bisa Anda rujuk.

Best Practices MLOps yang Harus Anda Ketahui

Selanjutnya, coba batasi alat yang digunakan sekitar tiga hingga lima. Semakin banyak alat yang digunakan, akan semakin rumit.

3. Melacak Pengeluaran Anda

Tujuan menggunakan MLOps dalam pipeline kita adalah untuk meminimalkan beban teknis. Ini adalah tujuan yang bagus, karena kita tidak ingin beban teknis memperumit proyek kita. Namun, jangan biarkan pengeluaran uang menjadi tinggi hanya karena kita ingin meminimalkan beban teknis.


Banyak alat yang digunakan untuk MLOps berbasis subscription atau pay-per-use, tergantung pada alat itu sendiri. Daripada mengembangkannya dari awal atau menggunakan yang berbasis sopen-source, banyak alat berbayar menawarkan layanan yang memungkinkan pengguna mengintegrasikan MLOps dengan pengalaman yang lebih baik.


Namun, terkadang, kita perlu mengingat bahwa layanan tersebut mengharuskan kita membayar sejumlah uang, dan kita jarang menggunakannya, hal ini juga terjadi pada saya pada awal saya mengadopsi MLOps. Ingatlah untuk mencatat pengeluaran kita dengan baik, karena kita tidak ingin value yang diberikan oleh MLOps berkurang karena uang.


Menggunakan layanan cloud seperti AWS, kalkulator, dan alarm akan mengingatkan Anda tentang pengeluaran Anda. Jika tidak, cobalah melacaknya menggunakan alat lainnya. Bahkan Excel sederhana sudah cukup.



4. Memiliki Standar untuk Segalanya

Kita tidak cukup hanya memiliki proyek dengan struktur yang jelas, tetapi kita juga memerlukan standar untuk setiap bagian dari pipeline MLOps. Meminimalkan beban teknis berarti kita ingin semuanya berfungsi dengan benar, dan seringkali kesalahan terjadi karena tidak ada standar dalam tim.


Bayangkan jika penamaan alat, variabel, skrip, data, dan lain-lain dilakukan secara random dan tidak ada koherensi antara satu anggota tim dengan yang lain. Prosesnya akan menjadi lebih lama karena developer perlu memahami apa yang terjadi, dan itu akan menimbulkan beban teknis.


Standarisasi tidak hanya berlaku pada konvensi penamaan tetapi juga bisa berlaku untuk segala sesuatu yang terkait dengan pipeline MLOps. Proses analisis data, environment yang digunakan, struktur pipeline, proses development, dan lain sebagainya. Ketika kita telah memiliki semua standar yang diperlukan, maka MLOps akan berfungsi dengan baik.


5. Menilai Maturity MLOps Secara Berkala

Sejauh mana kesiapan MLOps adalah pertanyaan yang sering kita tanyakan. Kita ingin mendapatkan manfaat penuh dari MLOps, yang hanya bisa didapatlan jika tingkat maturity sudah tercapai. Sayangnya, itu bukanlah sesuatu yang bisa Anda capai dalam sehari atau bahkan sebulan.


Ini akan memakan waktu, tetapi itulah mengapa jangan menunggu pipeline yang sempurna ketika Anda mulai menerapkan MLOps. Sebaiknya, mulailah dari hal yang bisa kita proses terlebih dahulu dan tetap kaji kesiapan MLOps kita.


Sebagai referensi, saya suka menggunakan piramida maturity MLOps dari Microsoft Azure untuk menilai kesiapan. Ada lima tingkatan, dan setiap tingkatan memberikan nilai bagi ekosistem kita.


Kesimpulan

MLOps atau Machine Learning Operations menjadi penting dalam siklus kehidupan perusahaan. Itulah mengapa ada beberapa best practices yang bisa Anda ikuti:

  1. Menetapkan Struktur Proyek yang Jelas

  2. Mengetahui Alat-Alat Anda

  3. Melacak Pengeluaran Anda

  4. Memiliki Standar untuk Segalanya

  5. Menilai Maturity MLOps Secara Berkala

Semoga bermanfaat.



12 tampilan0 komentar

Comments


bottom of page