Model dojrzałości operacji uczenia maszynowego

Azure Machine Learning

Celem tego modelu dojrzałości jest ułatwienie wyjaśnienia zasad i praktyk dotyczących operacji uczenia maszynowego (MLOps). Model dojrzałości przedstawia ciągłe ulepszanie tworzenia i działania środowiska aplikacji uczenia maszynowego na poziomie produkcyjnym. Można go użyć jako metryki do ustanowienia progresywnych wymagań niezbędnych do mierzenia dojrzałości środowiska produkcyjnego uczenia maszynowego i skojarzonych z nim procesów.

Model zaawansowania

Model dojrzałości MLOps pomaga wyjaśnić zasady i praktyki dotyczące operacji programowania (DevOps) niezbędne do pomyślnego uruchomienia środowiska MLOps. Ma to na celu zidentyfikowanie luk w próbie zaimplementowania takiego środowiska przez istniejącą organizację. Jest to również sposób pokazania, jak zwiększyć możliwości metodyki MLOps w przyrostach, a nie przeciążyć wymaganiami w pełni dojrzałym środowisku. Użyj go jako przewodnika, aby:

  • Szacowanie zakresu pracy dla nowych zakontraktowania.

  • Ustanów realistyczne kryteria sukcesu.

  • Zidentyfikuj możliwą dostawę, którą przekażesz na zakończenie zakontraktowania.

Podobnie jak w przypadku większości modeli dojrzałości model dojrzałości MLOps jakościowo ocenia osoby/kulturę, procesy/struktury i obiekty/technologie. W miarę wzrostu poziomu dojrzałości prawdopodobieństwo zwiększa się, że zdarzenia lub błędy będą prowadzić do poprawy jakości procesów programistycznych i produkcyjnych.

Model dojrzałości MLOps obejmuje pięć poziomów możliwości technicznych:

Poziom opis Najważniejsze informacje Technologia
0 Brak metodyki MLOps
  • Trudno zarządzać cyklem życia pełnego modelu uczenia maszynowego
  • Zespoły są różne i wydania są bolesne
  • Większość systemów istnieje jako "czarne skrzynki", niewiele opinii podczas/po wdrożeniu
  • Ręczne kompilacje i wdrożenia
  • Ręczne testowanie modelu i aplikacji
  • Brak scentralizowanego śledzenia wydajności modelu
  • Trenowanie modelu jest ręczne
1 Metodyka DevOps, ale bez metodyki MLOps
  • Wersje są mniej bolesne niż brak metodyki MLOps, ale polegają na zespole danych dla każdego nowego modelu
  • Nadal ograniczone opinie na temat tego, jak dobrze działa model w środowisku produkcyjnym
  • Trudne do śledzenia/odtwarzania wyników
  • Automatyczne kompilacje
  • Testy automatyczne dla kodu aplikacji
2 Zautomatyzowane trenowanie
  • Środowisko trenowania jest w pełni zarządzane i możliwe do śledzenia
  • Łatwy do odtworzenia modelu
  • Wersje są ręczne, ale niskie tarcie
  • Trenowanie modelu zautomatyzowanego
  • Scentralizowane śledzenie wydajności trenowania modelu
  • Zarządzanie modelem
3 Wdrażanie modelu zautomatyzowanego
  • Wydania są niskie tarcie i automatyczne
  • Pełna możliwość śledzenia z wdrożenia z powrotem do oryginalnych danych
  • Całe środowisko zarządzane: trenowanie > środowiska produkcyjnego testowego >
  • Zintegrowane testowanie A/B wydajności modelu na potrzeby wdrożenia
  • Testy automatyczne dla całego kodu
  • Scentralizowane śledzenie wydajności trenowania modelu
100 Pełne operacje zautomatyzowane MLOps
  • Pełny system zautomatyzowany i łatwo monitorowany
  • Systemy produkcyjne dostarczają informacje na temat ulepszania i, w niektórych przypadkach, automatycznego ulepszania przy użyciu nowych modeli
  • Zbliżanie się do systemu bez przestojów
  • Zautomatyzowane trenowanie i testowanie modelu
  • Pełne, scentralizowane metryki z wdrożonego modelu

Poniższe tabele identyfikują szczegółowe cechy tego poziomu dojrzałości procesów. Model będzie nadal ewoluował.

Poziom 0: brak metodyki MLOps

Osoby Tworzenie modelu Wydanie modelu Integracja aplikacji
  • Analitycy danych: silosowane, a nie w regularnej komunikacji z większym zespołem
  • Inżynierowie danych (jeśli istnieje): silosy, a nie w regularnej komunikacji z większym zespołem
  • Inżynierowie oprogramowania: silosowane, odbierają model zdalnie od innych członków zespołu
  • Dane zebrane ręcznie
  • Obliczenia prawdopodobnie nie są zarządzane
  • Eksperymenty nie są przewidywalnie śledzone
  • Wynik końcowy może być pojedynczym plikiem modelu ręcznie przekazanym z danymi wejściowymi/wyjściowymi
  • Proces ręczny
  • Skrypt oceniania może zostać utworzony ręcznie po eksperymentach, a nie kontrolowany w wersji
  • Wydanie obsługiwane przez samego analityka danych lub inżyniera danych
  • W dużej mierze zależy od wiedzy analityka danych w celu zaimplementowania
  • Wersje ręczne za każdym razem

Poziom 1. Metodyka DevOps nie ma metodyki MLOps

Osoby Tworzenie modelu Wydanie modelu Integracja aplikacji
  • Analitycy danych: silosowane, a nie w regularnej komunikacji z większym zespołem
  • Inżynierowie danych (jeśli istnieje): silosy, a nie w regularnej komunikacji z większym zespołem
  • Inżynierowie oprogramowania: silosowane, odbierają model zdalnie od innych członków zespołu
  • Potok danych automatycznie zbiera dane
  • Środowisko obliczeniowe jest zarządzane lub nie jest zarządzane
  • Eksperymenty nie są przewidywalnie śledzone
  • Wynik końcowy może być pojedynczym plikiem modelu ręcznie przekazanym z danymi wejściowymi/wyjściowymi
  • Proces ręczny
  • Skrypt oceniania może zostać utworzony ręcznie po eksperymentach, prawdopodobnie kontrolowana wersja
  • Jest przekazywany inżynierom oprogramowania
  • Istnieją podstawowe testy integracji dla modelu
  • W dużej mierze zależy od wiedzy analityka danych w celu zaimplementowania modelu
  • Wersje automatyczne
  • Kod aplikacji zawiera testy jednostkowe

Poziom 2. Zautomatyzowane trenowanie

Osoby Tworzenie modelu Wydanie modelu Integracja aplikacji
  • Analitycy danych: praca bezpośrednio z inżynierami danych w celu przekonwertowania kodu eksperymentowania na powtarzalne skrypty/zadania
  • Inżynierowie danych: praca z analitykami danych
  • Inżynierowie oprogramowania: silosowane, odbierają model zdalnie od innych członków zespołu
  • Potok danych automatycznie zbiera dane
  • Zarządzane zasoby obliczeniowe
  • Śledzone wyniki eksperymentu
  • Zarówno kod trenowania, jak i modele wynikowe są kontrolowane w wersji
  • Wydanie ręczne
  • Skrypt oceniania jest w wersji kontrolowanej za pomocą testów
  • Wydanie zarządzane przez zespół inżynierów oprogramowania
  • Istnieją podstawowe testy integracji dla modelu
  • W dużej mierze zależy od wiedzy analityka danych w celu zaimplementowania modelu
  • Kod aplikacji zawiera testy jednostkowe

Poziom 3. Automatyczne wdrażanie modelu

Osoby Tworzenie modelu Wydanie modelu Integracja aplikacji
  • Analitycy danych: praca bezpośrednio z inżynierami danych w celu przekonwertowania kodu eksperymentowania na powtarzalne skrypty/zadania
  • Inżynierowie danych: praca z analitykami danych i inżynierami oprogramowania w celu zarządzania danymi wejściowymi/wyjściowymi
  • Inżynierowie oprogramowania: praca z inżynierami danych w celu zautomatyzowania integracji modelu z kodem aplikacji
  • Potok danych automatycznie zbiera dane
  • Zarządzane zasoby obliczeniowe
  • Śledzone wyniki eksperymentu
  • Zarówno kod trenowania, jak i modele wynikowe są kontrolowane w wersji
  • Automatyczne wydawanie
  • Skrypt oceniania jest w wersji kontrolowanej za pomocą testów
  • Wydawanie zarządzane przez potok ciągłego dostarczania (CI/CD)
  • Testy jednostkowe i integracyjne dla każdej wersji modelu
  • Mniej zależny od wiedzy analityka danych w celu zaimplementowania modelu
  • Kod aplikacji ma testy jednostkowe/integracyjne

Poziom 4. Pełne ponowne trenowanie zautomatyzowane metodyki MLOps

Osoby Tworzenie modelu Wydanie modelu Integracja aplikacji
  • Analitycy danych: praca bezpośrednio z inżynierami danych w celu przekonwertowania kodu eksperymentowania na powtarzalne skrypty/zadania. Praca z inżynierami oprogramowania w celu identyfikowania znaczników dla inżynierów danych
  • Inżynierowie danych: praca z analitykami danych i inżynierami oprogramowania w celu zarządzania danymi wejściowymi/wyjściowymi
  • Inżynierowie oprogramowania: praca z inżynierami danych w celu zautomatyzowania integracji modelu z kodem aplikacji. Implementowanie zbierania metryk po wdrożeniu
  • Potok danych automatycznie zbiera dane
  • Ponowne trenowanie wyzwalane automatycznie na podstawie metryk produkcyjnych
  • Zarządzane zasoby obliczeniowe
  • Śledzone wyniki eksperymentu
  • Zarówno kod trenowania, jak i modele wynikowe są kontrolowane w wersji
  • Automatyczne zwalnianie
  • Skrypt oceniania jest kontrolowany przy użyciu testów
  • Wydanie zarządzane przez ciągłą integrację i potok ciągłej integracji/ciągłego wdrażania
  • Testy jednostkowe i integracyjne dla każdej wersji modelu
  • Mniej zależny od wiedzy analityka danych w celu zaimplementowania modelu
  • Kod aplikacji ma testy jednostkowe/integracyjne

Następne kroki