Dela via


Övervaka prestanda för modeller som distribuerats till produktion

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Lär dig hur du använder Azure Mašinsko učenje modellövervakning för att kontinuerligt spåra prestanda för maskininlärningsmodeller i produktion. Modellövervakning ger dig en bred vy över övervakningssignaler och aviseringar om potentiella problem. När du övervakar signaler och prestandamått för modeller i produktion kan du kritiskt utvärdera de inneboende riskerna med dem och identifiera blinda fläckar som kan påverka din verksamhet negativt.

I den här artikeln får du lära dig att utföra följande uppgifter:

  • Konfigurera inbyggda och avancerade övervakningar för modeller som distribueras till Azure Mašinsko učenje onlineslutpunkter
  • Övervaka prestandamått för modeller i produktion
  • Övervaka modeller som distribueras utanför Azure Mašinsko učenje eller distribueras till Azure Mašinsko učenje batchslutpunkter
  • Konfigurera modellövervakning med anpassade signaler och mått
  • Tolka övervakningsresultat
  • Integrera Azure Mašinsko učenje-modellövervakning med Azure Event Grid

Förutsättningar

Innan du följer stegen i den här artikeln kontrollerar du att du har följande förutsättningar:

  • Rollbaserade åtkomstkontroller i Azure (Azure RBAC) används för att bevilja åtkomst till åtgärder i Azure Machine Learning. Om du vill utföra stegen i den här artikeln måste ditt användarkonto tilldelas rollen ägare eller deltagare för Azure Mašinsko učenje-arbetsytan eller en anpassad roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Mer information finns i Hantera åtkomst till en Azure Mašinsko učenje-arbetsyta.

  • För övervakning av en modell som distribueras till en Azure Mašinsko učenje onlineslutpunkt (hanterad onlineslutpunkt eller Kubernetes onlineslutpunkt) måste du:

  • Om du vill övervaka en modell som distribueras till en Azure Mašinsko učenje batchslutpunkt eller distribueras utanför Azure Mašinsko učenje måste du:

    • Ha ett sätt att samla in produktionsdata och registrera dem som en Azure-Mašinsko učenje datatillgång.
    • Uppdatera den registrerade datatillgången kontinuerligt för modellövervakning.
    • (Rekommenderas) Registrera modellen på en Azure Mašinsko učenje-arbetsyta för ursprungsspårning.

Viktigt!

Modellövervakningsjobb är schemalagda att köras på serverlösa Spark-beräkningspooler med stöd för följande typer av VM-instanser: Standard_E4s_v3, Standard_E8s_v3, Standard_E16s_v3, Standard_E32s_v3och Standard_E64s_v3. Du kan välja vm-instanstypen med create_monitor.compute.instance_type egenskapen i YAML-konfigurationen eller i listrutan i Azure Mašinsko učenje Studio.

Konfigurera övervakning av färdiga modeller

Anta att du distribuerar din modell till produktion i en Azure-Mašinsko učenje onlineslutpunkt och aktiverar datainsamling vid distributionstillfället. I det här scenariot samlar Azure Mašinsko učenje in produktionsinferensdata och lagrar dem automatiskt i Microsoft Azure Blob Storage. Du kan sedan använda Azure Mašinsko učenje-modellövervakning för att kontinuerligt övervaka dessa produktionsinferensdata.

Du kan använda Azure CLI, Python SDK eller studio för en inbyggd konfiguration av modellövervakning. Den färdiga modellövervakningskonfigurationen innehåller följande övervakningsfunktioner:

  • Azure Mašinsko učenje identifierar automatiskt den produktionsinferensdatauppsättning som är associerad med en Azure-Mašinsko učenje onlinedistribution och använder datauppsättningen för modellövervakning.
  • Jämförelsereferensdatauppsättningen anges som den senaste, tidigare datauppsättningen för produktionsinferens.
  • Övervakningskonfigurationen innehåller och spårar automatiskt de inbyggda övervakningssignalerna: dataavvikelse, förutsägelseavvikelse och datakvalitet. För varje övervakningssignal använder Azure Mašinsko učenje:
    • den senaste datamängden för tidigare produktionsinferens som jämförelsereferensdatauppsättning.
    • smarta standardvärden för mått och tröskelvärden.
  • Ett övervakningsjobb schemaläggs att köras dagligen klockan 03:15 (i det här exemplet) för att hämta övervakningssignaler och utvärdera varje måttresultat mot motsvarande tröskelvärde. När ett tröskelvärde överskrids skickar Azure Mašinsko učenje som standard ett e-postmeddelande till den användare som konfigurerar övervakaren.

Azure Mašinsko učenje modellövervakning används az ml schedule för att schemalägga ett övervakningsjobb. Du kan skapa den färdiga modellövervakaren med följande CLI-kommando och YAML-definition:

az ml schedule create -f ./out-of-box-monitoring.yaml

Följande YAML innehåller definitionen för övervakning av färdiga modeller.

# out-of-box-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: credit_default_model_monitoring
display_name: Credit default model monitoring
description: Credit default model monitoring setup with minimal configurations

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:

  compute: # specify a spark compute for monitoring job
    instance_type: standard_e4s_v3
    runtime_version: "3.3"

  monitoring_target: 
    ml_task: classification # model task type: [classification, regression, question_answering]
    endpoint_deployment_id: azureml:credit-default:main # azureml endpoint deployment id

  alert_notification: # emails to get alerts
    emails:
      - abc@example.com
      - def@example.com

Konfigurera avancerad modellövervakning

Azure Mašinsko učenje innehåller många funktioner för kontinuerlig modellövervakning. Se Funktioner för modellövervakning för en omfattande lista över dessa funktioner. I många fall måste du konfigurera modellövervakning med avancerade övervakningsfunktioner. I följande avsnitt konfigurerar du modellövervakning med dessa funktioner:

  • Användning av flera övervakningssignaler för en bred vy.
  • Användning av historiska modellträningsdata eller valideringsdata som jämförelsereferensdatauppsättning.
  • Övervakning av de viktigaste N-funktionerna och enskilda funktioner.

Konfigurera funktionsvikt

Funktionsvikt representerar den relativa betydelsen av varje indatafunktion för en modells utdata. Till exempel temperature kan vara viktigare för en modells förutsägelse jämfört elevationmed . Genom att aktivera funktionsvikt kan du få insyn i vilka funktioner du inte vill driva eller ha problem med datakvaliteten i produktionen.

För att aktivera funktionsvikt med någon av dina signaler (till exempel dataavvikelse eller datakvalitet) måste du ange:

  • Din träningsdatauppsättning som reference_data datauppsättning.
  • Egenskapen reference_data.data_column_names.target_column , som är namnet på modellens utdata/förutsägelsekolumn.

När du har aktiverat funktionsvikt visas en funktionsvikt för varje funktion som du övervakar i Azure Mašinsko učenje modellövervakningsstudions användargränssnitt.

Du kan använda Azure CLI, Python SDK eller studio för avancerad konfiguration av modellövervakning.

Skapa en avancerad modellövervakningskonfiguration med följande CLI-kommando och YAML-definition:

az ml schedule create -f ./advanced-model-monitoring.yaml

Följande YAML innehåller definitionen för avancerad modellövervakning.

# advanced-model-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: fraud_detection_model_monitoring
display_name: Fraud detection model monitoring
description: Fraud detection model monitoring with advanced configurations

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:

  compute: 
    instance_type: standard_e4s_v3
    runtime_version: "3.3"

  monitoring_target:
    ml_task: classification
    endpoint_deployment_id: azureml:credit-default:main
  
  monitoring_signals:
    advanced_data_drift: # monitoring signal name, any user defined name works
      type: data_drift
      # reference_dataset is optional. By default referece_dataset is the production inference data associated with Azure Machine Learning online endpoint
      reference_data:
        input_data:
          path: azureml:credit-reference:1 # use training data as comparison reference dataset
          type: mltable
        data_context: training
        data_column_names:
          target_column: DEFAULT_NEXT_MONTH
      features: 
        top_n_feature_importance: 10 # monitor drift for top 10 features
      metric_thresholds:
        numerical:
          jensen_shannon_distance: 0.01
        categorical:
          pearsons_chi_squared_test: 0.02
    advanced_data_quality:
      type: data_quality
      # reference_dataset is optional. By default reference_dataset is the production inference data associated with Azure Machine Learning online endpoint
      reference_data:
        input_data:
          path: azureml:credit-reference:1
          type: mltable
        data_context: training
      features: # monitor data quality for 3 individual features only
        - SEX
        - EDUCATION
      metric_thresholds:
        numerical:
          null_value_rate: 0.05
        categorical:
          out_of_bounds_rate: 0.03

    feature_attribution_drift_signal:
      type: feature_attribution_drift
      # production_data: is not required input here
      # Please ensure Azure Machine Learning online endpoint is enabled to collected both model_inputs and model_outputs data
      # Azure Machine Learning model monitoring will automatically join both model_inputs and model_outputs data and used it for computation
      reference_data:
        input_data:
          path: azureml:credit-reference:1
          type: mltable
        data_context: training
        data_column_names:
          target_column: DEFAULT_NEXT_MONTH
      metric_thresholds:
        normalized_discounted_cumulative_gain: 0.9
  
  alert_notification:
    emails:
      - abc@example.com
      - def@example.com

Konfigurera prestandaövervakning av modeller

Med Azure Mašinsko učenje modellövervakning kan du spåra prestanda för dina modeller i produktion genom att beräkna deras prestandamått. Följande modellprestandamått stöds för närvarande:

För klassificeringsmodeller:

  • Precision
  • Noggrannhet
  • Återkalla

För regressionsmodeller:

  • Genomsnittligt absolut fel (MAE)
  • Genomsnittligt kvadratfel (MSE)
  • RMSE (Root Mean Squared Error)

Fler krav för övervakning av modellprestanda

Du måste uppfylla följande krav för att konfigurera modellens prestandasignal:

  • Ha utdata för produktionsmodellen (modellens förutsägelser) med ett unikt ID för varje rad. Om du samlar in produktionsdata med Azure Mašinsko učenje datainsamlare tillhandahålls en correlation_id för varje slutsatsdragningsbegäran åt dig. Med datainsamlaren har du också möjlighet att logga ditt eget unika ID från ditt program.

    Kommentar

    För prestandaövervakning av Azure Mašinsko učenje modell rekommenderar vi att du loggar ditt unika ID i en egen kolumn med hjälp av Azure Mašinsko učenje datainsamlare.

  • Ha grund sanningsdata (faktiska) med ett unikt ID för varje rad. Det unika ID:t för en viss rad ska matcha det unika ID:t för modellutdata för den specifika slutsatsdragningsbegäran. Det här unika ID:t används för att koppla din datauppsättning för grundsanningar till modellutdata.

    Utan att ha grund sanningsdata kan du inte utföra prestandaövervakning av modeller. Eftersom grund sanningsdata påträffas på programnivå är det ditt ansvar att samla in dem när de blir tillgängliga. Du bör också underhålla en datatillgång i Azure Mašinsko učenje som innehåller dessa grundläggande sanningsdata.

  • (Valfritt) Ha en föransluten tabelldatauppsättning med modellutdata och mark sanningsdata som redan är sammanfogade.

Övervaka prestandakrav för modeller när du använder datainsamlare

Om du använder Azure Mašinsko učenje-datainsamlaren för att samla in produktionsinferensdata utan att ange ditt eget unika ID för varje rad som en separat kolumn, genereras en correlationid automatiskt åt dig och inkluderas i det loggade JSON-objektet. Datainsamlaren kommer dock att batchrader som skickas inom korta tidsintervall för varandra. Batchrader hamnar inom samma JSON-objekt och har därmed samma correlationid.

För att skilja mellan raderna i samma JSON-objekt använder Azure Mašinsko učenje modellprestandaövervakning indexering för att fastställa ordningen på raderna i JSON-objektet. Om till exempel tre rader batchas ihop och correlationid är , kommer rad ett att ha ett ID för test_0, rad två har ett ID test_1för , och rad tre har ett ID för test_2test. För att säkerställa att datamängden ground truth innehåller unika ID:er som matchar de insamlade utdata för produktionsinferensmodellen, måste du indexera var och en correlationid på rätt sätt. Om ditt loggade JSON-objekt bara har en rad blir correlationid_0det correlationid .

För att undvika att använda den här indexeringen rekommenderar vi att du loggar ditt unika ID i en egen kolumn i pandas DataFrame som du loggar med Azure Mašinsko učenje datainsamlare. I konfigurationen för modellövervakning anger du sedan namnet på den här kolumnen för att koppla dina modelldata till dina grundsanningsdata. Så länge ID:na för varje rad i båda datauppsättningarna är desamma kan Azure Mašinsko učenje modellövervakning utföra modellprestandaövervakning.

Exempelarbetsflöde för övervakning av modellprestanda

Om du vill förstå begreppen som är associerade med övervakning av modellprestanda bör du överväga det här exempelarbetsflödet. Anta att du distribuerar en modell för att förutsäga om kreditkortstransaktioner är bedrägliga eller inte. Du kan följa dessa steg för att övervaka modellens prestanda:

  1. Konfigurera distributionen så att datainsamlaren används för att samla in modellens produktionsinferensdata (indata och utdata). Anta att utdata lagras i en kolumn is_fraud.
  2. För varje rad i insamlade slutsatsdragningsdata loggar du ett unikt ID. Det unika ID:t kan komma från ditt program, eller så kan du använda correlationid det Som Azure Mašinsko učenje genererar unikt för varje loggat JSON-objekt.
  3. Senare, när grund sanningsdata (eller faktiska) is_fraud data blir tillgängliga, loggas de också och mappas till samma unika ID som loggades med modellens utdata.
  4. Dessa grundläggande sanningsdata is_fraud samlas också in, underhålls och registreras i Azure Mašinsko učenje som en datatillgång.
  5. Skapa en modellprestandaövervakningssignal som ansluter modellens produktionsinferens och mark sanningsdatatillgångar med hjälp av de unika ID-kolumnerna.
  6. Slutligen beräknar du modellens prestandamått.

När du har uppfyllt kraven för övervakning av modellprestanda kan du konfigurera modellövervakning med följande CLI-kommando och YAML-definition:

az ml schedule create -f ./model-performance-monitoring.yaml

Följande YAML innehåller definitionen för modellövervakning med produktionsinferensdata som du har samlat in.

$schema:  http://azureml/sdk-2-0/Schedule.json
name: model_performance_monitoring
display_name: Credit card fraud model performance
description: Credit card fraud model performance

trigger:
  type: recurrence
  frequency: day
  interval: 7 
  schedule: 
    hours: 10
    minutes: 15
  
create_monitor:
  compute: 
    instance_type: standard_e8s_v3
    runtime_version: "3.3"
  monitoring_target:
    ml_task: classification
    endpoint_deployment_id: azureml:loan-approval-endpoint:loan-approval-deployment

  monitoring_signals:
    fraud_detection_model_performance: 
      type: model_performance 
      production_data:
        data_column_names:
          prediction: is_fraud
          correlation_id: correlation_id
      reference_data:
        input_data:
          path: azureml:my_model_ground_truth_data:1
          type: mltable
        data_column_names:
          actual: is_fraud
          correlation_id: correlation_id
        data_context: actuals
      alert_enabled: true
      metric_thresholds: 
        tabular_classification:
          accuracy: 0.95
          precision: 0.8
  alert_notification: 
      emails: 
        - abc@example.com

Konfigurera modellövervakning genom att hämta dina produktionsdata till Azure Mašinsko učenje

Du kan också konfigurera modellövervakning för modeller som distribuerats till Azure Mašinsko učenje batchslutpunkter eller distribuerats utanför Azure Mašinsko učenje. Om du inte har någon distribution, men du har produktionsdata, kan du använda data för att utföra kontinuerlig modellövervakning. Om du vill övervaka dessa modeller måste du kunna:

  • Samla in produktionsinferensdata från modeller som distribuerats i produktion.
  • Registrera produktionsinferensdata som en Azure-Mašinsko učenje datatillgång och se till att data uppdateras kontinuerligt.
  • Ange en anpassad dataförbearbetande komponent och registrera den som en Azure Mašinsko učenje-komponent.

Du måste ange en komponent för förbearbetning av anpassade data om dina data inte samlas in med datainsamlaren. Utan den här komponenten för förbearbetning av anpassade data vet azure Mašinsko učenje modellövervakningssystemet inte hur du bearbetar dina data i tabellformat med stöd för tidsfönster.

Din anpassade förbearbetningskomponent måste ha dessa indata- och utdatasignaturer:

Indata/utdata Signaturnamn Typ Beskrivning Exempelvärde
indata data_window_start literal, sträng starttid för datafönstret i ISO8601 format. 2023-05-01T04:31:57.012Z
indata data_window_end literal, sträng datafönstrets sluttid i ISO8601 format. 2023-05-01T04:31:57.012Z
indata input_data uri_folder Insamlade produktionsinferensdata, som är registrerade som en Azure-Mašinsko učenje datatillgång. azureml:myproduction_inference_data:1
utdata preprocessed_data mltable En tabelldatauppsättning som matchar en delmängd av referensdataschemat.

Ett exempel på en komponent för förbearbetning av anpassade data finns i custom_preprocessing i GitHub-lagringsplatsen azuremml-examples.

När du har uppfyllt de tidigare kraven kan du konfigurera modellövervakning med följande CLI-kommando och YAML-definition:

az ml schedule create -f ./model-monitoring-with-collected-data.yaml

Följande YAML innehåller definitionen för modellövervakning med produktionsinferensdata som du har samlat in.

# model-monitoring-with-collected-data.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: fraud_detection_model_monitoring
display_name: Fraud detection model monitoring
description: Fraud detection model monitoring with your own production data

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:
  compute: 
    instance_type: standard_e4s_v3
    runtime_version: "3.3"
  monitoring_target:
    ml_task: classification
    endpoint_deployment_id: azureml:fraud-detection-endpoint:fraud-detection-deployment
  
  monitoring_signals:

    advanced_data_drift: # monitoring signal name, any user defined name works
      type: data_drift
      # define production dataset with your collected data
      production_data:
        input_data:
          path: azureml:my_production_inference_data_model_inputs:1  # your collected data is registered as Azure Machine Learning asset
          type: uri_folder
        data_context: model_inputs
        pre_processing_component: azureml:production_data_preprocessing:1
      reference_data:
        input_data:
          path: azureml:my_model_training_data:1 # use training data as comparison baseline
          type: mltable
        data_context: training
        data_column_names:
          target_column: is_fraud
      features: 
        top_n_feature_importance: 20 # monitor drift for top 20 features
      metric_thresholds:
        numberical:
          jensen_shannon_distance: 0.01
        categorical:
          pearsons_chi_squared_test: 0.02

    advanced_prediction_drift: # monitoring signal name, any user defined name works
      type: prediction_drift
      # define production dataset with your collected data
      production_data:
        input_data:
          path: azureml:my_production_inference_data_model_outputs:1  # your collected data is registered as Azure Machine Learning asset
          type: uri_folder
        data_context: model_outputs
        pre_processing_component: azureml:production_data_preprocessing:1
      reference_data:
        input_data:
          path: azureml:my_model_validation_data:1 # use training data as comparison reference dataset
          type: mltable
        data_context: validation
      metric_thresholds:
        categorical:
          pearsons_chi_squared_test: 0.02
  
  alert_notification:
    emails:
      - abc@example.com
      - def@example.com

Konfigurera modellövervakning med anpassade signaler och mått

Med Azure Mašinsko učenje modellövervakning kan du definiera en anpassad signal och implementera valfritt mått för att övervaka din modell. Du kan registrera den här anpassade signalen som en Azure Mašinsko učenje-komponent. När ditt Azure Mašinsko učenje modellövervakningsjobb körs enligt det angivna schemat beräknas de mått som du har definierat i din anpassade signal, precis som för de fördefinierade signalerna (dataavvikelse, förutsägelseavvikelse och datakvalitet).

Om du vill konfigurera en anpassad signal som ska användas för modellövervakning måste du först definiera den anpassade signalen och registrera den som en Azure-Mašinsko učenje komponent. Azure Mašinsko učenje-komponenten måste ha dessa indata- och utdatasignaturer:

Signatur för komponentindata

Komponentens indataDataFrame ska innehålla följande objekt:

  • En mltable med bearbetade data från förbearbetningskomponenten
  • Valfritt antal literaler, som var och en representerar ett implementerat mått som en del av den anpassade signalkomponenten. Om du till exempel har implementerat måttet std_deviationbehöver du en indata för std_deviation_threshold. I allmänhet bör det finnas en indata per mått med namnet <metric_name>_threshold.
Signaturnamn Typ Beskrivning Exempelvärde
production_data mltable En tabelldatauppsättning som matchar en delmängd av referensdataschemat.
std_deviation_threshold literal, sträng Respektive tröskelvärde för det implementerade måttet. 2

Signatur för komponentutdata

Komponentens utdataport bör ha följande signatur.

Signaturnamn Typ Beskrivning
signal_metrics mltable Den mltable som innehåller de beräknade måtten. Schemat definieras i nästa avsnitt signal_metrics schema.

signal_metrics schema

Komponentutdataramen ska innehålla fyra kolumner: group, metric_name, metric_valueoch threshold_value.

Signaturnamn Typ Beskrivning Exempelvärde
grupp literal, sträng Logisk gruppering på den översta nivån som ska tillämpas på det här anpassade måttet. TRANSACTIONAMOUNT
metric_name literal, sträng Namnet på det anpassade måttet. std_deviation
metric_value numerisk Värdet för det anpassade måttet. 44,896.082
threshold_value numerisk Tröskelvärdet för det anpassade måttet. 2

I följande tabell visas ett exempel på utdata från en anpassad signalkomponent som beräknar måttet std_deviation :

grupp metric_value metric_name threshold_value
TRANSACTIONAMOUNT 44,896.082 std_deviation 2
LOCALHOUR 3.983 std_deviation 2
TRANSACTIONAMOUNTUSD 54,004.902 std_deviation 2
DIGITALITEMCOUNT 7.238 std_deviation 2
PHYSICALITEMCOUNT 5.509 std_deviation 2

Ett exempel på en anpassad signalkomponentdefinition och måttberäkningskod finns i custom_signal på lagringsplatsen azureml-examples.

När du har uppfyllt kraven för att använda anpassade signaler och mått kan du konfigurera modellövervakning med följande CLI-kommando och YAML-definition:

az ml schedule create -f ./custom-monitoring.yaml

Följande YAML innehåller definitionen för modellövervakning med en anpassad signal. Några saker att märka om koden:

  • Det förutsätter att du redan har skapat och registrerat din komponent med den anpassade signaldefinitionen i Azure Mašinsko učenje.
  • Den component_id registrerade anpassade signalkomponenten är azureml:my_custom_signal:1.0.0.
  • Om du har samlat in dina data med datainsamlaren kan du utelämna egenskapenpre_processing_component. Om du vill använda en förbearbetningskomponent för att förbearbeta produktionsdata som inte samlas in av datainsamlaren kan du ange dem.
# custom-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: my-custom-signal
trigger:
  type: recurrence
  frequency: day # can be minute, hour, day, week, month
  interval: 7 # #every day
create_monitor:
  compute:
    instance_type: "standard_e4s_v3"
    runtime_version: "3.3"
  monitoring_signals:
    customSignal:
      type: custom
      component_id: azureml:my_custom_signal:1.0.0
      input_data:
        production_data:
          input_data:
            type: uri_folder
            path: azureml:my_production_data:1
          data_context: test
          data_window:
            lookback_window_size: P30D
            lookback_window_offset: P7D
          pre_processing_component: azureml:custom_preprocessor:1.0.0
      metric_thresholds:
        - metric_name: std_deviation
          threshold: 2
  alert_notification:
    emails:
      - abc@example.com

Tolka övervakningsresultat

När du har konfigurerat modellövervakaren och den första körningen har slutförts kan du gå tillbaka till fliken Övervakning i Azure Mašinsko učenje studio för att visa resultatet.

  • I huvudvyn Övervakning väljer du namnet på modellövervakaren för att se översiktssidan för övervakaren. Den här sidan visar motsvarande modell, slutpunkt och distribution, tillsammans med information om de signaler som du har konfigurerat. Nästa bild visar en övervakningsinstrumentpanel som innehåller dataavvikelser och datakvalitetssignaler. Beroende på vilka övervakningssignaler du har konfigurerat kan instrumentpanelen se annorlunda ut.

    Skärmbild som visar en instrumentpanel för övervakning.

  • Titta i avsnittet Meddelanden på instrumentpanelen för att se, för varje signal, vilka funktioner som överträdde det konfigurerade tröskelvärdet för respektive mått:

  • Välj data_drift för att gå till informationssidan för dataavvikelsen. På informationssidan kan du se måttvärdet för dataavvikelser för varje numerisk och kategorisk funktion som du inkluderade i din övervakningskonfiguration. När bildskärmen har fler än en körning visas en trendlinje för varje funktion.

    Skärmbild som visar informationssidan för dataavvikelsesignalen.

  • Om du vill visa en enskild funktion i detalj väljer du namnet på funktionen för att visa produktionsdistributionen jämfört med referensdistributionen. Med den här vyn kan du också spåra drift över tid för den specifika funktionen.

    Skärmbild som visar information om dataavvikelse för en enskild funktion.

  • Gå tillbaka till instrumentpanelen för övervakning och välj data_quality för att visa signalsidan för datakvalitet. På den här sidan kan du se null-värdefrekvenser, out-of-bounds-priser och felfrekvenser för datatyp för varje funktion som du övervakar.

    Skärmbild som visar informationssidan för datakvalitetssignalen.

Modellövervakning är en kontinuerlig process. Med Azure Mašinsko učenje modellövervakning kan du konfigurera flera övervakningssignaler för att få en bred överblick över prestanda för dina modeller i produktion.

Integrera Azure Mašinsko učenje-modellövervakning med Azure Event Grid

Du kan använda händelser som genereras av Azure Mašinsko učenje modellövervakning för att konfigurera händelsedrivna program, processer eller CI/CD-arbetsflöden med Azure Event Grid. Du kan använda händelser via olika händelsehanterare, till exempel Azure Event Hubs, Azure-funktioner och logikappar. Baserat på den drift som identifieras av övervakarna kan du vidta åtgärder programmatiskt, till exempel genom att konfigurera en maskininlärningspipeline för att träna om en modell och distribuera den igen.

Så här kommer du igång med att integrera Azure Mašinsko učenje-modellövervakning med Event Grid:

  1. Följ stegen i Konfigurera i Azure-portalen. Ge händelseprenumerationen ett namn, till exempel MonitoringEvent, och välj endast rutan Kör status ändrad under Händelsetyper.

    Varning

    Se till att välja Kör status har ändrats för händelsetypen. Välj inte Datauppsättningsavdrift som identifierats eftersom den gäller för dataavvikelse v1 i stället för Azure Mašinsko učenje modellövervakning.

  2. Följ stegen i Filtrera och prenumerera på händelser för att konfigurera händelsefiltrering för ditt scenario. Gå till fliken Filter och lägg till följande nyckel, operator och värde under Avancerade filter:

    • Nyckel: data.RunTags.azureml_modelmonitor_threshold_breached
    • Värde: har misslyckats på grund av att en eller flera funktioner bryter mot måtttrösklar
    • Operator: Strängen innehåller

    Med det här filtret genereras händelser när körningsstatusen ändras (från Slutförd till Misslyckad eller från Misslyckades till Slutförd) för alla övervakare i din Azure Mašinsko učenje-arbetsyta.

  3. Om du vill filtrera på övervakningsnivå använder du följande nyckel, operator och värde under Avancerade filter:

    • Nyckel: data.RunTags.azureml_modelmonitor_threshold_breached
    • Värde: your_monitor_name_signal_name
    • Operator: Strängen innehåller

    Kontrollera att your_monitor_name_signal_name är namnet på en signal i den specifika övervakaren som du vill filtrera händelser för. Exempel: credit_card_fraud_monitor_data_drift För att det här filtret ska fungera måste den här strängen matcha namnet på din övervakningssignal. Du bör namnge din signal med både övervakningsnamnet och signalnamnet för det här fallet.

  4. När du har slutfört konfigurationen av händelseprenumerationen väljer du önskad slutpunkt som ska fungera som händelsehanterare, till exempel Azure Event Hubs.

  5. När händelser har registrerats kan du visa dem från slutpunktssidan:

    Skärmbild som visar händelser som visas från slutpunktssidan.

Du kan också visa händelser på fliken Azure Monitor Metrics :

Skärmbild som visar händelser som visas på fliken Azure Monitor-mått.