MLOps: DevOps w świecie uczenia maszynowego

W 2018 roku w kręgach zawodowych oraz na konferencjach tematycznych poświęconych AI pojawiła się koncepcja MLOps, która szybko zadomowiła się w branży i obecnie rozwija się jako niezależny kierunek. W przyszłości MLOps może stać się jednym z najbardziej pożądanych obszarów IT. Co to jest i z czym jest spożywane, rozumiemy pod cięciem.

MLOps: DevOps w świecie uczenia maszynowego

Co to jest MLOps

MLOps (połączenie technologii i procesów uczenia maszynowego oraz podejść do implementacji opracowanych modeli w procesach biznesowych) to nowy sposób współpracy pomiędzy przedstawicielami biznesu, naukowcami, matematykami, specjalistami od uczenia maszynowego oraz inżynierami IT przy tworzeniu systemów sztucznej inteligencji.

Innymi słowy, jest to sposób na przekształcenie metod i technologii uczenia maszynowego w użyteczne narzędzie do rozwiązywania problemów biznesowych. 

Należy zrozumieć, że łańcuch produktywności rozpoczyna się na długo przed opracowaniem modelu. Jej pierwszym krokiem jest zdefiniowanie celu biznesowego, hipotezy o wartości, jaką można wydobyć z danych oraz pomysłu biznesowego na jej zastosowanie. 

Sama koncepcja MLOps powstała jako analogia do koncepcji DevOps w odniesieniu do modeli i technologii uczenia maszynowego. DevOps to podejście do tworzenia oprogramowania, które pozwala na zwiększenie szybkości poszczególnych zmian przy zachowaniu elastyczności i niezawodności przy zastosowaniu szeregu podejść, w tym ciągłego rozwoju, rozdzielenie funkcji na szereg niezależnych mikroserwisów, automatyczne testowanie i wdrażanie poszczególnych zmian, globalne monitorowanie stanu, system szybkiego reagowania na zidentyfikowane awarie itp. 

DevOps zdefiniował cykl życia oprogramowania, a społeczność programistów wpadła na pomysł zastosowania tej samej techniki do dużych zbiorów danych. DataOps jest próbą adaptacji i rozszerzenia metodologii, uwzględniającej specyfikę przechowywania, przesyłania i przetwarzania dużych ilości danych w różnych i wzajemnie oddziałujących na siebie platformach.
  
Wraz z nadejściem pewnej masy krytycznej modeli uczenia maszynowego osadzonych w procesach biznesowych przedsiębiorstw zauważono silne podobieństwo między cyklem życia matematycznych modeli uczenia maszynowego a cyklem życia oprogramowania. Jedyną różnicą jest to, że algorytmy modelowe są tworzone przy użyciu narzędzi i metod uczenia maszynowego. Dlatego w naturalny sposób powstał pomysł zastosowania i adaptacji znanych już podejść do tworzenia oprogramowania dla modeli uczenia maszynowego. Tym samym w cyklu życia modeli uczenia maszynowego można wyróżnić następujące kluczowe etapy:

  • zdefiniowanie pomysłu na biznes;
  • szkolenie modelowe;
  • testowanie i implementacja modelu w procesie biznesowym;
  • działanie modelu.

Gdy w trakcie eksploatacji zajdzie konieczność zmiany lub przeszkolenia modelu na nowych danych, cykl rozpoczyna się od nowa – model jest finalizowany, testowany i wdrażana nowa wersja.

Wycofać się. Dlaczego reedukować, a nie reedukować? Termin „przetrenowanie modelu” ma podwójną interpretację: wśród specjalistów oznacza defekt w modelu, gdy model dobrze przewiduje, faktycznie powtarza przewidywany parametr na zbiorze uczącym, ale działa znacznie gorzej na zewnętrznym zbiorze danych. Oczywiście taki model jest wadą, ponieważ ta wada nie pozwala na jego zastosowanie.

W tym cyklu życia logiczne wydaje się wykorzystanie narzędzi DevOps: zautomatyzowane testowanie, wdrażanie i monitorowanie, rejestracja kalkulacji modelu jako osobne mikroserwisy. Istnieje jednak szereg funkcji, które uniemożliwiają bezpośrednie korzystanie z tych narzędzi bez dodatkowego wiązania ML.

MLOps: DevOps w świecie uczenia maszynowego

Jak sprawić, by modele działały i zarabiały

Jako przykład, w którym zademonstrujemy zastosowanie podejścia MLOps, podejmiemy klasyczne już zadanie zrobotyzowania czatu wsparcia dla produktu bankowego (lub dowolnego innego). Typowy proces biznesowy obsługi czatu wygląda następująco: klient zadaje pytanie na czacie i otrzymuje odpowiedź od specjalisty w predefiniowanym drzewie dialogowym. Zadanie automatyzacji takiego czatu jest zwykle rozwiązywane przy użyciu fachowo zdefiniowanych zestawów reguł, których opracowanie i utrzymanie jest bardzo pracochłonne. Wydajność takiej automatyzacji, w zależności od stopnia skomplikowania zadania, może wynosić 20-30%. Naturalnie pojawia się pomysł, że bardziej opłacalne jest wdrożenie modułu sztucznej inteligencji – modelu opracowanego z wykorzystaniem uczenia maszynowego, który:

  • w stanie przetworzyć więcej żądań bez udziału operatora (w zależności od tematu, w niektórych przypadkach wydajność może sięgać 70-80%);
  • lepiej dopasowuje się do niestandardowych sformułowań w dialogu – potrafi określić intencje, rzeczywiste pragnienie użytkownika wobec niejasno sformułowanej prośby;
  • potrafi określić, kiedy odpowiedź modelu jest adekwatna, a kiedy pojawiają się wątpliwości co do „świadomości” tej odpowiedzi i konieczne jest zadanie dodatkowego pytania wyjaśniającego lub przełączenie się na operatora;
  • może być przeszkolony automatycznie (zamiast grupy programistów stale dostosowujących i poprawiających scenariusze odpowiedzi, model jest przeszkolony przez Data Scientist przy użyciu odpowiednich bibliotek uczenia maszynowego). 

MLOps: DevOps w świecie uczenia maszynowego

Jak sprawić, by tak zaawansowany model działał? 

Tak jak przy rozwiązywaniu każdego innego zadania, przed opracowaniem takiego modułu konieczne jest zdefiniowanie procesu biznesowego i formalne opisanie konkretnego zadania, które rozwiążemy metodą uczenia maszynowego. W tym momencie rozpoczyna się proces operacjonalizacji, oznaczany skrótem Ops. 

Kolejnym krokiem jest sprawdzenie dostępności i wystarczalności danych przez analityka danych we współpracy z inżynierem danych oraz hipotezę biznesową dotyczącą wykonalności pomysłu biznesowego, opracowanie prototypu modelu i sprawdzenie jego faktycznej skuteczności. Dopiero po zatwierdzeniu przez biznes można rozpocząć przejście od opracowania modelu do osadzania go w systemach realizujących określony proces biznesowy. Planowanie wdrożenia end-to-end, głębokie zrozumienie na każdym etapie, w jaki sposób model będzie wykorzystywany i jaki efekt ekonomiczny przyniesie, to fundamentalny moment w procesach wprowadzania podejść MLOps do krajobrazu technologicznego firmy.

Wraz z rozwojem technologii AI liczba i różnorodność zadań, które można rozwiązać za pomocą uczenia maszynowego, rośnie lawinowo. Każdy taki proces biznesowy ratuje firmę poprzez automatyzację pracy pracowników stanowisk masowych (call center, sprawdzanie i sortowanie dokumentów itp.), poszerza bazę klientów o nowe atrakcyjne i wygodne funkcje, oszczędza pieniądze dzięki optymalnemu ich wykorzystanie i redystrybucja zasobów i wiele więcej. Ostatecznie każdy proces nastawiony jest na tworzenie wartości, a co za tym idzie musi przynieść określony efekt ekonomiczny. Tutaj bardzo ważne jest jasne wyartykułowanie pomysłu na biznes i obliczenie oczekiwanego zysku z wdrożenia modelu w całościowej strukturze tworzenia wartości przedsiębiorstwa. Są sytuacje, w których wdrożenie modelu nie uzasadnia się, a czas spędzony przez specjalistów machine learning jest znacznie droższy niż miejsce pracy operatora wykonującego to zadanie. Dlatego konieczne jest podjęcie próby identyfikacji takich przypadków na wczesnych etapach tworzenia systemów AI.

W konsekwencji modele zaczynają przynosić zysk dopiero wtedy, gdy w procesie MLOps poprawnie sformułowano zadanie biznesowe, ustalono priorytety i sformułowano proces wprowadzania modelu do systemu na wczesnych etapach rozwoju.

Nowy proces – nowe wyzwania

Wyczerpująca odpowiedź na fundamentalne pytanie biznesowe, w jaki sposób modele ML mają zastosowanie do rozwiązywania problemów, ogólna kwestia zaufania do sztucznej inteligencji jest jednym z kluczowych wyzwań w opracowywaniu i wdrażaniu podejść MLOps. Początkowo biznesy sceptycznie podchodzą do wprowadzania uczenia maszynowego do procesów – trudno polegać na modelach w miejscach, w których ludzie zwykle pracowali w przeszłości. Dla biznesu programy wydają się być „czarną skrzynką”, której przydatność odpowiedzi wciąż wymaga udowodnienia. Ponadto w bankowości, w biznesie operatorów telekomunikacyjnych i innych obowiązują surowe wymagania państwowych organów regulacyjnych. Audytowi podlegają wszystkie systemy i algorytmy, które są wdrażane w procesach bankowych. Aby rozwiązać ten problem, aby udowodnić biznesowi i regulatorom ważność i poprawność odpowiedzi sztucznej inteligencji, wraz z modelem wprowadzane są narzędzia monitorujące. Ponadto istnieje niezależna procedura walidacji, obowiązkowa dla modeli regulacyjnych, która spełnia wymagania Banku Centralnego. Niezależna grupa ekspertów dokonuje audytu wyników uzyskanych przez model z uwzględnieniem danych wejściowych.

Drugim wyzwaniem jest ocena i uwzględnienie ryzyka modelu podczas wdrażania modelu uczenia maszynowego. Nawet jeśli dana osoba nie może z całkowitą pewnością odpowiedzieć na pytanie, czy ta sukienka była biała czy niebieska, to sztuczna inteligencja też ma prawo popełnić błąd. Warto również wziąć pod uwagę, że dane mogą zmieniać się w czasie, a modele muszą być ponownie uczone, aby uzyskać wystarczająco dokładne wyniki. Aby proces biznesowy nie ucierpiał, konieczne jest zarządzanie ryzykiem modelu i monitorowanie wydajności modelu, regularne przeszkolenie go na nowych danych.

MLOps: DevOps w świecie uczenia maszynowego

Ale po pierwszym etapie nieufności zaczyna pojawiać się efekt odwrotny. Im więcej modeli zostaje z sukcesem wprowadzonych do procesów, tym większy apetyt na wykorzystanie sztucznej inteligencji ma biznes – pojawiają się coraz to nowe zadania, które można rozwiązywać metodami uczenia maszynowego. Każde zadanie uruchamia cały proces, który wymaga określonych kompetencji:

  • inżynierowie danych przygotowują i przetwarzają dane;
  • analitycy danych stosują narzędzia uczenia maszynowego i opracowują model;
  • IT wdraża model do systemu;
  • Inżynier ML określa, jak poprawnie zintegrować ten model z procesem, jakich narzędzi informatycznych użyć w zależności od wymagań dotyczących sposobu zastosowania modelu, biorąc pod uwagę przepływ żądań, czas odpowiedzi itp. 
  • Architekt ML projektuje, w jaki sposób oprogramowanie może zostać fizycznie zaimplementowane w systemie przemysłowym.

Cały cykl wymaga dużej liczby wysoko wykwalifikowanych specjalistów. W pewnym momencie rozwoju i stopnia wnikania modeli ML w procesy biznesowe okazuje się, że liniowe skalowanie liczby specjalistów proporcjonalnie do wzrostu liczby zadań staje się kosztowne i nieefektywne. Dlatego pojawia się pytanie o automatyzację procesu MLOps – zdefiniowanie kilku standardowych klas problemów uczenia maszynowego, opracowanie typowych potoków przetwarzania danych i modeli przekwalifikowania. W idealnym obrazie do rozwiązywania takich problemów potrzebni są profesjonaliści równie dobrze zorientowani w kompetencjach na styku BigData, Data Science, DevOps i IT. Dlatego największym problemem w branży Data Science i największym wyzwaniem w organizacji procesów MLOps jest brak takich kompetencji na istniejącym rynku szkoleniowym. Specjaliści spełniający takie wymagania są obecnie rzadkością na rynku pracy i są na wagę złota.

Do pytania o kompetencje

Teoretycznie wszystkie zadania MLOps można rozwiązać za pomocą klasycznych narzędzi DevOps i bez uciekania się do specjalistycznego rozszerzenia modelu do naśladowania. Wtedy, jak zauważyliśmy powyżej, data science powinien być nie tylko matematykiem i analitykiem danych, ale także guru całego potoku – rozwoju architektury, programowania modeli w kilku językach w zależności od architektury, przygotowania data mart i wdrożenia spada na jego barki sama aplikacja. Jednak stworzenie wiązania technologicznego realizowane w procesie end-to-end MLOps pochłania nawet 80% kosztów pracy, co oznacza, że ​​wykwalifikowany matematyk, który jest wysokiej jakości Data Scientist, poświęci tylko 20% czas na jego specjalność. Dlatego istotne staje się zróżnicowanie ról specjalistów realizujących proces wdrażania modeli uczenia maszynowego. 

Stopień szczegółowości podziału ról zależy od wielkości przedsiębiorstwa. Co innego, gdy startup ma jednego specjalistę, pracownika rezerwy energetyków, inżyniera, architekta i DevOps we własnym zakresie. Zupełnie inaczej sprawa wygląda, gdy w dużym przedsiębiorstwie wszystkie procesy tworzenia modeli skupiają się na kilku wysoko postawionych Data Scientistach, a programista lub specjalista od baz danych – bardziej powszechna i tańsza kompetencja na rynku pracy – może przejąć większość rutynowych zadań.

Zatem to, gdzie leży granica w doborze specjalistów do zapewnienia procesu MLOps oraz jak zorganizowany jest proces operacjonalizacji opracowanych modeli, bezpośrednio wpływa na szybkość i jakość opracowywanych modeli, produktywność zespołu oraz panujący w nim mikroklimat.

Co już zrobił nasz zespół

Niedawno rozpoczęliśmy budowę ram kompetencyjnych i procesów MLOps. Ale już teraz nasze projekty dotyczące zarządzania cyklem życia modeli i korzystania z modeli jako usługi są na etapie testów MVP.

Określiliśmy również optymalną strukturę kompetencji dla dużego przedsiębiorstwa oraz strukturę organizacyjną interakcji między wszystkimi uczestnikami procesu. Zorganizowano zwinne zespoły do ​​rozwiązywania problemów dla całego spektrum klientów biznesowych oraz ustanowiono proces interakcji z zespołami projektowymi w celu stworzenia platform i infrastruktury, która jest fundamentem powstającego budynku MLOps.

Pytania na przyszłość

MLOps to rozwijający się obszar, który doświadcza braku kompetencji i nabierze rozpędu w przyszłości. W międzyczasie najlepiej jest opierać się na rozwoju i praktykach DevOps. Głównym celem MLOps jest efektywniejsze wykorzystanie modeli ML do rozwiązywania problemów biznesowych. Rodzi to jednak wiele pytań:

  • Jak skrócić czas uruchamiania modeli w produkcji?
  • Jak zmniejszyć biurokratyczne tarcia między zespołami o różnych kompetencjach i zwiększyć nacisk na współpracę?
  • Jak śledzić modele, zarządzać wersjami i organizować skuteczny monitoring?
  • Jak stworzyć prawdziwie okrężny cykl życia dla nowoczesnego modelu ML?
  • Jak ustandaryzować proces uczenia maszynowego?

Odpowiedzi na te pytania w dużej mierze zadecydują o tym, jak szybko MLOps ujawni swój pełny potencjał.

Źródło: www.habr.com

Dodaj komentarz