Wykrywanie dryfowania danych (wersja zapoznawcza) w zestawach DataSetDetect data drift (preview) on datasets

Dowiedz się, jak monitorować dryf danych i ustawiać alerty, gdy dryf jest wysoki.Learn how to monitor data drift and set alerts when drift is high.

Za pomocą monitorów zestawu danych Azure Machine Learning (wersja zapoznawcza) można:With Azure Machine Learning dataset monitors (preview), you can:

  • Analizuj dryf danych , aby zrozumieć, jak zmienia się w miarę upływu czasu.Analyze drift in your data to understand how it changes over time.
  • Monitoruj dane modelu pod kątem różnic między szkoleniem i obsługujące zestawy danych.Monitor model data for differences between training and serving datasets. Zacznij od zebrania danych modelu ze wdrożonych modeli.Start by collecting model data from deployed models.
  • Monitoruj nowe dane pod kątem różnic między dowolnym bazowym i docelowym zestawem danych.Monitor new data for differences between any baseline and target dataset.
  • Profile funkcji w danych , aby śledzić, jak właściwości statystyczne zmieniają się z upływem czasu.Profile features in data to track how statistical properties change over time.
  • Konfigurowanie alertów dotyczących dryfowania danych w celu wczesnych ostrzeżeń dotyczących potencjalnych problemów.Set up alerts on data drift for early warnings to potential issues.
  • [Utwórz nową wersję zestawu danych] (instrukcje-to-Version-Track-DataSet) podczas określania zbyt dużej ilości danych.[Create a new dataset version](how-to-version-track-datasets when you determine the data has drifted too much.

Zestaw danych usługi Azure Machine Learning jest używany do tworzenia monitora.An Azure Machine learning dataset is used to create the monitor. Zestaw danych musi zawierać kolumnę sygnatur czasowych.The dataset must include a timestamp column.

Metryki dotyczące dryfu danych można wyświetlić za pomocą zestawu SDK języka Python lub w programie Azure Machine Learning Studio.You can view data drift metrics with the Python SDK or in Azure Machine Learning studio. Inne metryki i szczegółowe dane są dostępne za pomocą zasobu usługi Azure Application Insights skojarzonego z obszarem roboczym Azure Machine Learning.Other metrics and insights are available through the Azure Application Insights resource associated with the Azure Machine Learning workspace.

Ważne

Wykrywanie dryfowania danych dla zestawów DataSet jest obecnie w publicznej wersji zapoznawczej.Data drift detection for datasets is currently in public preview. Wersja zapoznawcza jest dostępna bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych.The preview version is provided without a service level agreement, and it's not recommended for production workloads. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.Certain features might not be supported or might have constrained capabilities. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Wymagania wstępnePrerequisites

Aby tworzyć i korzystać z monitorów zestawu danych, potrzebne są:To create and work with dataset monitors, you need:

Co to jest dryfowanie danych?What is data drift?

Dryfowanie danych to jedna z najważniejszych przyczyn pogorszenia jakości modelu z upływem czasu.Data drift is one of the top reasons model accuracy degrades over time. W przypadku modeli uczenia maszynowego dryfowanie danych jest zmianą danych wejściowych modelu, które prowadzą do obniżenia wydajności modelu.For machine learning models, data drift is the change in model input data that leads to model performance degradation. Dryfowanie danych monitorowania pomaga wykryć te problemy z wydajnością modelu.Monitoring data drift helps detect these model performance issues.

Przyczyny dryfowania danych obejmują:Causes of data drift include:

  • Zmiany procesu nadrzędnego, takie jak "zastępowany czujnik", zmieniają jednostki miary z cali na centymetry.Upstream process changes, such as a sensor being replaced that changes the units of measurement from inches to centimeters.
  • Problemy z jakością danych, takie jak uszkodzenie czujnika, zawsze odczytu 0.Data quality issues, such as a broken sensor always reading 0.
  • Naturalne dryfowanie danych, takie jak przeciętne wprowadzanie temperatury przy użyciu sezonów.Natural drift in the data, such as mean temperature changing with the seasons.
  • Zmień zależność między funkcjami lub covariate Shift.Change in relation between features, or covariate shift.

Azure Machine Learning upraszcza wykrywanie dryfu przez Obliczanie pojedynczej metryki abstrakcji złożoności porównywanych zestawów danych.Azure Machine Learning simplifies drift detection by computing a single metric abstracting the complexity of datasets being compared. Te zestawy danych mogą mieć setki funkcji i dziesiątki tysięcy wierszy.These datasets may have hundreds of features and tens of thousands of rows. Po wykryciu dryfu przejdziesz do szczegółów, które funkcje powodują dryf.Once drift is detected, you drill down into which features are causing the drift. Następnie należy sprawdzić metryki poziomu funkcji w celu debugowania i izolowania głównej przyczyny dryfowania.You then inspect feature level metrics to debug and isolate the root cause for the drift.

To podejście w dół ułatwia monitorowanie danych zamiast tradycyjnych technik opartych na regułach.This top down approach makes it easy to monitor data instead of traditional rules-based techniques. Techniki oparte na regułach, takie jak dozwolony zakres danych lub dozwolone unikatowe wartości, mogą być czasochłonne i podatne na błędy.Rules-based techniques such as allowed data range or allowed unique values can be time consuming and error prone.

W Azure Machine Learning używasz monitorów zestawu danych do wykrywania i generowania alertów dotyczących dryfowania danych.In Azure Machine Learning, you use dataset monitors to detect and alert for data drift.

Monitory zestawu danychDataset monitors

Za pomocą monitora zestawu danych można:With a dataset monitor you can:

  • Wykrywaj i Ostrzegaj o odniesieniu danych w nowych danych w zestawie danych.Detect and alert to data drift on new data in a dataset.
  • Analizuj dane historyczne dotyczące dryfowania.Analyze historical data for drift.
  • Profilowanie nowych danych w czasie.Profile new data over time.

Algorytm dryfowania danych zawiera ogólną miarę zmian danych i wskazanie, które funkcje są odpowiedzialne za dalsze badanie.The data drift algorithm provides an overall measure of change in data and indication of which features are responsible for further investigation. Monitory zestawu danych tworzą wiele innych metryk przez profilowanie nowych danych w timeseries zestawie danych.Dataset monitors produce a number of other metrics by profiling new data in the timeseries dataset.

Niestandardowe alerty można skonfigurować na wszystkich metrykach wygenerowanych przez Monitor za pomocą usługi Azure Application Insights.Custom alerting can be set up on all metrics generated by the monitor through Azure Application Insights. Za pomocą monitorów zestawu danych można szybko przechwycić problemy z danymi i skrócić czas debugowania problemu, identyfikując możliwe przyczyny.Dataset monitors can be used to quickly catch data issues and reduce the time to debug the issue by identifying likely causes.

Koncepcyjnie istnieją trzy podstawowe scenariusze konfigurowania monitorów zestawów danych w Azure Machine Learning.Conceptually, there are three primary scenarios for setting up dataset monitors in Azure Machine Learning.

ScenariuszScenario OpisDescription
Monitorowanie obsługi danych przez model na potrzeby dryfowania danych szkoleniowychMonitor a model's serving data for drift from the training data Wyniki z tego scenariusza mogą być interpretowane jako monitorowanie serwera proxy dla dokładności modelu, ponieważ obniżanie poziomu dokładności modelu w przypadku, gdy dane dotyczące uczenia są uznawane za.Results from this scenario can be interpreted as monitoring a proxy for the model's accuracy, since model accuracy degrades when the serving data drifts from the training data.
Monitoruj zestaw danych szeregów czasowych dla dryfu z poprzedniego okresu.Monitor a time series dataset for drift from a previous time period. Ten scenariusz jest bardziej ogólny i może służyć do monitorowania zestawów danych będących w modelu nadrzędnym lub podrzędnym kompilowania modeli.This scenario is more general, and can be used to monitor datasets involved upstream or downstream of model building. Docelowy zestaw danych musi mieć kolumnę sygnatur czasowych.The target dataset must have a timestamp column. Zestaw danych bazowych może być dowolnym tabelarycznym zestawem danych, który zawiera funkcje wspólne z docelowym zestawem danych.The baseline dataset can be any tabular dataset that has features in common with the target dataset.
Wykonaj analizę danych z przeszłości.Perform analysis on past data. Ten scenariusz może służyć do zrozumienia danych historycznych i podejmowania decyzji dotyczących ustawień dla monitorów zestawu danych.This scenario can be used to understand historical data and inform decisions in settings for dataset monitors.

Monitory zestawu danych są zależne od następujących usług platformy Azure.Dataset monitors depend on the following Azure services.

Usługa platformy AzureAzure service OpisDescription
ZestawuDataset Funkcja dryf używa Machine Learning zestawów danych, aby pobierać dane szkoleniowe i porównywać dane w celu szkolenia modeli.Drift uses Machine Learning datasets to retrieve training data and compare data for model training. Generowanie profilu danych jest używane do generowania niektórych raportowanych metryk, takich jak minimalna, maksymalna, różne wartości, liczba unikatowych wartości.Generating profile of data is used to generate some of the reported metrics such as min, max, distinct values, distinct values count.
Potok i obliczenia w usłudze AzureAzureml pipeline and compute Zadanie obliczania dryfu jest hostowane w potoku Azure.The drift calculation job is hosted in azureml pipeline. Zadanie jest wyzwalane na żądanie lub według harmonogramu do uruchomienia w ramach obliczeń skonfigurowanych na czas tworzenia monitora dryfu.The job is triggered on demand or by schedule to run on a compute configured at drift monitor creation time.
Application InsightsApplication insights Dryf emituje metryki do Application Insights należące do obszaru roboczego uczenia maszynowego.Drift emits metrics to Application Insights belonging to the machine learning workspace.
Azure Blob StorageAzure blob storage Dryf emituje metryki w formacie JSON do magazynu obiektów blob platformy Azure.Drift emits metrics in json format to Azure blob storage.

Bazowe i docelowe zestawy danychBaseline and target datasets

Możesz monitorować zestawy danych usługi Azure Machine Learning pod kątem dryfowania.You monitor Azure machine learning datasets for data drift. Podczas tworzenia monitora zestawu danych należy odwołać się do:When you create a dataset monitor, you will reference your:

  • Bazowy zestaw danych — zazwyczaj zestaw danych szkoleniowych dla modelu.Baseline dataset - usually the training dataset for a model.
  • Docelowy zestaw danych — zwykle dane wejściowe modelu — są porównywane z upływem czasu do zestawu danych bazowych.Target dataset - usually model input data - is compared over time to your baseline dataset. To porównanie oznacza, że docelowy zestaw danych musi mieć określoną kolumnę sygnatur czasowych.This comparison means that your target dataset must have a timestamp column specified.

Monitor będzie porównywać bazowe i docelowe zestawy danych.The monitor will compare the baseline and target datasets.

Utwórz docelowy zestaw danychCreate target dataset

Docelowy zestaw danych wymaga timeseries zestawu cech dla niego, określając kolumnę sygnatury czasowej w kolumnie dane lub kolumnę wirtualną pochodną wzorca ścieżki plików.The target dataset needs the timeseries trait set on it by specifying the timestamp column either from a column in the data or a virtual column derived from the path pattern of the files. Utwórz zestaw danych z sygnaturą czasową za pomocą zestawu SDK języka Python lub Azure Machine Learning Studio.Create the dataset with a timestamp through the Python SDK or Azure Machine Learning studio. Kolumna reprezentująca znacznik czasu musi być określona, aby można było dodać timeseries cechy do zestawu danych.A column representing a "timestamp" must be specified to add timeseries trait to the dataset. Jeśli dane są partycjonowane w strukturze folderów wraz z informacjami o czasie, takimi jak "{RRRR/MM/DD}", Utwórz kolumnę wirtualną za pomocą ustawienia wzorca ścieżki i ustaw ją jako "sygnatura czasowa partycji", aby zwiększyć ważność funkcji szeregów czasowych.If your data is partitioned into folder structure with time info, such as '{yyyy/MM/dd}', create a virtual column through the path pattern setting and set it as the "partition timestamp" to improve the importance of time series functionality.

DatasetMetoda klasy with_timestamp_columns() definiuje kolumnę sygnatury czasowej dla zestawu danych.The Dataset class with_timestamp_columns() method defines the time stamp column for the dataset.

from azureml.core import Workspace, Dataset, Datastore

# get workspace object
ws = Workspace.from_config()

# get datastore object 
dstore = Datastore.get(ws, 'your datastore name')

# specify datastore paths
dstore_paths = [(dstore, 'weather/*/*/*/*/data.parquet')]

# specify partition format
partition_format = 'weather/{state}/{date:yyyy/MM/dd}/data.parquet'

# create the Tabular dataset with 'state' and 'date' as virtual columns 
dset = Dataset.Tabular.from_parquet_files(path=dstore_paths, partition_format=partition_format)

# assign the timestamp attribute to a real or virtual column in the dataset
dset = dset.with_timestamp_columns('date')

# register the dataset as the target dataset
dset = dset.register(ws, 'target')

Porada

Pełny przykład użycia timeseries cech zestawów danych można znaleźć w przykładowym notesie lub dokumentacji zestawu SDK zestawów danych.For a full example of using the timeseries trait of datasets, see the example notebook or the datasets SDK documentation.

Utwórz monitor zestawu danychCreate dataset monitor

Utwórz monitor zestawu danych służący do wykrywania i generowania alertów dotyczących dryfowania danych w nowym zestawie danych.Create a dataset monitor to detect and alert to data drift on a new dataset. Użyj zestawu SDK języka Python lub Azure Machine Learning Studio.Use either the Python SDK or Azure Machine Learning studio.

Aby uzyskać szczegółowe informacje, zobacz dokumentację referencyjną języka Python SDK dotyczącą dryfowania danych .See the Python SDK reference documentation on data drift for full details.

Poniższy przykład pokazuje, jak utworzyć monitor zestawu danych za pomocą zestawu SDK języka PythonThe following example shows how to create a dataset monitor using the Python SDK

from azureml.core import Workspace, Dataset
from azureml.datadrift import DataDriftDetector
from datetime import datetime

# get the workspace object
ws = Workspace.from_config()

# get the target dataset
dset = Dataset.get_by_name(ws, 'target')

# set the baseline dataset
baseline = target.time_before(datetime(2019, 2, 1))

# set up feature list
features = ['latitude', 'longitude', 'elevation', 'windAngle', 'windSpeed', 'temperature', 'snowDepth', 'stationName', 'countryOrRegion']

# set up data drift detector
monitor = DataDriftDetector.create_from_datasets(ws, 'drift-monitor', baseline, target, 
                                                      compute_target='cpu-cluster', 
                                                      frequency='Week', 
                                                      feature_list=None, 
                                                      drift_threshold=.6, 
                                                      latency=24)

# get data drift detector by name
monitor = DataDriftDetector.get_by_name(ws, 'drift-monitor')

# update data drift detector
monitor = monitor.update(feature_list=features)

# run a backfill for January through May
backfill1 = monitor.backfill(datetime(2019, 1, 1), datetime(2019, 5, 1))

# run a backfill for May through today
backfill1 = monitor.backfill(datetime(2019, 5, 1), datetime.today())

# disable the pipeline schedule for the data drift detector
monitor = monitor.disable_schedule()

# enable the pipeline schedule for the data drift detector
monitor = monitor.enable_schedule()

Porada

Pełny przykład konfigurowania timeseries zestawu danych i wykrywania dryfowania danych można znaleźć w naszym przykładowym notesie.For a full example of setting up a timeseries dataset and data drift detector, see our example notebook.

Zrozumienie wyników dryfowania danychUnderstand data drift results

W tej sekcji przedstawiono wyniki monitorowania zestawu danych, które znajdują się na / stronie Monitory zestawu danych DataSet w programie Azure Studio.This section shows you the results of monitoring a dataset, found in the Datasets / Dataset monitors page in Azure studio. Możesz zaktualizować ustawienia, a także przeanalizować istniejące dane dla określonego okresu na tej stronie.You can update the settings as well as analyze existing data for a specific time period on this page.

Zacznij od wglądu w dane najwyższego poziomu do wielkości dryfu danych oraz wyróżniania funkcji do dalszej analizy.Start with the top-level insights into the magnitude of data drift and a highlight of features to be further investigated.

Przegląd dryfu

MetricMetric OpisDescription
Wielkość dryfu danychData drift magnitude Procent dryfu między bazowym i docelowym zestawem danych w czasie.A percentage of drift between the baseline and target dataset over time. W zakresie od 0 do 100, 0 wskazuje identyczne zestawy danych i 100 wskazuje, Azure Machine Learning model dryfowania danych może całkowicie odróżnić te dwa zestawy.Ranging from 0 to 100, 0 indicates identical datasets and 100 indicates the Azure Machine Learning data drift model can completely tell the two datasets apart. Oczekiwano szumu w precyzyjnym procencie mierzonym z powodu technik uczenia maszynowego używanego do generowania tego rozmiaru.Noise in the precise percentage measured is expected due to machine learning techniques being used to generate this magnitude.
Najważniejsze funkcje przedryfaniaTop drifting features Pokazuje funkcje z zestawu danych, które zostały odpięte i w związku z tym przyczyniają się do metryki wartości dryf.Shows the features from the dataset that have drifted the most and are therefore contributing the most to the Drift Magnitude metric. Ze względu na covariate Shift bazowa dystrybucja funkcji nie musi być konieczna do zmiany w celu zapewnienia stosunkowo dużej ważności funkcji.Due to covariate shift, the underlying distribution of a feature does not necessarily need to change to have relatively high feature importance.
PrógThreshold Rozmiar dryfu danych poza ustawionym progiem spowoduje wyzwolenie alertów.Data Drift magnitude beyond the set threshold will trigger alerts. Można to skonfigurować w ustawieniach monitora.This can be configured in the monitor settings.

Trend wielkości dryfuDrift magnitude trend

Zobacz, jak zestaw danych różni się od docelowego zestawu danych w określonym przedziale czasu.See how the dataset differs from the target dataset in the specified time period. Bliżej 100%, tym większa jest różnica między dwoma zestawami danych.The closer to 100%, the more the two datasets differ.

Trend wielkości dryfu

Wielkość dryfu według funkcjiDrift magnitude by features

Ta sekcja zawiera szczegółowe informacje na temat zmian w dystrybucji wybranej funkcji, a także inne dane statystyczne w miarę upływu czasu.This section contains feature-level insights into the change in the selected feature's distribution, as well as other statistics, over time.

Docelowy zestaw danych jest również profilowany w czasie.The target dataset is also profiled over time. Odległość statystyczna między rozkładem linii bazowej każdej funkcji jest porównywana z docelowym zestawem danych w czasie.The statistical distance between the baseline distribution of each feature is compared with the target dataset's over time. Koncepcyjnie jest to podobne do wielkości dryfu danych.Conceptually, this is similar to the data drift magnitude. Jednak ta odległość statystyczna dotyczy pojedynczej funkcji, a nie wszystkich funkcji.However this statistical distance is for an individual feature rather than all features. Dostępne są również wartości minimalna, maksymalna i średnia.Min, max, and mean are also available.

W Azure Machine Learning Studio kliknij pasek na wykresie, aby wyświetlić szczegóły poziomu funkcji dla tej daty.In the Azure Machine Learning studio, click on a bar in the graph to see the the feature level details for that date. Domyślnie zostanie wyświetlona dystrybucja zestawu danych punktu odniesienia i Najnowsza dystrybucja przebiegu tej samej funkcji.By default, you see the baseline dataset's distribution and the most recent run's distribution of the same feature.

Wielkość dryfu według funkcji

Te metryki można także pobrać w zestawie SDK języka Python za pomocą get_metrics() metody dla DataDriftDetector obiektu.These metrics can also be retrieved in the Python SDK through the get_metrics() method on a DataDriftDetector object.

Szczegóły funkcjiFeature details

Na koniec przewiń w dół, aby wyświetlić szczegółowe informacje dotyczące poszczególnych funkcji.Finally, scroll down to view details for each individual feature. Użyj listy rozwijanej powyżej wykresu, aby wybrać funkcję, a następnie wybierz metrykę, którą chcesz wyświetlić.Use the dropdowns above the chart to select the feature, and additionally select the metric you want to view.

Wykres funkcji liczbowej i porównanie

Metryki na wykresie zależą od typu funkcji.Metrics in the chart depend on the type of feature.

  • Funkcje liczboweNumeric features

    MetricMetric OpisDescription
    Odległość WassersteinWasserstein distance Minimalna ilość pracy, aby przekształcić dystrybucję bazową w dystrybucję docelową.Minimum amount of work to transform baseline distribution into the target distribution.
    Wartość średniaMean value Średnia wartość funkcji.Average value of the feature.
    Wartość minimalnaMin value Minimalna wartość funkcji.Minimum value of the feature.
    Wartość maksymalnaMax value Maksymalna wartość funkcji.Maximum value of the feature.
  • Funkcje kategoriiCategorical features

    MetricMetric OpisDescription
    Odległość euclidianEuclidian distance Obliczone dla kolumn kategorii.Computed for categorical columns. Odległość Euclidean jest obliczana na dwóch wektorach wygenerowanych na podstawie rozkładu empirycznego tej samej kolumny kategorii z dwóch zestawów danych.Euclidean distance is computed on two vectors, generated from empirical distribution of the same categorical column from two datasets. wartość 0 oznacza, że nie ma różnicy w rozkładach empirycznych.0 indicates there is no difference in the empirical distributions. Im więcej odbędzie się od 0, tym większa kolumna jest przechylać.The more it deviates from 0, the more this column has drifted. Trendy mogą być zauważalne z wykresu szeregowego czasu tej metryki i mogą być pomocne w odwróceniu funkcji dryfowania.Trends can be observed from a time series plot of this metric and can be helpful in uncovering a drifting feature.
    Unikatowe wartościUnique values Liczba unikatowych wartości (Kardynalność) funkcji.Number of unique values (cardinality) of the feature.

Na tym wykresie wybierz pojedynczą datę, aby porównać dystrybucję funkcji między obiektem docelowym a tą datą dla wyświetlanej funkcji.On this chart, select a single date to compare the feature distribution between the target and this date for the displayed feature. W przypadku funkcji liczbowych pokazuje dwa rozkłady prawdopodobieństwa.For numeric features, this shows two probability distributions. Jeśli funkcja jest liczbowa, zostanie wyświetlony wykres słupkowy.If the feature is numeric, a bar chart is shown.

Wybierz datę do porównania z elementem docelowym

Metryki, alerty i zdarzeniaMetrics, alerts, and events

Metryki mogą być zapytania w ramach zasobu usługi Azure Application Insights skojarzonego z obszarem roboczym uczenia maszynowego.Metrics can be queried in the Azure Application Insights resource associated with your machine learning workspace. Masz dostęp do wszystkich funkcji Application Insights, w tym konfiguracji niestandardowych reguł alertów i grup akcji, aby wyzwolić akcję, taką jak wiadomość E-mail/SMS/wypychanie/głos lub funkcja platformy Azure.You have access to all features of Application Insights including set up for custom alert rules and action groups to trigger an action such as, an Email/SMS/Push/Voice or Azure Function. Aby uzyskać szczegółowe informacje, zobacz kompletną dokumentację Application Insights.Refer to the complete Application Insights documentation for details.

Aby rozpocząć, przejdź do Azure Portal i wybierz stronę omówienia obszaru roboczego.To get started, navigate to the Azure portal and select your workspace's Overview page. Skojarzony zasób Application Insights jest po prawej stronie:The associated Application Insights resource is on the far right:

Azure Portal — omówienieAzure portal overview

Wybierz pozycję Dzienniki (analiza) w obszarze monitorowanie w okienku po lewej stronie:Select Logs (Analytics) under Monitoring on the left pane:

Omówienie usługi Application Insights

Metryki monitora zestawu danych są przechowywane jako customMetrics .The dataset monitor metrics are stored as customMetrics. Można napisać i uruchomić zapytanie po skonfigurowaniu monitora zestawu danych, aby je wyświetlić:You can write and run a query after setting up a dataset monitor to view them:

Zapytanie usługi log AnalyticsLog analytics query

Po zidentyfikowaniu metryk w celu skonfigurowania reguł alertów Utwórz nową regułę alertu:After identifying metrics to set up alert rules, create a new alert rule:

Nowa reguła alertu

Możesz użyć istniejącej grupy akcji lub utworzyć nową, aby zdefiniować akcję, która ma zostać podjęta po spełnieniu warunków ustawionych:You can use an existing action group, or create a new one to define the action to be taken when the set conditions are met:

Nowa grupa akcji

Rozwiązywanie problemówTroubleshooting

Ograniczenia i znane problemy dotyczące monitorów dryfowania danych:Limitations and known issues for data drift monitors:

  • Zakres czasu podczas analizowania danych historycznych jest ograniczony do 31 interwałów ustawienia częstotliwości monitora.The time range when analyzing historical data is limited to 31 intervals of the monitor's frequency setting.

  • Ograniczenie funkcji 200, chyba że lista funkcji nie zostanie określona (wszystkie używane funkcje).Limitation of 200 features, unless a feature list is not specified (all features used).

  • Rozmiar obliczeń musi być wystarczająco duży, aby można było obsłużyć dane.Compute size must be large enough to handle the data.

  • Upewnij się, że zestaw danych zawiera dane w dniu rozpoczęcia i zakończenia danego monitora.Ensure your dataset has data within the start and end date for a given monitor run.

  • Monitory zestawu danych będą działały tylko w zestawach, które zawierają 50 wierszy lub więcej.Dataset monitors will only work on datasets that contain 50 rows or more.

  • Kolumny lub funkcje w zestawie danych są klasyfikowane jako kategorii lub liczbowe w zależności od warunków w poniższej tabeli.Columns, or features, in the dataset are classified as categorical or numeric based on the conditions in the following table. Jeśli funkcja nie spełnia tych warunków — na przykład kolumna typu ciąg z >100 unikatowymi wartościami — funkcja zostanie porzucona z algorytmu dryfowania danych, ale jest nadal profilowana.If the feature does not meet these conditions - for instance, a column of type string with >100 unique values - the feature is dropped from our data drift algorithm, but is still profiled.

    Typ funkcjiFeature type Typ danychData type WarunekCondition OgraniczeniaLimitations
    Podzielone na kategorieCategorical String, bool, int, floatstring, bool, int, float Liczba unikatowych wartości w funkcji jest mniejsza niż 100 i mniejsza niż 5% liczby wierszy.The number of unique values in the feature is less than 100 and less than 5% of the number of rows. Wartość null jest traktowana jako jej własna Kategoria.Null is treated as its own category.
    PorządkowNumerical int, floatint, float Wartości w funkcji mają typ danych liczbowych i nie spełniają warunku funkcji kategorii.The values in the feature are of a numerical data type and do not meet the condition for a categorical feature. Funkcja została porzucona, jeśli >15% wartości ma wartość null.Feature dropped if >15% of values are null.
  • Po utworzeniu monitora dryfowania danych, ale nie na stronie Monitory zestawu danych w programie Azure Machine Learning Studio, spróbuj wykonać poniższe czynności.When you have created a data drift monitor but cannot see data on the Dataset monitors page in Azure Machine Learning studio, try the following.

    1. Sprawdź, czy w górnej części strony wybrano prawy zakres dat.Check if you have selected the right date range at the top of the page.
    2. Na karcie Monitory zestawu danych wybierz łącze eksperyment, aby sprawdzić stan uruchomienia.On the Dataset Monitors tab, select the experiment link to check run status. Ten link znajduje się po prawej stronie tabeli.This link is on the far right of the table.
    3. Jeśli uruchomienie zakończyło się pomyślnie, Sprawdź dzienniki sterowników, aby zobaczyć, ile metryk zostało wygenerowanych, lub jeśli istnieją komunikaty ostrzegawcze.If run completed successfully, check driver logs to see how many metrics has been generated or if there's any warning messages. Na karcie dane wyjściowe i dzienniki Znajdź dzienniki sterowników po kliknięciu eksperymentu.Find driver logs in the Output + logs tab after you click on an experiment.
  • Jeśli funkcja SDK nie backfill() generuje oczekiwanych danych wyjściowych, może to być spowodowane problemem z uwierzytelnianiem.If the SDK backfill() function does not generate the expected output, it may be due to an authentication issue. Podczas tworzenia obliczeń do przekazania do tej funkcji nie należy używać Run.get_context().experiment.workspace.compute_targets .When you create the compute to pass into this function, do not use Run.get_context().experiment.workspace.compute_targets. Zamiast tego należy użyć ServicePrincipalAuthentication , takich jak następujące, aby utworzyć obliczenia, które są przekazywane do tej backfill() funkcji:Instead, use ServicePrincipalAuthentication such as the following to create the compute that you pass into that backfill() function:

    auth = ServicePrincipalAuthentication(
            tenant_id=tenant_id,
            service_principal_id=app_id,
            service_principal_password=client_secret
            )
    ws = Workspace.get("xxx", auth=auth, subscription_id="xxx", resource_group="xxx")
    compute = ws.compute_targets.get("xxx")
    
  • Z modułu zbierającego dane modelu może upłynąć do (ale zazwyczaj mniej niż) 10 minut na dostarczenie danych na koncie usługi BLOB Storage.From the Model Data Collector, it can take up to (but usually less than) 10 minutes for data to arrive in your blob storage account. W skrypcie lub w notesie odczekaj 10 minut, aby upewnić się, że poniższe komórki zostaną uruchomione.In a script or Notebook, wait 10 minutes to ensure cells below will run.

    import time
    time.sleep(600)
    

Następne krokiNext steps