MLOps
MLOps je automatizovan proces upravljanja, testiranja, deployment-a i monitoring-a ML modela u produkcionom okruženju. Umesto da ML inženjeri samo razvijaju modele u jupyter notbook-ima, trebalo oni trebalo budu na produkciji dostupni korisnicima sa monitoring-om.
Problem koji MLOps rešava: ML model je samo deo sistema. Trebalo: (1) Automatski trenirati model sa novim podacima; (2) Testirati model da li je bolji od staroga; (3) Deployment novog modela bez downtime-a; (4) Monitorovati da li model radi dobro u produkciji; (5) Ako model kaže loše predvidjanje, revirtovati se automatski.
Praktičan primer: Netflix ML tim trenira novi recommendation model sa novim podacima svaki dan. MLOps sistem: (1) Automatski skida nove podatke; (2) Automatski trenira novi model; (3) Automatski testira model na test set-u; (4) Ako je bolji, automatski deploy-uje novo model (obično 5-10% korisnika); (5) Monitoruje kako radi – ako je gore od staroga, revirtovati; (6) Ako sve OK, deploy kompletan na sve korisnike.
Ključni alati za MLOps: (1) Mlflow – tracking experiment-a; (2) Kubernetes – deployment; (3) Prometheus – monitoring; (4) Jenkins – CI/CD pipeline.
Prednosti MLOps: (1) Automatizacija – sve je automatski; (2) Brz development – ML timovi mogu brže iterirati; (3) Kvalitet – testiranje osigurava model je dobar; (4) Skalabilnost – može se skalirati na milije korisnika.
Međutim, MLOps je teško: (1) Kompleksnost – trebalo veće infrastrukture; (2) Znanja – trebalo znanja za DevOps i ML; (3) Troškovi – infrastruktura je skupo.
Za startape: MLOps je obaveza ako trebalo production ML sisteme.
