Udostępnij za pośrednictwem


Monitorowanie modelu usługi Azure Machine Learning

Monitorowanie modelu to ostatni krok w całym cyklu życia uczenia maszynowego. Ten krok śledzi wydajność modelu w środowisku produkcyjnym i analizuje wydajność zarówno z perspektywy nauki o danych, jak i operacyjnej. W tym artykule dowiesz się więcej o monitorowaniu modeli w usłudze Azure Machine Learning, sygnałach i metrykach, które można monitorować i zalecanych rozwiązaniach dotyczących monitorowania modeli.

W przeciwieństwie do tradycyjnych systemów oprogramowania zachowanie systemu uczenia maszynowego nie zależy tylko od reguł określonych w kodzie, ale także uczy się na podstawie danych. Zmiany dystrybucji danych, niesymetryczność obsługi szkoleń, problemy z jakością danych, zmiany w środowiskach i zmiany zachowania konsumentów mogą spowodować, że model stanie się nieaktualny.

Gdy model staje się nieaktualny, jego wydajność może obniżyć się do tego stopnia, że nie dodaje wartości biznesowej lub zaczyna powodować poważne problemy ze zgodnością w środowiskach o wysokim poziomie regulacji. Dlatego ważne jest monitorowanie wydajności modelu.

Jak działa monitorowanie modelu usługi Azure Machine Learning

Aby zaimplementować monitorowanie, usługa Azure Machine Learning uzyskuje sygnały monitorowania, wykonując obliczenia statystyczne na strumieniowych danych wnioskowania produkcyjnego i danych referencyjnych. Dane wnioskowania produkcyjnego odnoszą się do danych wejściowych i wyjściowych modelu zebranych w środowisku produkcyjnym. Dane referencyjne mogą być danymi historycznymi trenowania, walidacji lub danych podstawowych.

Ważne

Monitorowanie modelu usługi Azure Machine Learning obsługuje tylko uwierzytelnianie oparte na poświadczeniach, takie jak token sygnatury dostępu współdzielonego (SAS) w celu uzyskania dostępu do danych zawartych w magazynach danych. Aby dowiedzieć się więcej na temat magazynów danych i trybów uwierzytelniania, zobacz Administrowanie danymi.

Każdy sygnał monitorowania ma co najmniej jedną metrykę. Możesz ustawić progi dla tych metryk, aby wyzwalać alerty dotyczące anomalii modelu lub danych za pośrednictwem usługi Azure Machine Learning lub Azure Event Grid. Po otrzymaniu alertów możesz użyć usługi Azure Machine Learning Studio do analizowania lub rozwiązywania problemów z sygnałami monitorowania w celu ciągłego ulepszania jakości modelu.

Usługa Azure Machine Learning używa następującego procesu do obsługi wbudowanego sygnału monitorowania, takiego jak dryf danych, dla modelu w środowisku produkcyjnym:

  • Najpierw usługa Azure Machine Learning oblicza statystyczny rozkład wartości funkcji w danych treningowych. Ta dystrybucja jest rozkładem bazowym dla tej funkcji.

  • Następnie usługa Azure Machine Learning oblicza statystyczny rozkład najnowszych wartości funkcji zarejestrowanych w środowisku produkcyjnym.

  • Usługa Azure Machine Learning wykonuje następnie test statystyczny lub oblicza wynik odległości w celu porównania rozkładu najnowszych wartości funkcji w środowisku produkcyjnym z rozkładem bazowym. Jeśli statystyka testowa lub ocena odległości między dwoma rozkładami przekroczy próg określony przez użytkownika, usługa Azure Machine Learning zidentyfikuje anomalię i powiadomi użytkownika.

Konfigurowanie i używanie monitorowania modelu

Aby użyć monitorowania modelu w usłudze Azure Machine Learning:

Najpierw włącz zbieranie danych wnioskowania produkcyjnego.

  • Jeśli wdrożysz model w punkcie końcowym online usługi Azure Machine Learning, możesz włączyć zbieranie danych wnioskowania produkcyjnego przy użyciu zbierania danych modelu usługi Azure Machine Learning.
  • Jeśli wdrażasz model poza usługą Azure Machine Learning lub w punkcie końcowym wsadowym usługi Azure Machine Learning, odpowiadasz za zbieranie danych wnioskowania produkcyjnego, których można następnie użyć do monitorowania modelu usługi Azure Machine Learning.

Następnie skonfiguruj monitorowanie modelu. Do łatwego konfigurowania monitorowania modelu można użyć zestawu AZURE Machine Learning SDK/interfejsu wiersza polecenia 2.0 lub interfejsu użytkownika programu Studio. Podczas instalacji można określić preferowane sygnały monitorowania i dostosować metryki i progi dla każdego sygnału.

Na koniec wyświetl i przeanalizuj wyniki monitorowania modelu. Po skonfigurowaniu monitorowania modelu usługa Azure Machine Learning uruchamia zadanie monitorowania zgodnie z określonym harmonogramem. Każdy przebieg oblicza i ocenia metryki dla wszystkich wybranych sygnałów monitorowania i wyzwala powiadomienia o alertach po przekroczeniu określonego progu. Możesz skorzystać z linku w powiadomieniu o alercie, aby wyświetlić i przeanalizować wyniki monitorowania w obszarze roboczym usługi Azure Machine Learning.

Możliwości monitorowania modelu

Usługa Azure Machine Learning oferuje następujące możliwości monitorowania ciągłego modelu:

  • Wbudowane sygnały monitorowania danych tabelarycznych, w tym dryf danych, dryf przewidywania, jakość danych, dryf autorstwa funkcji i wydajność modelu.
  • Gotowe monitorowanie modelu dla punktów końcowych online. W przypadku wdrożenia modelu w środowisku produkcyjnym w punkcie końcowym online usługa Azure Machine Learning automatycznie zbiera dane wnioskowania produkcyjnego i używa go do ciągłego monitorowania.
  • Wiele sygnałów monitorowania w jednej konfiguracji monitorowania. Dla każdego sygnału monitorowania możesz wybrać preferowane metryki i próg alertu.
  • Wybór danych referencyjnych do porównania. W przypadku sygnałów monitorowania można ustawić dane referencyjne przy użyciu danych treningowych lub ostatnich danych produkcyjnych.
  • Najważniejsze N funkcji do monitorowania dryfu danych lub jakości danych. Jeśli używasz danych treningowych jako danych referencyjnych, możesz zdefiniować dryf danych lub sygnały dotyczące jakości danych warstwowe nad znaczeniem funkcji.
  • Możliwość definiowania niestandardowych sygnałów monitorowania. Jeśli wbudowane sygnały monitorowania nie są odpowiednie dla danego scenariusza biznesowego, możesz zdefiniować własny sygnał monitorowania za pomocą niestandardowego składnika sygnału monitorowania.
  • Elastyczność korzystania z danych wnioskowania produkcyjnego z dowolnego źródła. Jeśli wdrażasz modele poza usługą Azure Machine Learning lub wdrażasz modele w punktach końcowych wsadowych, nadal możesz zbierać dane wnioskowania produkcyjnego do użycia w ramach monitorowania modelu usługi Azure Machine Learning.

Najlepsze rozwiązania dotyczące monitorowania modelu

Każdy model uczenia maszynowego i jego przypadki użycia są unikatowe. W związku z tym monitorowanie modelu jest unikatowe dla każdej sytuacji. Poniższa lista zawiera opis zalecanych najlepszych rozwiązań dotyczących monitorowania modelu.

  • Rozpocznij monitorowanie modelu natychmiast po wdrożeniu modelu w środowisku produkcyjnym.
  • Skontaktuj się z analitykami danych, którzy znają model, aby skonfigurować monitorowanie. Analitycy danych, którzy mają wgląd w model i jego przypadki użycia, mogą zalecić monitorowanie sygnałów i metryk oraz ustawić odpowiednie progi alertów dla każdej metryki, aby uniknąć zmęczenia alertów.
  • Uwzględnij wiele sygnałów monitorowania w konfiguracji. Dzięki wielu sygnałom monitorowania można uzyskać zarówno szerokie, jak i szczegółowe widoki monitorowania. Na przykład można połączyć dryf danych i sygnały dryfu autorstwa funkcji, aby uzyskać wczesne ostrzeżenia dotyczące problemów z wydajnością modelu.
  • Użyj odpowiednich danych referencyjnych jako punktu odniesienia porównania. W przypadku danych referencyjnych używanych jako punkt odniesienia porównania można użyć ostatnich danych produkcyjnych lub danych historycznych, takich jak dane treningowe lub weryfikacyjne. Aby uzyskać bardziej znaczące porównanie, użyj danych treningowych jako punktu odniesienia porównania dla dryfu danych i jakości danych. Użyj danych walidacji jako punktu odniesienia porównania dla dryfu przewidywania.
  • Określ częstotliwość monitorowania na podstawie wzrostu danych produkcyjnych w czasie. Jeśli na przykład model produkcyjny ma duży dzienny ruch, a codzienne gromadzenie danych jest wystarczające, ustaw częstotliwość monitorowania na codziennie. W przeciwnym razie rozważ częstotliwość monitorowania tygodniowego lub miesięcznego na podstawie wzrostu danych produkcyjnych w czasie.
  • Monitorowanie najważniejszych N funkcji lub podzestawu funkcji. Jeśli używasz danych treningowych jako punktu odniesienia porównania, możesz łatwo skonfigurować monitorowanie dryfu danych lub monitorowanie jakości danych dla najważniejszych N ważnych funkcji. W przypadku modeli, które mają dużą liczbę funkcji, rozważ monitorowanie podzestawu tych funkcji w celu zmniejszenia kosztów obliczeń i monitorowania szumu.
  • Użyj sygnału wydajności modelu, gdy masz dostęp do danych podstawowych. Jeśli masz dostęp do danych podstawowych prawdy, nazywanych również wartościami rzeczywistymi w oparciu o aplikację uczenia maszynowego, użyj sygnału wydajności modelu, aby porównać dane podstawowe prawdy z danymi wyjściowymi modelu. To porównanie zapewnia obiektywny widok wydajności modelu w środowisku produkcyjnym.

Rozmiar i przesunięcie okna odnośnika

Rozmiar okna wyszukiwania to czas trwania w formacie ISO 8601 dla okna danych produkcyjnych lub referencyjnych. Przesunięcie okna wyszukiwania to czas trwania przesunięcia końca okna danych od daty uruchomienia monitorowania.

Na przykład model w środowisku produkcyjnym ma monitor ustawiony na uruchomienie 31 stycznia o 15:15 czasu UTC. Rozmiar okna wyszukiwania danych produkcyjnych równy P7D lub siedem dni, a przesunięcie okna P0D wyszukiwania danych o wartości lub zero dni oznacza, że monitor używa danych produkcyjnych od 24 stycznia o godzinie 15:15 UTC do 31 stycznia o 15:15 czasu UTC, czasu uruchomienia monitora.

W przypadku danych referencyjnych, jeśli ustawisz przesunięcie P7D okna wyszukiwania na lub siedem dni, okno danych referencyjnych kończy się bezpośrednio przed uruchomieniem okna danych produkcyjnych, aby nie nakładało się. Następnie możesz ustawić rozmiar okna wyszukiwania wstecznego danych referencyjnych na tak duży, jak chcesz.

Jeśli na przykład ustawisz rozmiar okna wyszukiwania danych referencyjnych na P24D lub 24 dni, okno danych referencyjnych zawiera dane od 1 stycznia o 13:15 czasu UTC do 24 stycznia o 15:15 czasu UTC. Na poniższym diagramie przedstawiono ten przykład.

Diagram przedstawiający rozmiar okna wyszukiwania i przesunięcie dla danych referencyjnych i produkcyjnych.

W niektórych przypadkach może być przydatne ustawienie przesunięcia okna wyszukiwania dla danych produkcyjnych na liczbę większą niż zero dni. Jeśli na przykład monitor ma być uruchamiany co tydzień o godzinie 15:15 czasu UTC, ale nie chcesz używać danych z weekendu w przebiegu monitorowania, możesz użyć rozmiaru P5D okna wyszukiwania lub pięciu dni oraz przesunięcia P2D okna wyszukiwania lub dwóch dni. Okno danych rozpocznie się w poprzedni poniedziałek o 15:15 czasu UTC i kończy się w piątek o godzinie 15:15 czasu UTC.

W praktyce należy upewnić się, że okno danych referencyjnych i okno danych produkcyjnych nie nakładają się na siebie. Jak pokazano na poniższej ilustracji, możesz upewnić się, że przesunięcie P10D okna wyszukiwania danych referencyjnych lub 10 dni w tym przykładzie jest większe lub równe sumie rozmiaru okna wyszukiwania danych produkcyjnych i przesunięcia okna odnośnika, siedem dni w tym przykładzie.

Diagram przedstawiający niewłasne dane referencyjne i produkcyjne okna danych.

Dzięki monitorowaniu modelu usługi Azure Machine Learning można użyć inteligentnych wartości domyślnych dla rozmiaru okna wyszukiwania i przesunięcia okna wyszukiwania lub dostosować je do własnych potrzeb. Obsługiwane są okna stopniowe i stałe okna.

Dostosowywanie rozmiaru okna odnośnika

Masz elastyczność wybierania rozmiaru okna wyszukiwania zarówno dla danych produkcyjnych, jak i danych referencyjnych.

  • Domyślnie rozmiar okna wyszukiwania dla danych produkcyjnych to częstotliwość monitorowania. Wszystkie dane zebrane w okresie monitorowania przed uruchomieniem zadania monitorowania zostaną uwzględnione w oknie wyszukiwania. Za pomocą production_data.data_window.lookback_window_size właściwości można dostosować okno danych rolowych dla danych produkcyjnych.

  • Domyślnie okno wyszukiwania danych referencyjnych jest pełnym zestawem danych. Za pomocą reference_data.data_window.lookback_window_size właściwości można dostosować rozmiar okna odnośnika odwołania.

Aby określić stałe okno danych dla danych referencyjnych, użyj właściwości reference_data.data_window.window_start_date i reference_data.data_window.window_end_date.

Dostosowywanie przesunięcia okna odnośnika

Masz elastyczność wybierania przesunięcia okna wyszukiwania dla okna danych zarówno dla danych produkcyjnych, jak i danych referencyjnych. Przesunięcie można użyć do szczegółowej kontroli nad danymi używanymi przez monitor. Przesunięcie dotyczy tylko okien danych kroczenia.

  • Domyślnie przesunięcie danych produkcyjnych wynosi P0D lub zero dni. To przesunięcie można zmodyfikować za production_data.data_window.lookback_window_offset pomocą właściwości .

  • Domyślnie przesunięcie danych referencyjnych to dwa razy production_data.data_window.lookback_window_sizewięcej niż . To ustawienie zapewnia wystarczającą ilość danych referencyjnych dla statystycznie znaczących wyników monitorowania. To przesunięcie można zmodyfikować za reference_data.data_window.lookback_window_offset pomocą właściwości .

Monitorowanie sygnałów i metryk

Monitorowanie modelu usługi Azure Machine Learning obsługuje następujące sygnały i metryki monitorowania.

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Sygnał monitorowania opis Metryki Zadania modelu lub obsługiwany format danych Dane produkcyjne Dane referencyjne
Dryf danych Śledzi zmiany w dystrybucji danych wejściowych modelu, porównując rozkład z danymi treningowymi modelu lub ostatnimi danymi produkcyjnymi. Jensen-Shannon Distance, Wskaźnik stabilności populacji, Znormalizowana odległość Wassersteina, dwu próbka Kolmogorov-Smirnov Test, Chi-Squared Test Pearsona Klasyfikacja (dane tabelaryczne), regresja (dane tabelaryczne) Dane produkcyjne: dane wejściowe modelu Ostatnie dane produkcyjne lub dane szkoleniowe
Dryf przewidywania Śledzi zmiany w dystrybucji przewidywanych danych wyjściowych modelu, porównując rozkład z danymi walidacji, oznaczonymi etykietami danych testowych lub najnowszymi danymi produkcyjnymi. Jensen-Shannon Distance, Population Stability Index, Normalized Wasserstein Distance, Chebyszew Distance, Two-Sample Kolmogorov-Smirnov Test, Chi-Squared Test Pearsona Klasyfikacja (dane tabelaryczne), regresja (dane tabelaryczne) Dane produkcyjne: dane wyjściowe modelu Ostatnie dane produkcyjne lub dane weryfikacji
Jakość danych Śledzi integralność danych wejściowych modelu, porównując je z danymi treningowymi modelu lub najnowszymi danymi produkcyjnymi. Kontrole jakości danych obejmują sprawdzanie wartości null, niezgodności typów lub wartości poza granicami. Szybkość wartości null, współczynnik błędów typu danych, szybkość braku granic Klasyfikacja (dane tabelaryczne), regresja (dane tabelaryczne) Dane produkcyjne: dane wejściowe modelu Ostatnie dane produkcyjne lub dane szkoleniowe
Dryf autorstwa funkcji (wersja zapoznawcza) Na podstawie udziału funkcji w przewidywaniach, znanej również jako znaczenie cech. Funkcja dryfu autorstwa śledzi znaczenie funkcji podczas produkcji, porównując ją z ważnością cech podczas trenowania. Znormalizowany zysk skumulowany z rabatem Klasyfikacja (dane tabelaryczne), regresja (dane tabelaryczne) Dane produkcyjne: dane wejściowe i wyjściowe modelu Dane szkoleniowe (wymagane)
Wydajność modelu: klasyfikacja (wersja zapoznawcza) Śledzi obiektywną wydajność danych wyjściowych modelu w środowisku produkcyjnym, porównując je z zebranymi danymi podstawowymi. Dokładność, precyzja i kompletność Klasyfikacja (dane tabelaryczne) Dane produkcyjne: dane wyjściowe modelu Podstawowe dane prawdy (wymagane)
Wydajność modelu: regresja (wersja zapoznawcza) Śledzi obiektywną wydajność danych wyjściowych modelu w środowisku produkcyjnym, porównując je z zebranymi danymi podstawowymi. Błąd bezwzględny średniej (MAE), błąd średniokwadratowy (MSE), błąd średniokwadratowy (RMSE) Regresja (dane tabelaryczne) Dane produkcyjne: dane wyjściowe modelu Podstawowe dane prawdy (wymagane)
Generowanie sztucznej inteligencji: bezpieczeństwo i jakość generowania (wersja zapoznawcza) Ocenia generowanie aplikacji sztucznej inteligencji pod kątem bezpieczeństwa i jakości przy użyciu metryk wspomaganych przez GPT. Uziemienie, istotność, płynność, podobieństwo, spójność Pytania i odpowiedzi Szablon monitu, uzupełniania, kontekstu i adnotacji Nie dotyczy

Metryki jakości danych

Sygnał monitorowania jakości danych śledzi integralność danych wejściowych modelu, obliczając następujące trzy metryki:

  • Współczynnik wartości null
  • Szybkość błędów typu danych
  • Szybkość braku granic

Monitorowanie modelu usługi Azure Machine Learning obsługuje maksymalnie 0,00001 precyzji dla obliczeń współczynnika wartości null, współczynnika błędów typu danych i współczynnika błędów poza granicami.

Współczynnik wartości null

Współczynnik wartości null to szybkość wartości null w danych wejściowych modelu dla każdej funkcji. Jeśli na przykład okno monitorowania danych produkcyjnych zawiera 100 wierszy, a wartość temperature funkcji ma wartość null dla 10 z tych wierszy, wartość null wynosi temperature 10%.

Usługa Azure Machine Learning obsługuje obliczanie współczynnika wartości null dla wszystkich typów danych funkcji.

Szybkość błędów typu danych

Podczas każdego przebiegu monitorowania monitorowanie modelu usługi Azure Machine Learning wywnioskuje typ danych dla każdej funkcji z danych referencyjnych. Współczynnik błędów typu danych to szybkość różnic typu danych między bieżącym oknem danych produkcyjnych a danymi referencyjnymi.

Jeśli na przykład typ danych funkcji temperature zostanie wywnioskowany IntegerType z danych referencyjnych, ale w oknie danych produkcyjnych 10 na 100 wartości dla temperature funkcji nie IntegerType są ciągami, współczynnik błędów typu danych wynosi temperature 10%.

Usługa Azure Machine Learning obsługuje obliczanie współczynnika błędów typu danych dla następujących typów danych dostępnych w programie PySpark: ShortType, BooleanTypeStringTypeTimestampTypeDoubleTypeBinaryTypeFloatTypeByteTypeIntegerType, LongType, i .DateType Jeśli typ danych funkcji nie znajduje się na tej liście, monitorowanie modelu usługi Azure Machine Learning nadal działa, ale nie oblicza współczynnika błędów typu danych dla tej funkcji.

Szybkość braku granic

Podczas każdego przebiegu monitorowania monitorowanie modelu usługi Azure Machine Learning określa akceptowalny zakres lub zestaw dla każdej funkcji na podstawie danych referencyjnych. Szybkość poza granicami to szybkość wartości dla każdej funkcji, która znajduje się poza odpowiednim zakresem lub ustawiona na podstawie danych referencyjnych.

  • W przypadku cech liczbowych odpowiedni zakres to interwał liczbowy między minimalnymi i maksymalnymi wartościami w zestawie danych referencyjnych, na przykład [0, 100].
  • W przypadku funkcji kategorii, takich jak color, odpowiedni zakres jest zestawem wszystkich wartości zawartych w zestawie danych referencyjnych, takich jak [red, yellow, green].

Jeśli na przykład masz funkcję liczbową temperature , w której wszystkie wartości w zestawie danych referencyjnych mieszczą się w zakresie [37, 77], ale 10 z 100 wartości dla temperature w oknie danych produkcyjnych wykracza poza zakres , współczynnik poza granicami [37, 77]wynosi temperature 10%.

Usługa Azure Machine Learning obsługuje obliczanie współczynnika braku ograniczeń dla następujących typów danych, które są dostępne w programie PySpark: StringType, , DoubleTypeIntegerType, ByteType, LongTypei FloatType. Jeśli typ danych dla funkcji nie znajduje się na tej liście, monitorowanie modelu usługi Azure Machine Learning nadal działa, ale nie oblicza współczynnika braku ograniczeń dla tej funkcji.

Integracja monitorowania modelu z usługą Azure Event Grid

Zdarzenia generowane przez przebiegi monitorowania modelu usługi Azure Machine Learning umożliwiają konfigurowanie aplikacji, procesów lub przepływów pracy ciągłej integracji/ciągłego dostarczania (CI/CD) za pomocą usługi Azure Event Grid. Gdy monitor modelu wykryje dryf, problemy z jakością danych lub obniżenie wydajności modelu, możesz śledzić te zdarzenia za pomocą usługi Event Grid i podjąć działania programowo.

Jeśli na przykład dokładność modelu klasyfikacji w środowisku produkcyjnym spadnie poniżej określonego progu, możesz użyć usługi Event Grid, aby rozpocząć zadanie ponownego trenowania, które używa zebranych danych podstawowych danych prawdy. Aby dowiedzieć się, jak zintegrować usługę Azure Machine Learning z usługą Event Grid, zobacz Monitorowanie wydajności modeli wdrożonych w środowisku produkcyjnym.