Machine learning operations (MLOps) kini menjadi fokus inti bagi banyak pemimpin data dan praktisi, dengan minat yang meningkat pesat dalam dua tahun terakhir. Lonjakan ini didorong oleh tantangan besar yang dihadapi banyak organisasi; investasi pada machine learning dan AI belum memberikan imbal hasil (ROI) seperti yang dijanjikan.

Pada 2019, Venturebeat melaporkan bahwa hanya 13% model machine learning yang berhasil masuk ke produksi. Sementara jajak pendapat terbaru oleh KDNuggets menunjukkan adanya perbaikan pada 2022, 35% responden masih menyebut hambatan teknis yang menghalangi penerapan model mereka.
Laporan State of AI 2021 dari McKinsey menunjukkan adopsi AI meningkat menjadi 56%, dari 50% pada 2020. Saat organisasi meningkatkan investasi pada sistem dan talenta machine learning, kebutuhan untuk menerapkan dan mengekstraksi nilai dari model secara efisien menjadi semakin jelas. Di sinilah MLOps berperan. Organisasi yang berhasil mengadopsi MLOps melihat pengembalian investasi yang lebih baik. Dengan mengadopsi MLOps, tim data mengurangi waktu yang dibutuhkan untuk membuat prototipe, mengembangkan, dan menerapkan sistem machine learning.
Tujuan MLOps adalah menggabungkan teknologi dengan perubahan organisasi untuk menerapkan konsep rekayasa perangkat lunak pada machine learning. Dengan memandang machine learning sebagai disiplin rekayasa, MLOps menjanjikan jalur yang jelas menuju produksi dan masa pakai model yang lebih panjang di lingkungan produksi.
Artikel ini akan mendefinisikan MLOps, mengapa hal tersebut penting, dan menyajikan lima prinsip panduan yang mendefinisikan praktik MLOps yang sukses saat ini.
Apa Itu MLOps?
MLOps paling tepat didefinisikan sebagai "sekumpulan alat, praktik, teknik, dan budaya yang memastikan penerapan sistem machine learning yang andal dan dapat diskalakan." MLOps mengadopsi praktik terbaik rekayasa perangkat lunak seperti otomasi dan pengujian otomatis, kontrol versi, penerapan prinsip agile, serta pengelolaan data untuk mengurangi utang teknis.
Utang teknis atau code debt adalah konsep dari rekayasa perangkat lunak itu sendiri. Ia menggambarkan "utang" yang timbul akibat pengembangan cepat di mana proses seperti otomasi, dokumentasi, dan uji unit ditata ulang di tahap selanjutnya. Singkatnya, ini adalah utang yang dibawa tim pengembang ke masa depan karena tidak mengadopsi praktik terbaik saat ini.
Sistem machine learning dapat menimbulkan tingkat utang teknis yang tinggi, karena model yang dihasilkan data scientist hanyalah bagian kecil dari teka-teki yang lebih besar—yang terdiri dari infrastruktur, pemantauan model, penyimpanan fitur, dan banyak pertimbangan lainnya.

Apa yang membuat MLOps unik
Praktik terbaik rekayasa perangkat lunak yang bertujuan mengurangi utang teknis sering disebut sebagai DevOps. DevOps menggabungkan aktivitas pengembangan seperti penulisan kode, versioning, dan pengujian dengan operasi TI seperti rilis, penerapan, dan pemantauan.
Dua prinsip inti DevOps adalah Continuous Integration dan Continuous Delivery (CI/CD).
- Continuous Integration (CI): Perubahan kode baru secara rutin dibangun, diuji, dan digabungkan ke dalam repositori bersama.
- Continuous Delivery (CD): Perubahan apa pun pada aplikasi diuji secara otomatis dan diunggah ke repositori, tempat perubahan tersebut dapat diterapkan ke lingkungan live.
Membawa sistem machine learning ke produksi dan melakukan penskalaan menambah kompleksitas. Rekayasa perangkat lunak terutama merancang solusi yang terdefinisi dengan baik dengan input dan output yang presisi. Di sisi lain, sistem machine learning bergantung pada data dunia nyata yang dimodelkan melalui metode statistika. Ini menimbulkan pertimbangan tambahan yang perlu diperhitungkan, seperti:
- Data: Machine learning menerima data masukan yang sangat kompleks. Data ini harus ditransformasikan agar model machine learning dapat menghasilkan prediksi yang bermakna.
- Pemodelan: Mengembangkan sistem machine learning memerlukan eksperimen. Untuk bereksperimen secara efisien, penelusuran perubahan data dan parameter setiap eksperimen sangat penting.
- Pengujian: Melampaui uji unit—di mana bagian kecil dan dapat diuji dari sebuah aplikasi diuji secara mandiri—sistem machine learning memerlukan pengujian yang lebih kompleks terhadap data dan kinerja model. Misalnya, menguji apakah data masukan baru memiliki sifat statistik yang serupa dengan data pelatihan.
- Model Drift: Kinerja model machine learning akan selalu menurun seiring waktu. Penyebab utamanya ada dua. Concept Drift adalah ketika sifat hasil yang ingin kita prediksi berubah. Contoh jelas terjadi saat pembatasan COVID-19, ketika banyak peritel mengalami lonjakan tak terduga pada produk seperti tisu toilet. Bagaimana model yang dilatih pada data normal menangani hal ini? Data Drift di sisi lain terjadi ketika sifat variabel independen berubah karena berbagai faktor, termasuk musiman, perubahan perilaku konsumen, atau peluncuran produk baru.
- Pelatihan Berkelanjutan: Model machine learning harus dilatih ulang saat data baru tersedia untuk mengatasi model drift.
- Manajemen Pipeline: Data harus melalui berbagai langkah transformasi sebelum diberikan ke model dan harus diuji secara berkala sebelum dan sesudah pelatihan. Pipeline menggabungkan langkah-langkah ini agar dapat dipantau dan dikelola secara efisien.
5 Prinsip untuk MLOps yang Sukses
Mengadopsi MLOps tidak sesederhana bekerja sama dengan vendor SaaS baru atau menyalakan instance komputasi cloud baru. Ini memerlukan perencanaan yang cermat dan pendekatan yang konsisten antar tim dan departemen. Berikut lima prinsip untuk penerapan MLOps yang sukses:
Pahami Tingkat Kematangan MLOps Anda
Penyedia cloud terkemuka seperti Microsoft dan Google memandang adopsi MLOps melalui model kematangan. Ini karena MLOps memerlukan perubahan organisasi dan cara kerja modern. Hal ini hanya terjadi seiring waktu saat sistem dan proses organisasi menjadi matang.
Adopsi MLOps yang berhasil memerlukan penilaian jujur terhadap kemajuan organisasi dalam tingkat kematangan MLOps-nya. Setelah penilaian tingkat kematangan yang andal, organisasi dapat memahami taktik apa yang dapat diterapkan untuk naik tingkat. Ini melibatkan perubahan proses seperti menerapkan DevOps untuk penerapan atau menambah perekrutan baru ke tim.
Memahami bagaimana tingkat kematangan dapat membantu organisasi memprioritaskan inisiatif MLOps juga penting. Misalnya, feature store adalah repositori tunggal untuk data yang menampung fitur yang umum digunakan untuk machine learning. Feature store berguna bagi organisasi yang relatif matang datanya, di mana banyak tim data yang beragam perlu menggunakan fitur yang konsisten dan mengurangi pekerjaan duplikat. Jika sebuah organisasi hanya memiliki beberapa data scientist, feature store mungkin belum sepadan dengan waktunya.
Dengan menggunakan model kematangan untuk MLOps, organisasi memungkinkan tim, proses, dan tumpukan teknologi mereka berkembang bersama. Ini memastikan iterasi dapat terjadi dan alat dapat diuji sebelum diimplementasikan.
Terapkan Otomasi dalam Proses Anda
Otomasi berjalan beriringan dengan konsep model kematangan. Otomasi yang maju dan meluas memfasilitasi peningkatan kematangan MLOps bagi sebuah organisasi. Di lingkungan tanpa MLOps, banyak tugas dalam sistem machine learning dieksekusi secara manual. Tugas-tugas ini dapat mencakup pembersihan dan transformasi data, rekayasa fitur, pemisahan data pelatihan dan pengujian, penulisan kode pelatihan model, dan sebagainya. Dengan melakukan langkah-langkah ini secara manual, data scientist meningkatkan peluang terjadinya kesalahan dan kehilangan waktu yang seharusnya dapat digunakan untuk eksperimen.
Contoh otomasi yang bagus adalah pelatihan ulang berkelanjutan, di mana tim data dapat menyiapkan pipeline untuk ingestion data, validasi, eksperimen, rekayasa fitur, pengujian model, dan lainnya. Sering dianggap sebagai salah satu langkah awal dalam otomasi machine learning, pelatihan ulang berkelanjutan membantu mencegah model drift.
Pipeline dalam MLOps tidak berbeda dengan yang ada di rekayasa data atau DevOps. Pipeline machine learning adalah serangkaian langkah yang mengorkestrasi aliran data masuk dan keluar dari model machine learning.
Untuk menggambarkan kekuatan pipeline, bayangkan contoh di mana data scientist mengekstraksi sebagian data secara manual tetapi mampu mengotomatiskan proses validasi, persiapan data, pelatihan model, dan evaluasi. Pipeline ini kemudian dapat digunakan kembali saat model diproduksikan untuk membuat prediksi pada data baru.
Prioritaskan Eksperimen dan Pelacakan
Eksperimen adalah bagian inti dari siklus hidup machine learning. Data scientist bereksperimen dengan dataset, fitur, model machine learning, hyperparameter terkait, dan sebagainya. Ada banyak "tuas" yang dapat ditarik saat bereksperimen. Untuk menemukan kombinasi yang tepat, melacak setiap iterasi eksperimen adalah hal yang penting.
Dalam eksperimen berbasis notebook tradisional, data scientist melacak parameter dan detail model secara manual. Ini dapat menyebabkan inkonsistensi proses dan peningkatan peluang kesalahan manusia. Eksekusi manual juga memakan waktu dan menjadi hambatan besar dalam eksperimen cepat.
Sementara git banyak digunakan untuk melacak kode, tidak mudah melakukan kontrol versi pada berbagai eksperimen yang dijalankan data scientist. Di sinilah tim data dapat menggunakan model registry, yaitu tempat bagi data scientist untuk menyimpan model, melacak kinerja, dan perubahan lainnya.
Pelacakan eksperimen memungkinkan tim data melakukan rollback model jika diperlukan—dan meningkatkan keseluruhan proses audit model. Ini mengurangi upaya manual yang besar bagi data scientist, menyisakan lebih banyak waktu untuk bereksperimen. Semua ini menghasilkan peningkatan signifikan dalam reprodusibilitas hasil melalui versioning dan pelacakan
Melebihi CI/CD
Kita telah melihat CI/CD dalam konteks DevOps, tetapi ini juga merupakan komponen penting bagi MLOps dengan kematangan tinggi.
- Saat menerapkan CI pada MLOps, kita memperluas pengujian dan validasi kode otomatis untuk diterapkan pada data dan model.
- Demikian pula, konsep CD berlaku untuk pipeline dan model saat model tersebut dilatih ulang.
Kita juga dapat mempertimbangkan konsep "kontinu" lainnya:
- Continuous Training (CT): Kita sudah menyinggung bagaimana peningkatan otomasi memungkinkan model dilatih ulang saat data baru tersedia.
- Continuous Monitoring (CM): Alasan lain untuk melatih ulang model adalah penurunan kinerja. Kita juga perlu memahami apakah model masih memberikan nilai terhadap metrik bisnis.
Penerapan konsep kontinu dengan pengujian otomatis memungkinkan eksperimen cepat dan memastikan kesalahan minimal dalam skala besar. Selain itu, penerapan yang berhasil dari keempat konsep kontinu dapat memangkas drastis waktu menuju penerapan.
Pertimbangkan pipeline contoh yang kita bahas di bagian otomasi. Menerapkan konsep CI/CD pada ini akan menghasilkan basis kode yang disimpan dalam repositori. Sejalan dengan CI, serangkaian uji unit otomatis akan diterapkan pada repositori ini, seperti menguji fitur hasil rekayasa, memastikan tidak ada nilai yang hilang, dan menguji overfitting. Komponen individual dari pipeline kemudian dapat divalidasi dan diterapkan, memastikan kompatibilitas dan kebutuhan komputasi diuji dan dipenuhi. Tingkat otomasi ini memungkinkan penerapan baru yang cepat, sehingga organisasi dapat merespons pendorong eksternal dan perubahan.
Adopsi Perubahan Organisasi
Perubahan organisasi harus terjadi seiring evolusi kematangan MLOps. Ini memerlukan perubahan proses yang mendorong kolaborasi antar tim, sehingga silo dapat diurai. Dalam beberapa kasus, restrukturisasi tim secara keseluruhan diperlukan untuk memfasilitasi kematangan MLOps yang konsisten. Model kematangan Microsoft membahas bagaimana perilaku orang harus berubah seiring meningkatnya kematangan.
Lingkungan dengan kematangan rendah biasanya memiliki data scientist, engineer, dan software engineer yang bekerja dalam silo. Saat kematangan meningkat, setiap anggota perlu berkolaborasi. Data scientist dan data engineer harus bermitra untuk mengonversi kode eksperimen menjadi pipeline yang dapat diulang, sementara software engineer dan data engineer harus bekerja sama untuk mengintegrasikan model ke dalam kode aplikasi secara otomatis.
Peningkatan kolaborasi membuat seluruh proses penerapan tidak bergantung pada satu orang saja. Ini memastikan kerja tim diterapkan untuk mengurangi upaya manual yang mahal. Beragam keahlian ini bersatu untuk mengembangkan tingkat otomasi yang dibutuhkan MLOps dengan kematangan tinggi. Peningkatan kolaborasi dan otomasi sangat penting untuk mengurangi utang teknis.
Kebangkitan MLOps masih dalam tahap awal
MLOps lahir dari kebutuhan untuk menerapkan model ML dengan cepat dan efisien. Dengan perusahaan kini banyak berinvestasi pada machine learning, semakin banyak model yang dikembangkan, sehingga permintaan terhadap MLOps meningkat. Walau MLOps masih pada tahap awal, dapat dikatakan bahwa organisasi berupaya berkumpul pada seperangkat prinsip yang dapat membuka ROI dari machine learning.
Jika Anda tertarik mempelajari lebih lanjut tentang MLOps, Anda juga dapat melihat sumber berikut:
- Panduan praktis MLOps oleh Noah Gift
- Mengoperasionalkan Machine Learning dengan MLOps bersama Alessya Visnjic
- Dari Prediksi ke Keputusan bersama Dan Becker
- Panduan Kami untuk Sertifikasi MLOps
