MLOps (Machine Learning Operations) to proces tworzenia oprogramowania używany do zarządzania wdrażaniem, monitorowaniem i konserwacją modeli uczenia maszynowego (ML). Łączy procesy związane z rozwojem i operacjami uczenia maszynowego, takie jak inżynieria danych, szkolenie i testowanie modeli, wdrażanie modeli i monitorowanie wydajności modeli.
MLOps to stosunkowo nowa dyscyplina, która łączy w sobie umiejętności inżynierii oprogramowania, inżynierii uczenia maszynowego i DevOps. Zapewnia zespołom ujednoliconą platformę do lepszej współpracy i skutecznego zarządzania cyklem życia modeli uczenia maszynowego. Obejmuje to tworzenie powtarzalnych potoków uczenia maszynowego, automatyzację orkiestracji danych, trenowanie modeli i wdrażanie modeli. Pomaga także usprawnić zarządzanie modelami, aby umożliwić programistom szybką identyfikację odchyleń dokładności modelu i reagowanie na nie dzięki zautomatyzowanemu ponownemu uruchamianiu modelu i jego ponownemu szkoleniu.
MLOps zapewnia platformę, na której badacze danych, inżynierowie oprogramowania i inżynierowie DevOps mogą współpracować przy tworzeniu, wdrażaniu i monitorowaniu aplikacji opartych na technologii ML. Programiści mogą następnie używać MLOps do optymalizacji potoków danych, automatyzacji ponownego uczenia modeli i szybkiego wdrażania nowych wersji modeli do środowiska produkcyjnego. Pomaga to programistom skrócić czas wprowadzania na rynek nowych aplikacji ML oraz ułatwia wdrażanie i utrzymywanie modeli przy jednoczesnej kontroli kosztów.
MLOps idzie również w parze z praktykami ciągłej integracji i ciągłego dostarczania (CI/CD) stosowanymi w celu automatyzacji przepływów pracy związanych z tworzeniem oprogramowania i poprawy ogólnej jakości tworzonego systemu oprogramowania. Dzięki temu iteracje danego modelu mogą być dostarczane szybciej i z większą dokładnością, przy jednoczesnym zapewnieniu gotowości produkcyjnej.
Krótko mówiąc, MLOps to platforma łącząca elementy tradycyjnej inżynierii oprogramowania z uczeniem maszynowym w celu wdrażania modeli i zarządzania nimi w opłacalny i wydajny sposób. Pomaga zespołom zajmującym się analizą danych i programistom szybko wykonywać iteracje modeli, automatyzować wdrażanie i konserwację modeli oraz dostarczać modele do środowiska produkcyjnego z większą dokładnością.