Monitorowanie modelu za pomocą usługi Azure Machine Edukacja

W tym artykule dowiesz się więcej o monitorowaniu modeli w usłudze Azure Machine Edukacja, sygnałach i metrykach, które można monitorować, oraz zalecanych praktyk dotyczących korzystania z monitorowania modelu.

Przypadek monitorowania modelu

Monitorowanie modelu to ostatni krok w całym cyklu życia uczenia maszynowego. Ten krok śledzi wydajność modelu w środowisku produkcyjnym i ma na celu zrozumienie wydajności zarówno z perspektywy nauki o danych, jak i operacyjnej.

W przeciwieństwie do tradycyjnych systemów oprogramowania zachowanie systemów uczenia maszynowego podlega nie tylko regułom określonym w kodzie, ale także przez zachowanie modelu poznane na podstawie danych. W związku z tym zmiany dystrybucji danych, niesymetryczność obsługi szkoleń, problemy z jakością danych, zmiany w środowiskach lub 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.

Ograniczenia monitorowania modelu w usłudze Azure Machine Edukacja

Monitorowanie modelu usługi Azure Machine Edukacja obsługuje tylko użycie uwierzytelniania opartego na poświadczeniach (np. tokenu 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.

Jak działa monitorowanie modelu w usłudze Azure Machine Edukacja

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

Każdy sygnał monitorowania ma co najmniej jedną metrykę. Użytkownicy mogą ustawić progi dla tych metryk, aby otrzymywać alerty za pośrednictwem usługi Azure Machine Edukacja lub Usługi Azure Event Grid dotyczące anomalii w modelu lub danych. Te alerty mogą monitować użytkowników o analizowanie lub rozwiązywanie problemów z sygnałami monitorowania w usłudze Azure Machine Edukacja Studio w celu ciągłego ulepszania jakości modelu.

W poniższych krokach opisano przykład obliczeń statystycznych używanych do uzyskiwania wbudowanego sygnału monitorowania, takiego jak dryf danych, dla modelu, który jest w środowisku produkcyjnym.

  • W przypadku funkcji w danych treningowych oblicz statystyczny rozkład jego wartości. Ta dystrybucja jest rozkładem bazowym dla tej funkcji.
  • Oblicz rozkład statystyczny najnowszych wartości funkcji widocznych w środowisku produkcyjnym.
  • Porównaj rozkład najnowszych wartości funkcji w środowisku produkcyjnym z rozkładem odniesienia, wykonując test statystyczny lub obliczając wynik odległości.
  • Gdy statystyka testowa lub wynik odległości między dwoma rozkładami przekracza próg określony przez użytkownika, usługa Azure Machine Edukacja identyfikuje anomalię i powiadamia użytkownika.

Konfiguracja monitorowania modelu

Aby włączyć i użyć monitorowania modelu w usłudze Azure Machine Edukacja:

  1. Włącz zbieranie danych wnioskowania produkcyjnego. Jeśli wdrożysz model w punkcie końcowym usługi Azure Machine Edukacja online, możesz włączyć zbieranie danych wnioskowania produkcyjnego przy użyciu usługi Azure Machine Edukacja zbierania danych modelu. Jeśli jednak wdrożysz model poza usługą Azure Machine Edukacja lub w punkcie końcowym usługi Azure Machine Edukacja wsadowym, odpowiadasz za zbieranie danych wnioskowania produkcyjnego. Następnie możesz użyć tych danych na potrzeby monitorowania modelu usługi Azure Machine Edukacja.
  2. Konfigurowanie monitorowania modelu. Do łatwego konfigurowania monitorowania modelu można użyć zestawu Azure Machine Edukacja 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.
  3. Wyświetlanie i analizowanie wyników monitorowania modelu. Po skonfigurowaniu monitorowania modelu usługa Azure Machine Edukacja planuje uruchamianie zadania monitorowania z określoną częstotliwością. 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 Edukacja.

Możliwości monitorowania modelu

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

  • Wbudowane sygnały monitorowania. Monitorowanie modelu zapewnia wbudowane sygnały monitorowania dla danych tabelarycznych. Te sygnały monitorowania obejmują dryf danych, dryf przewidywania, jakość danych, dryf autorstwa funkcji i wydajność modelu.
  • Konfiguracja monitorowania gotowego modelu za pomocą usługi Azure Machine Edukacja punktu końcowego online. Jeśli wdrożysz model w środowisku produkcyjnym w punkcie końcowym online usługi Azure Machine Edukacja, usługa Azure Machine Edukacja automatycznie zbiera dane wnioskowania produkcyjnego i używa go do ciągłego monitorowania.
  • Korzystanie z wielu sygnałów monitorowania dla szerokiego widoku. W jednej konfiguracji monitorowania można łatwo dołączyć kilka sygnałów monitorowania. Dla każdego sygnału monitorowania możesz wybrać preferowane metryki i dostosować próg alertu.
  • Używanie danych treningowych lub ostatnich danych produkcyjnych jako danych referencyjnych do porównania. W przypadku sygnałów monitorowania usługa Azure Machine Edukacja umożliwia ustawianie danych referencyjnych przy użyciu danych treningowych lub ostatnich danych produkcyjnych.
  • Monitorowanie najważniejszych N funkcji na potrzeby 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.
  • Elastyczność definiowania sygnału 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. W przypadku wdrażania modeli spoza usługi Azure Machine Edukacja lub wdrażania modeli w punktach końcowych usługi Azure Machine Edukacja wsadowych można zbierać dane wnioskowania produkcyjnego do użycia w usłudze Azure Machine Edukacja na potrzeby monitorowania modelu.

Rozmiar i przesunięcie okna odnośnika

Rozmiar okna wyszukiwania to czas trwania (w formacie ISO 8601) dla okna danych produkcyjnych lub referencyjnych, patrząc wstecz od daty uruchomienia monitorowania.

Przesunięcie okna wyszukiwania to czas trwania (w formacie ISO 8601), aby zrównoważyć koniec okna danych z daty uruchomienia monitorowania.

Załóżmy na przykład, że model jest w środowisku produkcyjnym i masz ustawiony monitor do uruchomienia 31 stycznia o 15:15 czasu UTC, jeśli ustawisz rozmiar okna wyszukiwania produkcyjnego P7D (siedem dni) dla monitora i przesunięcia okna wyszukiwania produkcyjnego P0D (zero dni), monitor używa danych od 24 stycznia o 15:15 UTC do 31:15 UTC (czas działania monitora) w oknie danych.

Ponadto w przypadku danych referencyjnych, jeśli ustawisz przesunięcie okna odnośnika na P7D (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. Na przykład przez ustawienie rozmiaru okna wyszukiwania danych referencyjnych na P24D (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ższej ilustracji przedstawiono ten przykład.

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

W niektórych przypadkach warto ustawić przesunięcie 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 (pięć dni) i przesunięciaP2D okna wyszukiwania (dwa dni). Następnie okno danych rozpoczyna się w poprzedni poniedziałek o 15:15 czasu UTC i kończy się w piątek o 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 okna wyszukiwania danych referencyjnych (P10D lub 10 dni) są większe lub równe sumie rozmiaru okna odnośnika danych produkcyjnych i przesunięcia okna odnośnika (łącznie z siedmiodniowym).

Diagram przedstawiający nienakładujące się dane referencyjne i produkcyjne okna danych.

Dzięki monitorowaniu modelu usługi Azure Machine Edukacja można użyć inteligentnych wartości domyślnych dla rozmiaru okna wyszukiwania i przesunięcia okna odnośnika lub dostosować je do własnych potrzeb. Ponadto obsługiwane są zarówno okna stopniowe, jak 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. Oznacza to, że wszystkie dane zebrane w okresie monitorowania przed uruchomieniem zadania monitorowania zostaną przeanalizowane. Możesz użyć production_data.data_window.lookback_window_size właściwości , aby 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, możesz użyć 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 (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 jest dwa razy większe niż production_data.data_window.lookback_window_size. 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 Edukacja obsługuje następującą listę sygnałów monitorowania i metryk:

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 (obsługiwany format danych) Dane produkcyjne Dane referencyjne
Dryf danych 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 Dryf przewidywania śledzi zmiany w dystrybucji przewidywanych danych wyjściowych modelu, porównując rozkład z danymi walidacji, oznaczonymi danymi testowymi lub ostatnimi 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 Jakość danych śledzi integralność danych wejściowych modelu, porównując je z danymi treningowymi modelu lub ostatnimi danymi produkcyjnymi. Kontrole jakości danych obejmują sprawdzanie wartości null, niezgodności typów lub wartości poza granicami. Szybkość wartości null, szybkość 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) Dryf autorstwa funkcji jest oparty na współtworzeniu funkcji w przewidywaniach (nazywanym również znaczeniem 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) Wydajność modelu ś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) Wydajność modelu ś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 odpowiadanie szablon monitu, uzupełniania, kontekstu i adnotacji Nie dotyczy

Metryki sygnału monitorowania jakości danych

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

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

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ść określonej funkcji temperature ma wartość null dla 10 z tych wierszy, wartość null wynosi temperature 10%.

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

Szybkość błędów typu danych

Współczynnik błędów typu danych to szybkość różnic typu danych między bieżącym oknem danych produkcyjnych a danymi referencyjnymi. Podczas każdego przebiegu monitorowania usługa Azure Machine Edukacja monitorowanie modelu wywnioskuje typ danych dla każdej funkcji z danych referencyjnych. 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 temperature nie są liczbą całkowitą (być może są ciągami), współczynnik błędów typu danych wynosi temperature 10%.

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

Szybkość braku granic

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

  • W przypadku funkcji liczbowej odpowiedni zakres jest interwałem liczbowym minimalnej wartości w zestawie danych referencyjnych do maksymalnej wartości, takiej jak [0, 100].
  • W przypadku funkcji kategorii, takiej jak color, odpowiedni zakres to zestaw wszystkich wartości zawartych w zestawie danych referencyjnych, takich jak [red, yellow, green].

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

  • Usługa Azure Machine Edukacja obsługuje obliczanie liczby poza granicami dla tych typów danych dostępnych w programie PySpark: StringType, , IntegerTypeByteTypeDoubleType, , LongTypei .FloatType
  • Jeśli typ danych funkcji nie jest zawarty na tej liście, monitorowanie modelu usługi Azure Machine Edukacja nadal działa, ale nie będzie obliczać współczynnika braku ograniczeń dla tej konkretnej funkcji.

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

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żej znajduje się lista zalecanych najlepszych rozwiązań dotyczących monitorowania modeli:

  • Rozpocznij monitorowanie modelu natychmiast po wdrożeniu modelu w środowisku produkcyjnym.
  • Skontaktuj się z analitykami danych, którzy znają model, aby skonfigurować monitorowanie modelu. Analitycy danych, którzy mają wgląd w model i jego przypadki użycia, są w najlepszej sytuacji, aby 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 monitorowania. W przypadku wielu sygnałów monitorowania można uzyskać zarówno szeroki widok, jak i szczegółowy widok monitorowania. Na przykład możesz połączyć dryf danych i sygnały dryfu autorstwa funkcji, aby uzyskać wczesne ostrzeżenie o problemach z wydajnością modelu.
  • Użyj danych trenowania modelu jako danych referencyjnych. W przypadku danych referencyjnych używanych jako punkt odniesienia porównania usługa Azure Machine Edukacja umożliwia korzystanie z ostatnich danych produkcyjnych lub danych historycznych (takich jak dane treningowe lub dane weryfikacji). Aby uzyskać znaczące porównanie, zalecamy użycie danych treningowych jako punktu odniesienia porównania dla dryfu danych i jakości danych. W przypadku dryfu przewidywania użyj danych walidacji jako punktu odniesienia porównania.
  • Określ częstotliwość monitorowania na podstawie tego, jak dane produkcyjne będą rosły wraz z upływem czasu. Jeśli na przykład model produkcyjny ma duży ruch dzienny, a codzienne gromadzenie danych wystarczy do monitorowania, możesz ustawić częstotliwość monitorowania na codziennie. W przeciwnym razie można rozważyć częstotliwość monitorowania tygodniowego lub miesięcznego na podstawie wzrostu danych produkcyjnych w czasie.
  • Monitoruj najważniejsze N ważnych funkcji lub podzestaw 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 funkcji N. 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 dane szczegółowe aplikacji uczenia maszynowego, zalecamy użycie sygnału wydajności modelu w celu porównania danych podstawowych z danymi wyjściowymi modelu. To porównanie zapewnia celowy wgląd w wydajność modelu w środowisku produkcyjnym.

Integracja monitorowania modelu z usługą Azure Event Grid

Zdarzenia generowane przez usługę Azure Machine Edukacja przebiegi monitorowania modelu umożliwiają konfigurowanie aplikacji, procesów lub przepływów pracy ciągłej integracji/ciągłego wdrażania 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 Edukacja z usługą Event Grid, zobacz Wykonywanie ciągłego monitorowania modelu w usłudze Azure Machine Edukacja.