Development2021.10.13 3 min. czytania
Monitorowanie modeli ML z wykorzystaniem MLOps.

W poprzednim artykule przedstawiłem jak MLOps wspomaga proces implementacji systemów ML (ang. machine learning). Ten tekst stanowi rozwinięcie jednej z uprzednio przedstawionych praktyk – monitorowania. W dalszej części postaram się odpowiedzieć na następujące pytania:
- Dlaczego tak znaczące jest monitorowanie produkcyjnych modeli i do jakich konsekwencji może doprowadzić jego brak?
- Czym różni się monitorowanie systemu ML od monitorowania klasycznych aplikacji webowych?
- W jaki sposób ewaluować jakość modelu uczenia maszynowego?
Dlaczego modele ML zawodzą?
Aby zrozumieć istotności monitorowania modeli ML, kluczowym jest odpowiedzenie na pytanie, dlaczego systemy wykorzystujące uczenie maszynowe, stają się mniej wydajne z upływem czasu? Częściowo, wynika to z charakterystyki ich implementacji. Systemy ML, zasadę swojego działania opierają na regułach opracowanych w trakcie procesu uczenia. Jakość ostatecznego modelu będzie więc wysoce uzależniona od danych, na podstawie których został on wytrenowany. W odróżnieniu od klasycznych metod wytwarzania oprogramowania, gdzie logika domenowa z góry wyrażona jest za pomocą zestawu heurystycznych reguł, jakość działania systemów uczenia maszynowego obniża się, wraz z upływem czasu (Rysunek 1).

Znaczna wrażliwość modeli ML na dane sprawia, że produkcyjne rozwiązania wchodzące w interakcje ze światem rzeczywistym degradują, w miarę upływu czasu. Ma to szczególne znaczenie w przypadku systemów, opracowanych na podstawie informacji zmieniających się dynamicznie (np. geopolityka, rynek giełdowy, medycyna). Nie są to oczywiście jedyne czynniki powodujące pogorszenie się wydajności. W przypadku systemów zintegrowanych z zewnętrznymi urządzeniami (np. aparatura medyczna), niekontrolowana wymiana sprzętu może wywołać błędy w działaniu modelu. Niewychwycona awaria prowadzić będzie więc do poważnych konsekwencji – zarówno prawnych, jak i finansowych.

Konsekwencje
Istnieją gałęzie biznesu, w których stałe monitorowanie działania systemu jest wymuszone, z uwagi na specyficzne obligacje prawne. Za przykład mogą posłużyć europejskie wytyczne -definiujące przejrzystość systemów wykorzystujących sztuczną inteligencję. Jednym z wymogów przedstawionym w dokumencie jest wytłumaczalność. Zgodnie z jej definicją proces decyzyjny, przeprowadzany przez model ML i jego techniczne aspekty powinny być zrozumiałe dla człowieka. W praktyce, dla takich gałęzi biznesu jak bankowość czy medycyna, zapisy te sprowadzają się do obligacji dokładnego monitorowania działania systemów, których zadaniem jest na przykład rozpatrywanie wniosków kredytowych lub dopasowanie procesu leczenia do profilu pacjenta. Takie oprogramowanie musi być stale nadzorowane, z uwagi na potrzebę dokładnego uzasadnienia decyzji podjętej przez program. Ponadto modele ML, swoim działaniem, mogą również naruszać kwestie etyczne. Monitoring w takiej sytuacji może pozwolić na zidentyfikowanie awarii, już na jej wczesnym etapie, a w konsekwencji uchronić od poważnych konsekwencji prawnych. O przykładach nieudanych wdrożeń modeli ML można więcej przeczytać tutaj.
Jak monitorować?
Monitorowanie modeli ML nieznacznie różni się od monitorowania klasycznych serwisów internetowych. Niemniej jednak, w przypadku obu tych rozwiązań stosuje się zasady zarządzania wydajnością aplikacji (ang. Application Performance Management, APM), zgodnie z którymi ewaluacji podlegają metryki takie jak:
- czas odpowiedzi serwisu,
- wykorzystanie zasobów sprzętowych (CPU, GPU, RAM, HDD/SSD),
- dostępność (ang. availability) aplikacji,
- wystąpienia błędów.
W przypadku rozwiązań wykorzystujących uczenie maszynowe warto rozszerzyć zakres o następujące elementy:
- analizę dystrybucji cech wejściowych oraz dokonywanych predykcji w celu wykrycia dryfu danych (ang. data drift), czyli zmienności w czasie,
- monitorowanie wartości statystycznych (np. miara F1, precyzja, czułość, średni błąd kwadratowy), aby ponownie wytrenować model na podstawie najnowszych danych, gdy jego rezultaty nie będą spełniać założonych standardów,
- automatyczne alerty w przypadku, kiedy wyniki inferencji wykroczą poza przewidywaną dziedzinę rozważań.
Jak można zauważyć, monitorowanie systemów uczenia maszynowego jest złożonym procesem. Jego proaktywne wykorzystanie może przyczynić się do lepszej kontroli nad jakością dostarczanego rozwiązania oraz ochronić przed niechcianymi konsekwencjami prawnymi.
To już przedostatni artykuł w cyklu tekstów o MLOps. W kolejnej, a zarazem ostatniej publikacji, poruszę temat bezpieczeństwa produkcyjnych modeli uczenia maszynowego. Przybliżę również jakie rodzaje ataków wykorzystywane są w celu kradzieży danych lub nawet celowego pogorszenia jakości produkcyjnego modelu.
Źródła:
- https://gradientflow.com/machine-learning-model-monitoring/
- https://digital-strategy.ec.europa.eu/en/library/ethics-guidelines-trustworthy-ai
- https://www.lexalytics.com/lexablog/stories-ai-failure-avoid-ai-fails-2020
Potrzebujesz więcej informacji?
Skontaktuj się z opiekunem handlowym.

Joanna Bartoszek
Account Manager