Developing ML solutions
Fundamental Concepts of MLOps
MLOps menerapkan praktik DevOps pada machine learning. MLOps mengoperasionalkan seluruh lifecycle agar model dikembangkan, di-deploy, dimonitor, dan di-retrain secara sistematis dan berulang. MLOps menggabungkan orang, proses, dan teknologi.
ML butuh operasional sendiri karena performa model menurun saat datanya berubah. Model yang bagus saat diluncurkan bisa memburuk dalam hitungan minggu atau bulan.
Tujuan
- Mempercepat lifecycle lewat otomasi
- Meningkatkan kualitas lewat testing dan monitoring
- Mendorong kolaborasi antara data scientist, data engineer, software engineer, dan tim IT operations
- Menyediakan transparency, explainability, auditability, dan keamanan lewat model governance
Prinsip utama
- Version control untuk data, kode, dan model, demi reproducibility dan rollback
- Otomasi ingestion, preprocessing, training, validasi, dan deployment
- CI/CD untuk ML:
- Continuous integration: menguji kode, data, dan model
- Continuous delivery: men-deploy model baru secara otomatis
- Continuous training: me-retrain model secara otomatis
- Continuous monitoring: memantau data, model, dan business metrics
- Model governance: dokumentasi, review dan approval sebelum deployment (mengecek fairness dan bias), perlindungan data, dan compliance
Setup ML di production biasanya punya pipeline model build (training) dan pipeline deployment yang terpisah. Pipeline build berjalan misalnya saat ada data baru.
Layanan AWS untuk MLOps
- Menyiapkan data: SageMaker Data Wrangler (low-code) atau SageMaker Processing API
- Menyimpan feature: SageMaker Feature Store
- Training dan tuning: SageMaker training dan automatic model tuning
- Melacak eksperimen: SageMaker Experiments
- Mendaftarkan model: SageMaker Model Registry
- Orkestrasi: SageMaker Pipelines
- Monitoring: SageMaker Model Monitor