Czym lub Kim jest MLOps, czyli DevOps dla Machine Learning ?

Czym lub Kim jest MLOps, czyli DevOps dla Machine Learning ?

  • 2021-11-28
  • Maciej Szczerba
Metodologia DevOps jest z nami już ponad 10 lat. Zrewolucjonizowała proces wytwarzania oprogramowania w obliczu masowej adopcji technologii chmurowych. 
Wszyscy dzisiaj wiemy, czym jest DevOps- ścisłą współpracą osób z obszaru utrzymania infrastruktury IT, rozwoju oprogramowania oraz testowania. Infrastruktura dostępna jest w chmurze lub zwirtualizowana. Wdrożenie DevOps znacząco przyspiesza wdrożenia nowych funkcji i radykalnie przyspiesza proces rozwoju oprogramowania.
Machine Learning, czyli algorytmy uczenia maszynowego są prawdopodobnie o wiele większą rewolucją w IT niż rewolucja chmurowa. Algorytmy ML to algorytmy poprawiające się automatycznie w miarę jak przetwarzają coraz większe ilości danych. W ciągu najbliższej dekady algorytmy ML staną się elementem większości aplikacji.
Jednocześnie większość organizacji nie wie, jak efektywnie wdrażać algorytmy ML w swoich projektach. Wg TechCrunch zastosowanie w produkcji modelu ML trwa w dużych organizacjach od 6 do 9 miesięcy. Wg Gartner tylko 53 % modeli ML trafia na produkcję. Wg IBM ta liczba jest dużo wyższy- aż 89 % ! algorytmów ML…gdzieś ginie.
MLOps to termin pierwszy raz zaprezentowany przez Google w 2018 roku. Jest to zbiór zasad i najlepszych praktyk mających na celu maksymalne usprawnienie współpracy i komunikacji pomiedzy specjalistami ML i specjalistami od operacji. Podobnie jak metodologia DevOps.
W proces powstawania algorytmów ML zaangażowane są osoby pracujące na 3 typach stanowisk:
1.Data engineers to osoby zbierające i segregujące dane z wielu źródeł;
2.Data scientists to osoby tworzące modele tworzące modele uczenia maszynowego;
3.Na końcu tak jak w modelu DevOps, MLOps/ML Engineers wdrażają model uczenia maszynowego na produkcję używając metodologii continous integration i continous deployment.
Dlaczego potrzebujemy MLOps ?
Z tego samego powodu, dla którego potrzebowaliśmy ułożenia procesów produkcyjnych w czasie rewolucji industrialnej oraz DevOps i Agile w czasie rewolucji cyfrowej. Tak jak procesy produkcyjne pozwoliły na masową produkcję np. samochodów, DevOps pozwolił na tworzenie o wiele szybszego software’u opartego o chmurę, tak MLOps ma zapewnić tworzenie dużo bardziej precyzyjnych algorytmów ML- szybciej.
Jeden z najważniejszych dzisiaj naukowców i propagatorów ML, Andrew Ng (link do wykładu poniżej) w bardzo ciekawy sposób przedstawia róźnicę pomiędzy tradycyjnym modelem tworzenia algorytmów ML a MLOps.
Machine Learning to bowiem zarówno algorytmy jak i dane. Im lepszej jakości dane, tym lepiej uczą się algorytmy. 
Tradycyjne podejście ML to podejście skoncentrowane na tworzeniu modelu/algorytmu, a w mniejszym stopniu koncentrujące się na jakości danych.
Model MLOps to z kolei model datacentryczny. Zamiast koncentrować się na ulepszaniu algorytmów pracujących na tym samym zestawie danych, koncentruje się na ciągłym, systematycznym ulepszaniu danych. Poprzez ciągłe „testowanie” danych na algorytmie, dochodzimy do tego jak optymalizować oczyszczanie danych. Nie musimy aż tak bardzo koncentrować się na cyzelowaniu algorytmu, gdyż stale testując algorytm na poziomie osoby MLOps, możemy powracać do prac na poziomie osób na stanowisku data engineer i poziomu „czyszczenia danych”. Akcent przenosi się na ciągłą współpracę pomiędzy poziomem „czyszczenia danych” a poziomem tworzenia algorytmu/modelu.
Link do wykładu:

 

DevOps jest dla MLOps metodologią-matką. Tak więc oczywistym jest, że wiele je łączy. Iteracyjne, eksperymentalne podejście na zasadzie „progres nie perfekcja”. Liczy się szybkość i zwinność.
Finalnym produktem MLOps nie jest jednak aplikacja, ale algorytm. Dlatego choć metodologia wywodzi się z DevOps w logiczny sposób będzie się różnić.
Osoba MLOps nie kończy swojego zadania na "deploymencie". Istotną częścią jej roli jest następne monitorowanie trafności algorytmu. Ilość i jakość danych cały czas się zmienia, tak samo więc będzie zmieniała się reakcja algorytmu. Stąd ciągły monitoring jakości algorytmu i jakości danych.
Ciekawe jakie osoby obecne na dzisiejszym rynku najlepiej nadają się na MLOps ?
Jest to na pewno nowa rola na rynku stanowisk IT. Może być to ciekawa alternatywa dla data scientists, ale również ciekawa opcja dla tradycyjnych inżynierów oprogramowania, czy nawet osób, ktore obecnie pracują na stanowiskach DevOps. 
Model MLOps nie jest pozbawiony kontrowersji- przygotowując research do tego postu, natrafiłem na opinie, że MLOps odbiera niezależność data engineers/data scientists i ogranicza ich kreatywność. Co sądzicie na ten temat ?
MLOps jest ciągle podejściem nowym. Czy w Wasych organizacjach dyskutuje się na ten temat ? Czy ktoś może opowiedzieć coś o wdrożeniu MLOps ? Prośba o mejle i komentarze.
Startujemy obecnie z naszym podcastem- bardzo chętnie zaporsimy osobę do rozmowy na temat MLOps !

Wróć do listy

WORLDWIDE RECRUITMENT
SP. Z O.O.

+48 600 911 085

ul. Mikołaja Kopernika 5/lu8, 00-367 Warszawa

Chcesz porozmawiać na temat naszego wsparcia?

Zostaw nam wiadomość

Zazwyczaj odpowiadamy w ciągu kilku godzin. Możesz również umówić się z nami na konkretny termin rozmowy klikając na poniższy link do naszego kalendarza.

Umów się w kalendarzu