Apa itu MLOps?

Operasi machine learning (MLOps) adalah serangkaian praktik yang mengotomatiskan dan menyederhanakan alur kerja dan deployment machine learning (ML). Machine learning dan kecerdasan buatan (AI) adalah kemampuan inti yang dapat Anda terapkan untuk memecahkan masalah dunia nyata yang kompleks dan memberikan nilai kepada pelanggan Anda. MLOps adalah budaya dan praktik ML yang menyatukan pengembangan aplikasi ML (Dev) dengan deployment dan operasi sistem ML (Ops). Organisasi Anda dapat menggunakan MLOps untuk mengotomatiskan dan menstandardisasi proses di seluruh siklus hidup ML. Proses-proses ini meliputi pengembangan model, pengujian, integrasi, rilis, dan manajemen infrastruktur.

Mengapa MLOps diperlukan?


 

Pada tingkat tinggi, untuk memulai siklus hidup machine learning, organisasi Anda biasanya harus memulai persiapan data. Anda mengambil data dari berbagai jenis dari berbagai sumber, dan melakukan aktivitas, seperti agregasi, pembersihan duplikat, dan rekayasa fitur.

Setelah itu, Anda menggunakan data untuk melatih dan memvalidasi model ML. Anda kemudian dapat melakukan deployment model terlatih dan divalidasi sebagai layanan prediksi yang dapat diakses aplikasi lain melalui API.

Analisis data eksplorasi sering mengharuskan Anda untuk bereksperimen dengan model yang berbeda sampai versi model terbaik siap untuk dilakukan deployment. Hal ini menyebabkan seringnya deployment versi model dan versioning data. Pelacakan eksperimen dan manajemen alur pelatihan ML sangat penting sebelum aplikasi Anda dapat mengintegrasikan atau menggunakan model dalam kode mereka.

MLOps sangat penting untuk mengelola rilis model ML baru secara sistematis dan bersamaan dengan kode aplikasi dan perubahan data. Implementasi MLOps yang optimal memperlakukan aset ML sama dengan aset perangkat lunak lingkungan integrasi dan pengiriman berkelanjutan (CI/CD) lainnya. Anda melakukan deployment model ML bersama dengan aplikasi dan layanan yang mereka gunakan dan mereka yang mengonsumsinya sebagai bagian dari proses rilis terpadu.

Apa saja prinsip MLOps?

Selanjutnya, kami menjelaskan empat prinsip utama MLOps.

Kontrol versi

Proses ini melibatkan pelacakan perubahan pada aset machine learning sehingga Anda dapat mereproduksi hasil dan kembali ke versi sebelumnya jika perlu. Setiap kode pelatihan ML atau spesifikasi model melewati fase peninjauan kode. Masing-masing memiliki versi untuk membuat pelatihan model ML dapat direproduksi dan diaudit.

Reproduksibilitas dalam alur kerja ML penting di setiap fase, mulai dari pemrosesan data hingga deployment model ML. Ini berarti bahwa setiap fase harus membuahkan hasil yang identik dengan input yang sama.

Otomatisasi

Otomatiskan berbagai tahapan dalam alur machine learning untuk memastikan pengulangan, konsistensi, dan skalabilitas. Ini termasuk tahapan dari penyerapan data, prapemrosesan, pelatihan model, dan validasi hingga deployment.

Berikut adalah beberapa faktor yang dapat memicu pelatihan dan deployment model otomatis:

  • Perpesanan
  • Pemantauan atau acara kalender
  • Perubahan data
  • Perubahan kode pelatihan model
  • Perubahan kode aplikasi.

Pengujian otomatis membantu Anda menemukan masalah lebih awal untuk perbaikan kesalahan dan pembelajaran yang cepat. Otomatisasi lebih efisien dengan infrastruktur sebagai kode (IaC). Anda dapat menggunakan alat untuk menentukan dan mengelola infrastruktur. Hal ini membantu memastikannya dapat direproduksi dan dapat digunakan secara konsisten di berbagai lingkungan.

Baca tentang IaC »

X Berkelanjutan

Melalui otomatisasi, Anda dapat terus menjalankan pengujian dan melakukan deployment kode di seluruh alur ML Anda.

Dalam MLOps, berkelanjutan mengacu pada empat aktivitas yang terjadi terus menerus jika ada perubahan yang dilakukan di mana saja dalam sistem:

  • Integrasi berkelanjutan memperluas validasi dan pengujian kode ke data dan model dalam alur
  • Pengiriman berkelanjutan secara otomatis melakukan deployment model atau layanan prediksi model yang baru dilatih
  • Pelatihan berkelanjutan secara otomatis melatih kembali model ML untuk deployment ulang
  • Pemantauan berkelanjutan berkaitan dengan pemantauan data dan pemantauan model menggunakan metrik yang terkait dengan bisnis

Tata kelola model

Tata kelola melibatkan pengelolaan semua aspek sistem ML untuk efisiensi. Anda harus melakukan banyak kegiatan untuk tata kelola:

  • Menumbuhkan kolaborasi erat antara ilmuwan data, rekayasawan, dan pemangku kepentingan bisnis
  • Gunakan dokumentasi yang jelas dan saluran komunikasi yang efektif untuk memastikan semua orang memiliki pemahaman yang sama
  • Tetapkan mekanisme untuk mengumpulkan umpan balik tentang prediksi model dan melatih kembali model lebih lanjut
  • Pastikan bahwa data sensitif dilindungi, akses ke model dan infrastruktur aman, dan persyaratan kepatuhan terpenuhi

Memiliki proses terstruktur untuk meninjau, memvalidasi, dan menyetujui model juga penting sebelum model tersebut dipublikasikan. Hal ini dapat melibatkan pemeriksaan keadilan, bias, dan pertimbangan etis.

Apa saja manfaat dari MLOps?

Machine learning membantu organisasi menganalisis data dan memperoleh wawasan untuk pengambilan keputusan. Namun, ini adalah bidang inovatif dan eksperimental yang memiliki tantangan tersendiri. Perlindungan data sensitif, anggaran kecil, kekurangan keterampilan, dan teknologi yang terus berkembang membatasi keberhasilan proyek. Tanpa kontrol dan panduan, biaya bisa membengkak, dan tim ilmu data mungkin tidak akan mencapai hasil yang diinginkan.

MLOps menyediakan peta untuk memandu proyek ML menuju kesuksesan, apa pun batasannya. Berikut adalah beberapa manfaat utama MLOps.

Waktu masuk pasar yang lebih cepat

MLOps menyediakan organisasi Anda dengan kerangka kerja untuk mencapai tujuan ilmu data Anda dengan lebih cepat dan efisien. Developer dan manajer Anda dapat menjadi lebih strategis dan gesit dalam manajemen model. Rekayasawan ML dapat menyediakan infrastruktur melalui file konfigurasi deklaratif untuk memulai proyek dengan lebih lancar.

Mengotomatiskan pembuatan dan deployment model menghasilkan waktu masuk ke pasar yang lebih cepat dengan biaya operasional yang lebih rendah. Ilmuwan data dapat dengan cepat mengeksplorasi data organisasi untuk memberikan lebih banyak nilai bisnis bagi semua pihak.

Peningkatan produktivitas

Praktik MLOps meningkatkan produktivitas dan mempercepat pengembangan model ML. Misalnya, Anda dapat menstandardisasi lingkungan pengembangan atau eksperimen. Kemudian, rekayasawan ML Anda dapat meluncurkan proyek baru, melakukan rotasi di antara proyek-proyek, dan menggunakan kembali model ML di seluruh aplikasi. Mereka dapat membuat proses berulang untuk eksperimen dan pelatihan model yang cepat. Tim rekayasa perangkat lunak dapat berkolaborasi dan berkoordinasi melalui siklus hidup pengembangan perangkat lunak ML untuk efisiensi yang lebih besar.

Deployment model yang efisien

MLOps meningkatkan pemecahan masalah dan manajemen model dalam produksi. Misalnya, rekayasawan perangkat lunak dapat memantau performa model dan mereproduksi perilaku untuk pemecahan masalah. Mereka dapat melacak dan mengelola versi model secara terpusat dan memilih yang tepat untuk kasus penggunaan bisnis yang berbeda.

Saat Anda mengintegrasikan alur kerja model dengan alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD), Anda membatasi penurunan performa dan mempertahankan kualitas untuk model Anda. Hal ini berlaku bahkan setelah peningkatan dan penyetelan model.

Bagaimana menerapkan MLOps dalam organisasi

Ada tiga tingkat implementasi MLOps, tergantung pada kematangan otomatisasi dalam organisasi Anda.

MLOps tingkat 0

Alur kerja ML manual dan proses yang didorong oleh ilmuwan data mencirikan tingkat 0 untuk organisasi yang baru memulai sistem machine learning.

Setiap langkah dilakukan secara manual, termasuk persiapan data, pelatihan ML, serta performa dan validasi model. Ini membutuhkan transisi manual antara langkah, dan setiap langkah dijalankan dan dikelola secara interaktif. Ilmuwan data biasanya menyerahkan model terlatih sebagai artefak yang dilakukan deployment tim rekayasa pada infrastruktur API.

Proses ini memisahkan ilmuwan data yang membuat model dan rekayasawan yang melakukan deployment pada model tersebut. Rilis yang jarang berarti tim ilmu data dapat melatih ulang model hanya beberapa kali dalam setahun. Tidak ada pertimbangan CI/CD untuk model ML dengan sisa kode aplikasi. Demikian pula, pemantauan performa aktif tidak ada.

MLOps tingkat 1

Organisasi yang ingin melatih model yang sama dengan data baru sering membutuhkan implementasi kematangan tingkat 1. MLOps tingkat 1 bertujuan untuk melatih model secara terus menerus dengan mengotomatiskan alur ML.

Pada tingkat 0, Anda melakukan deployment model terlatih ke produksi. Sebaliknya, untuk tingkat 1, Anda melakukan deployment alur pelatihan yang berjalan berulang untuk menyajikan model terlatih ke aplikasi Anda yang lain. Minimal, Anda mencapai pengiriman berkelanjutan dari layanan prediksi model.

Kematangan tingkat 1 memiliki karakteristik sebagai berikut:

  • Langkah percobaan ML cepat yang melibatkan otomatisasi signifikan
  • Pelatihan berkelanjutan model dalam produksi dengan data segar sebagai pemicu alur langsung
  • Implementasi alur yang sama di seluruh lingkungan pengembangan, praproduksi, dan produksi

Tim rekayasawan Anda bekerja dengan ilmuwan data untuk membuat komponen kode termodulasi yang dapat digunakan kembali, dapat dikomposisi, dan berpotensi dapat dibagikan di seluruh alur ML. Anda juga membuat tempat penyimpanan fitur terpusat yang menstandarkan penyimpanan, akses, dan definisi fitur untuk pelatihan dan penyajian ML. Selain itu, Anda dapat mengelola metadata, seperti informasi tentang setiap proses alur dan data reproduktifitas.

MLOps tingkat 2

MLOps tingkat 2 adalah untuk organisasi yang ingin bereksperimen lebih banyak dan sering membuat model baru yang memerlukan pelatihan berkelanjutan. MLOps cocok untuk perusahaan yang digerakkan oleh teknologi yang memperbarui model mereka dalam hitungan menit, melatih ulang model setiap jam atau setiap hari, dan secara bersamaan melakukan deployment ulang di ribuan server.

Karena ada beberapa alur ML yang digunakan, pengaturan MLOps tingkat 2 memerlukan semua pengaturan MLOps tingkat 1. MLOps juga membutuhkan berikut ini:

  • Orkestrator alur ML
  • Registri model untuk melacak beberapa model

Tiga tahap berikut diulangi dalam skala besar untuk beberapa alur ML guna memastikan pengiriman berkelanjutan model.

Bangun alur

Anda secara berulang mencoba pemodelan baru dan algoritma ML baru sekaligus memastikan langkah-langkah eksperimen diorkestrasi. Tahap ini menampilkan kode sumber untuk alur ML Anda. Anda menyimpan kode dalam repositori sumber.

Lakukan deployment alur

Selanjutnya, Anda membangun kode sumber dan menjalankan pengujian untuk mendapatkan komponen alur untuk deployment. Output yang dihasilkan adalah alur yang digunakan dengan implementasi model baru.

Sajikan alur

Akhirnya, Anda menyajikan alur sebagai layanan prediksi untuk aplikasi Anda. Anda mengumpulkan statistik pada layanan prediksi model yang dilakukan deployment dari data langsung. Output tahap ini merupakan pemicu untuk menjalankan alur atau siklus percobaan baru.


 

Apa perbedaan antara MLOps dan DevOps?

MLOps dan DevOps keduanya merupakan praktik yang bertujuan untuk meningkatkan proses di mana Anda mengembangkan, melakukan deployment, dan memantau aplikasi perangkat lunak.

DevOps bertujuan untuk menjembatani kesenjangan antara tim pengembangan dan operasi. DevOps membantu memastikan bahwa perubahan kode secara otomatis diuji, diintegrasikan, dan dilakukan deployment ke produksi secara efisien dan andal. DevOps mendorong budaya kolaborasi untuk mencapai siklus rilis yang lebih cepat, kualitas aplikasi yang lebih baik, dan penggunaan sumber daya yang lebih efisien.

MLOps, di sisi lain, adalah seperangkat praktik terbaik yang dirancang khusus untuk proyek machine learning. Meski deployment dan integrasi perangkat lunak tradisional relatif mudah, model ML menghadirkan tantangan yang unik. Mereka melibatkan pengumpulan data, pelatihan model, validasi, deployment, serta pemantauan dan pelatihan ulang berkelanjutan.

MLOps berfokus pada otomatisasi siklus hidup ML. MLOps membantu memastikan bahwa model tidak hanya dikembangkan, tetapi juga digunakan, dipantau, dan dilatih ulang secara sistematis dan berulang kali. MLOps membawa prinsip-prinsip DevOps ke ML. MLOps menghasilkan deployment model ML yang lebih cepat, akurasi yang lebih baik dari waktu ke waktu, dan jaminan yang lebih kuat bahwa mereka memberikan nilai bisnis nyata.

Bagaimana AWS dapat mendukung kebutuhan MLOps Anda?

Amazon SageMaker adalah layanan terkelola penuh yang dapat Anda gunakan untuk menyiapkan data dan membangun, melatih, serta melakukan deployment model ML. Amazon SageMaker cocok untuk kasus penggunaan apa pun dengan infrastruktur, alat, dan alur kerja terkelola penuh.

SageMaker menyediakan alat yang dibuat khusus untuk MLOps guna mengotomatiskan proses di seluruh siklus hidup ML. Menggunakan alat Sagemaker untuk MLOps, Anda dapat dengan cepat mencapai kematangan MLOps level 2 dalam skala besar. 

Berikut adalah fitur utama SageMaker yang dapat Anda gunakan:

  • Gunakan SageMaker Experiments untuk melacak artefak yang berkaitan dengan tugas pelatihan model Anda, seperti parameter, metrik, dan set data.
  • Anda dapat mengonfigurasi SageMaker Pipelines untuk berjalan secara otomatis pada interval reguler atau saat peristiwa tertentu dipicu.
  • Gunakan SageMaker Model Registry untuk melacak versi model. Anda juga dapat melacak metadata mereka, seperti pengelompokan kasus penggunaan, dan garis dasar metrik performa model di repositori pusat. Anda dapat menggunakan informasi ini untuk memilih model terbaik berdasarkan kebutuhan bisnis Anda.

Mulai MLOps di Amazon Web Services (AWS) dengan membuat akun sekarang juga.

Langkah Berikutnya di AWS

Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis.

Daftar 
Mulai membangun di konsol

Mulai membangun di Konsol Manajemen AWS.

Masuk