Development2021.07.27 2 min. czytania
Zagrożenia w projektach ML-owych. Czy MLOps jest rozwiązaniem?

Około 87% projektów Data Science nigdy nie trafia na środowisko produkcyjne. Takie dane w 2019 roku zostały przedstawione na konferencji „Transform 2019” w San Francisco przedstawiając tym samym problem, którego rozwiązaniem może okazać się MLOps. W poniższym tekście postaram się wyjaśnić, czym właściwie zajmuje się ten enigmatyczny termin zyskujący w ostatnim czasie na popularności. Podam również przykłady jak jego wykorzystanie może przełożyć się na bezpośrednie korzyści w Twoim zespole oraz przybliżę temat problemów i zagrożeń, z jakimi najczęściej spotykają się projekty oparte o ML.
Uczenie maszynowe to z natury skomplikowana domena zajmująca się eksploracją i odkrywaniem nowej wiedzy. Z uwagi na wielopłaszczyznowy proces wytwarzania oprogramowania opartego o ML, budowanie modeli i ich produkcyjne wdrażanie jest zdecydowanie bardziej złożonym zagadnieniem niż wytwarzanie tradycyjnych systemów. Na tym ryzyka jednak się nie kończą.
Zbudowanie modelu oraz jego wdrożenie to nie koniec pracy. Działający produkcyjnie model jest narażony na degradację (źródło), która niewychwycona w odpowiednim momencie, może prowadzić do istotnych strat, a w niektórych branżach nawet do poważnych konsekwencji prawnych. Przykładem takiej sytuacji mogą być zaawansowane systemy medyczne służące do klasyfikacji zdjęć rentgenowskich. Ich nienaganne działanie może być naruszone, chociażby poprzez nieodpowiednio przeprowadzoną wymianę aparatury, której pomiary nie będą zgodne z pierwotną implementacją oprogramowania. Doprowadzenie do takiego stanu, w którym krytyczne oprogramowanie działa niepoprawnie, a jego decyzje są niezgodne z przyjętymi standardami, może prowadzić do poważnych konsekwencji. Dlatego tak ważne jest wychwycenie awarii najwcześniej jak to możliwe.
Czym zajmuje się MLOps?
We wstępie artykułu wspomniałem o pojęciu MLOps. Oficjalnie termin ten określa się jako „rozszerzenie metodologii DevOps o machine Learning oraz Data Science” (źródło). Z perspektywy biznesowej nie jest to nic więcej jak zestaw kompetencji, który łączy ze sobą wspomniane wcześniej obszary, w wyniku czego pozwala na wydajne budowanie i wdrażanie modeli. Czym więc zajmuje się MLOps i dlaczego warto się nim zainteresować?

Rysunek 1 Proces MLOps (źródło)
Główną ideą realizowaną w ramach MLOps jest wsparcie procesu wytwarzania oprogramowania opartego o uczenie maszynowe poprzez implementację dedykowanych narzędzi (np. Kubeflow, mlfow) oraz standaryzację każdego z etapów projektu. Według danych zgromadzonych przez Algorithmia Inc., w 57% przypadków proces budowy oraz wdrożenia modelu trwa ponad jeden miesiąc (źródło). Stąd rosnąca potrzeba na usprawnienia. Wykorzystanie technik jak:
- wersjonowanie danych/parametrów uczenia/modeli,
- testowanie danych/modeli/infrastruktury,
- ciągła integracja, wdrożenie (ang. CI/CD),
- monitorowanie implementacji modelu oraz monitorowanie produkcyjne
prowadzi do zauważalnej, na każdym etapie projektu, redukcji czasu wymaganego na dostarczenie produktu, a co za tym idzie – również kosztów. Począwszy od zbudowania odpowiedniego modelu, a skończywszy na jego produkcyjnym wdrożeniu oraz monitoringu. Dzieje się tak za sprawą automatyzacji powtarzalnych czynności i ogólnej redukcji chaosu do minimum. Optymalizacja całego procesu niesie ze sobą także inne korzyści. Jedną z nich jest bez wątpienia łatwiejsze wdrażanie nowych pracowników w rozpoczęte już projekty. MLOps to jednak nie tylko upraszczanie procesów czy redukcja kosztów, ale również swego rodzaju zabezpieczenie przed zagrożeniami, z jakimi mierzą się projekty oparte o ML. MLOps wzbogaca kulturę pracy o dobre praktyki (np. kontrola jakości kodu, nadzorowanie modelu, konteneryzacja) oraz narzędzia, które umożliwiają zarówno monitorowanie procesu tworzenia, jak i produkcyjną ewaluację modelu, pozwalając tym samym na bezpieczne kontrolowanie stanu wytwarzanego oprogramowania.
Czy to już wszystko?
.
.
.
Nie!
Informacje zawarte w tym artykule to dopiero wierzchołek góry lodowej. Problemy, z jakimi MLOps próbuje się uporać, to bardzo rozległe i złożone zagadnienie. Z tego powodu niniejszy artykuł jest rozpoczęciem cyklu tekstów mających na celu wyjaśnienie, jakie zagrożenia mogą pojawić się w projektach opartych o uczenie maszynowe i jak MLOps jest w stanie im sprostać.
W kolejnych artykułach zajmiemy się następującymi zagadnieniami:
- Integralność w projektach ML-owych oraz kompetencje wymagane do udanego wdrożenia.
- Zarządzanie zmianą i cyklem życia projektu ML-owego – narzędzia oraz dobre praktyki.
- Monitorowanie modeli w środowisku produkcyjnym oraz związane z tym konsekwencje.
- Bezpieczeństwo modeli w środowisku produkcyjnym.
Kolejny artykuł – MLOps kluczem do sukcesu w projektach ML.
Potrzebujesz więcej informacji?
Skontaktuj się z opiekunem handlowym.

Joanna Bartoszek
Account Manager