Share via


Modelbewaking met Azure Machine Learning

In dit artikel leert u meer over modelbewaking in Azure Machine Learning, de signalen en metrische gegevens die u kunt bewaken en de aanbevolen procedures voor het gebruik van modelbewaking.

De case voor modelbewaking

Modelbewaking is de laatste stap in de end-to-end levenscyclus van machine learning. In deze stap worden modelprestaties in productie bijgehouden en is bedoeld om inzicht te verkrijgen in de prestaties van zowel data science als operationele perspectieven.

In tegenstelling tot traditionele softwaresystemen wordt het gedrag van machine learning-systemen niet alleen beheerd door regels die zijn opgegeven in code, maar ook door modelgedrag dat is geleerd van gegevens. Daarom kunnen wijzigingen in gegevensdistributie, scheefheid van training, problemen met gegevenskwaliteit, verschuivingen in omgevingen of wijzigingen in consumentengedrag ertoe leiden dat een model verouderd wordt. Wanneer een model verouderd wordt, kunnen de prestaties afnemen tot het punt dat het geen bedrijfswaarde toevoegt of ernstige nalevingsproblemen in sterk gereglementeerde omgevingen veroorzaakt.

Beperkingen van modelbewaking in Azure Machine Learning

Bewaking van Azure Machine Learning-modellen ondersteunt alleen het gebruik van verificatie op basis van referenties (bijvoorbeeld SAS-token) voor toegang tot gegevens in gegevensarchieven. Zie Gegevensbeheer voor meer informatie over gegevensarchieven en verificatiemodi.

Hoe modelbewaking werkt in Azure Machine Learning

Om bewaking te implementeren, verkrijgt Azure Machine Learning bewakingssignalen door statistische berekeningen uit te voeren op gestreamde productiedeductiegegevens en referentiegegevens. De referentiegegevens kunnen historische trainingsgegevens, validatiegegevens of grondwaargegevens zijn. Aan de andere kant verwijzen de productiedeductiegegevens naar de invoer- en uitvoergegevens van het model die in de productie zijn verzameld.

Elk bewakingssignaal heeft een of meer metrische gegevens. Gebruikers kunnen drempelwaarden voor deze metrische gegevens instellen om waarschuwingen te ontvangen via Azure Machine Learning of Azure Event Grid over model- of gegevensafwijkingen. Deze waarschuwingen kunnen gebruikers vragen om bewakingssignalen in Azure Machine Learning-studio te analyseren of problemen op te lossen voor continue kwaliteitsverbetering van modellen.

In de volgende stappen wordt een voorbeeld beschreven van de statistische berekening die wordt gebruikt voor het verkrijgen van een ingebouwd bewakingssignaal, zoals gegevensdrift, voor een model dat in productie is.

  • Voor een functie in de trainingsgegevens berekent u de statistische verdeling van de waarden. Deze distributie is de basislijndistributie voor de functie.
  • Bereken de statistische verdeling van de meest recente waarden van de functie die in productie worden gezien.
  • Vergelijk de distributie van de meest recente waarden van de functie in productie met de basislijndistributie door een statistische test uit te voeren of een afstandsscore te berekenen.
  • Wanneer de teststatistiek of de afstandsscore tussen de twee distributies een door de gebruiker opgegeven drempelwaarde overschrijdt, identificeert Azure Machine Learning de anomalie en meldt de gebruiker.

Configuratie van modelbewaking

Modelbewaking inschakelen en gebruiken in Azure Machine Learning:

  1. Schakel het verzamelen van productiedeductiegegevens in. Als u een model implementeert in een online-eindpunt van Azure Machine Learning, kunt u het verzamelen van productiedeductiegegevens inschakelen met behulp van gegevensverzameling van Azure Machine Learning-modellen. Als u echter een model buiten Azure Machine Learning of een Azure Machine Learning-batcheindpunt implementeert, bent u verantwoordelijk voor het verzamelen van productiedeductiegegevens. U kunt deze gegevens vervolgens gebruiken voor bewaking van Azure Machine Learning-modellen.
  2. Modelbewaking instellen. U kunt Azure Machine Learning SDK/CLI 2.0 of de gebruikersinterface van studio gebruiken om eenvoudig modelbewaking in te stellen. Tijdens de installatie kunt u de gewenste bewakingssignalen opgeven en metrische gegevens en drempelwaarden voor elk signaal aanpassen.
  3. Bekijk en analyseer de resultaten van modelbewaking. Zodra modelbewaking is ingesteld, plant Azure Machine Learning een bewakingstaak die volgens de opgegeven frequentie wordt uitgevoerd. Elke uitvoering berekent en evalueert metrische gegevens voor alle geselecteerde bewakingssignalen en activeert waarschuwingsmeldingen wanneer een opgegeven drempelwaarde wordt overschreden. U kunt de koppeling in de waarschuwingsmelding volgen om de bewakingsresultaten in uw Azure Machine Learning-werkruimte weer te geven en te analyseren.

Mogelijkheden van modelbewaking

Azure Machine Learning biedt de volgende mogelijkheden voor continue modelbewaking:

  • Ingebouwde bewakingssignalen. Modelbewaking biedt ingebouwde bewakingssignalen voor tabellaire gegevens. Deze bewakingssignalen omvatten gegevensdrift, voorspellingsdrift, gegevenskwaliteit, kenmerktoewijzingsdrift en modelprestaties.
  • Out-of-box model monitoring setup with Azure Machine Learning online endpoint. Als u uw model implementeert in productie in een online-eindpunt van Azure Machine Learning, verzamelt Azure Machine Learning automatisch productiedeductiegegevens en gebruikt deze voor continue bewaking.
  • Gebruik van meerdere bewakingssignalen voor een breed overzicht. U kunt eenvoudig verschillende bewakingssignalen opnemen in één bewakingsinstallatie. Voor elk bewakingssignaal kunt u de gewenste metrische gegevens selecteren en een waarschuwingsdrempel afstemmen.
  • Gebruik van trainingsgegevens of recente, eerdere productiegegevens als referentiegegevens voor vergelijking. Voor bewakingssignalen kunt u met Azure Machine Learning referentiegegevens instellen met behulp van trainingsgegevens of recente, eerdere productiegegevens.
  • Bewaking van de belangrijkste N-functies voor gegevensdrift of gegevenskwaliteit. Als u trainingsgegevens gebruikt als referentiegegevens, kunt u gegevensdrift of gegevenskwaliteitssignalen definiëren die zijn gelaagd over het belang van functies.
  • Flexibiliteit om uw bewakingssignaal te definiëren. Als de ingebouwde bewakingssignalen niet geschikt zijn voor uw bedrijfsscenario, kunt u uw eigen bewakingssignaal definiëren met een aangepast bewakingssignaalonderdeel.
  • Flexibiliteit voor het gebruik van productiedeductiegegevens uit elke bron. Als u modellen implementeert buiten Azure Machine Learning of als u modellen implementeert op Azure Machine Learning-batcheindpunten, kunt u productiedeductiegegevens verzamelen voor gebruik in Azure Machine Learning voor modelbewaking.

Grootte en verschuiving van lookbackvenster

De grootte van het lookback-venster is de tijdsduur (in ISO 8601-indeling) voor uw productie- of referentiegegevensvenster, waarbij u terugkijkt vanaf de datum van de bewakingsuitvoering.

De offset van het lookbackvenster is de tijdsduur (in ISO 8601-indeling) om het einde van het gegevensvenster te compenseren vanaf de datum van de uitvoering van de bewaking.

Stel dat uw model in productie is en u een monitor hebt ingesteld die moet worden uitgevoerd op 31 januari om 15:15 UUR UTC, als u een venster voor het terugkijken van P7D productie (zeven dagen) instelt voor de monitor en een offset van het productie-lookbackvenster ( P0D nul dagen), gebruikt de monitor gegevens van 24 januari om 17:15 UTC tot 31 januari om 31:15 uur UTC (de tijd waarop uw monitor wordt uitgevoerd) in het gegevensvenster.

Bovendien eindigt het referentiegegevensvenster voor de referentiegegevens, als u de offset van het lookbackvenster instelt op P7D (zeven dagen), direct voordat het productiegegevensvenster wordt gestart, zodat er geen overlapping is. Vervolgens kunt u de venstergrootte voor het terugkijken van referentiegegevens zo groot als u wilt instellen. Als u bijvoorbeeld de venstergrootte P24D voor het terugkijken van referentiegegevens instelt op (24 dagen), bevat het venster met referentiegegevens gegevens van 1 januari om 13:15 UTC tot 24 januari om 15:15 uur UTC. In de volgende afbeelding ziet u dit voorbeeld.

Een diagram met de grootte en verschuiving van het lookbackvenster voor referentie- en productiegegevens.

In sommige gevallen kan het handig zijn om de offset van het lookbackvenster voor uw productiegegevens in te stellen op een getal dat groter is dan nul dagen. Als uw monitor bijvoorbeeld wekelijks wordt uitgevoerd op maandag om 15:15 uur UTC, maar u geen gegevens uit het weekend in de bewakingsuitvoering wilt gebruiken, kunt u een lookbackvenstergrootte van P5D (vijf dagen) en een terugblikvensterverschil van P2D (twee dagen) gebruiken. Vervolgens begint uw gegevensvenster op de vorige maandag om 17:15 UTC en eindigt op vrijdag om 17:15 UTC.

In de praktijk moet u ervoor zorgen dat het referentiegegevensvenster en het productiegegevensvenster niet overlappen. Zoals wordt weergegeven in de volgende afbeelding, kunt u ervoor zorgen dat niet-overlappende vensters worden gegarandeerd door ervoor te zorgen dat de offset van het terugzoekvenster voor verwijzingsgegevens (P10D of 10 dagen, in dit voorbeeld) groter of gelijk is aan de som van de grootte van het lookbackvenster van de productiegegevens en de offset van het lookbackvenster (zeven dagen totaal).

Een diagram met niet-overlappende referentiegegevens en productiegegevensvensters.

Met bewaking van Azure Machine Learning-modellen kunt u slimme standaardinstellingen gebruiken voor de grootte van het lookback-venster en de offset van het lookback-venster, of u kunt deze aanpassen aan uw behoeften. Ook worden zowel doorlopende vensters als vaste vensters ondersteund.

Grootte van lookbackvenster aanpassen

U hebt de flexibiliteit om een lookbackvenstergrootte te selecteren voor zowel de productiegegevens als de referentiegegevens.

  • Standaard is de grootte van het lookback-venster voor productiegegevens uw bewakingsfrequentie. Dat wil gezegd: alle gegevens die in de bewakingsperiode worden verzameld voordat de bewakingstaak wordt uitgevoerd, worden geanalyseerd. U kunt de production_data.data_window.lookback_window_size eigenschap gebruiken om het venster met rolling gegevens voor de productiegegevens aan te passen.

  • Standaard is het lookbackvenster voor de referentiegegevens de volledige gegevensset. U kunt de reference_data.data_window.lookback_window_size eigenschap gebruiken om de grootte van het venster verwijzingszoekvenster aan te passen.

  • Als u een vast gegevensvenster voor de referentiegegevens wilt opgeven, kunt u de eigenschappen reference_data.data_window.window_start_date en reference_data.data_window.window_end_date.

Verschuiving van lookbackvenster aanpassen

U hebt de flexibiliteit om een offset van het lookbackvenster voor uw gegevensvenster te selecteren voor zowel de productiegegevens als de referentiegegevens. U kunt de offset gebruiken voor gedetailleerde controle over de gegevens die uw monitor gebruikt. De offset is alleen van toepassing op doorlopende gegevensvensters.

  • De offset voor productiegegevens is P0D standaard (nul dagen). U kunt deze offset wijzigen met de production_data.data_window.lookback_window_offset eigenschap.

  • Standaard is de offset voor referentiegegevens twee keer zo production_data.data_window.lookback_window_size. Deze instelling zorgt ervoor dat er voldoende referentiegegevens zijn voor statistisch zinvolle bewakingsresultaten. U kunt deze offset wijzigen met de reference_data.data_window.lookback_window_offset eigenschap.

Bewakingssignalen en metrische gegevens

Bewaking van Azure Machine Learning-modellen ondersteunt de volgende lijst met bewakingssignalen en metrische gegevens:

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. De preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Bewakingssignaal Beschrijving Metrische gegevens voor Modeltaken (ondersteunde gegevensindeling) Productiegegevens Verwijzingsgegevens
Gegevensdrift Gegevensdrift houdt wijzigingen bij in de distributie van de invoergegevens van een model door de distributie te vergelijken met de trainingsgegevens van het model of recente, eerdere productiegegevens. Jensen-Shannon Distance, Population Stability Index, Normalized Wasserstein Distance, Two-Sample Kolmogorov-Smirnov Test, Pearson's Chi-Squared Test Classificatie (tabellaire gegevens), Regressie (tabellaire gegevens) Productiegegevens - modelinvoer Recente eerdere productiegegevens of trainingsgegevens
Voorspellingsdrift Voorspellingsdrift houdt wijzigingen in de distributie van de voorspelde uitvoer van een model bij door de distributie te vergelijken met validatiegegevens, gelabelde testgegevens of recente productiegegevens uit het verleden. Jensen-Shannon Distance, Population Stability Index, Normalized Wasserstein Distance, Chebyshev Distance, Two-Sample Kolmogorov-Smirnov Test, Pearson's Chi-Squared Test Classificatie (tabellaire gegevens), Regressie (tabellaire gegevens) Productiegegevens - modeluitvoer Recente eerdere productiegegevens of validatiegegevens
Gegevenskwaliteit De gegevenskwaliteit houdt de gegevensintegriteit van de invoer van een model bij door deze te vergelijken met de trainingsgegevens van het model of recente, eerdere productiegegevens. De gegevenskwaliteitscontroles omvatten het controleren op null-waarden, type komt niet overeen of waarden die buiten de grenzen vallen. Frequentie van null-waarde, foutpercentage van gegevenstype, frequentie buiten de grenzen Classificatie (tabellaire gegevens), Regressie (tabellaire gegevens) productiegegevens - modelinvoer Recente eerdere productiegegevens of trainingsgegevens
Afwijking van kenmerktoewijzing (preview) Afwijking van kenmerktoewijzing is gebaseerd op de bijdrage van functies aan voorspellingen (ook wel functiebelang genoemd). Kenmerktoewijzingsdrift houdt het belang van functies bij tijdens de productie door deze te vergelijken met het belang van functies tijdens de training. Genormaliseerde cumulatieve winst Classificatie (tabellaire gegevens), Regressie (tabellaire gegevens) Productiegegevens - modelinvoer en uitvoer Trainingsgegevens (vereist)
Modelprestaties - Classificatie (preview) Modelprestaties volgen de objectieve prestaties van de uitvoer van een model in productie door deze te vergelijken met verzamelde gegevens over de grondwaar. Nauwkeurigheid, precisie en relevante overeenkomsten Classificatie (tabellaire gegevens) Productiegegevens - modeluitvoer Gegevens over de grondwaar (vereist)
Modelprestaties - Regressie (preview) Modelprestaties volgen de objectieve prestaties van de uitvoer van een model in productie door deze te vergelijken met verzamelde gegevens over de grondwaar. Gemiddelde absolute fout (MAE), gemiddelde kwadratische fout (MSE), wortel gemiddelde kwadratische fout (RMSE) Regressie (tabellaire gegevens) Productiegegevens - modeluitvoer Gegevens over de grondwaar (vereist)
Generatieve AI: Generatieveiligheid en -kwaliteit (preview) Evalueert generatieve AI-toepassingen voor veiligheid en kwaliteit, met behulp van met GPT ondersteunde metrische gegevens. Geaardheid, relevantie, fluency, gelijkenis, samenhang Vraag en antwoord sjabloon voor prompt, voltooiing, context en aantekening N.v.t.

Metrische gegevens voor het bewakingssignaal voor gegevenskwaliteit

Het signaal voor de bewaking van gegevenskwaliteit houdt de integriteit van de invoergegevens van een model bij door de drie metrische gegevens te berekenen:

  • Null-waardefrequentie
  • Foutpercentage van gegevenstype
  • Snelheid buiten de grenzen

Null-waardefrequentie

De null-waardesnelheid is de snelheid van null-waarden in de invoer van het model voor elke functie. Als het venster productiegegevens voor bewaking bijvoorbeeld 100 rijen bevat en de waarde voor een specifieke functie temperature null is voor 10 van deze rijen, is de null-waarde voor temperature 10%.

  • Azure Machine Learning biedt ondersteuning voor het berekenen van de null-waardesnelheid voor alle functiegegevenstypen.

Foutpercentage van gegevenstype

De foutsnelheid van het gegevenstype is de snelheid van verschillen in gegevenstypen tussen het huidige productiegegevensvenster en de referentiegegevens. Tijdens elke bewakingsuitvoering wordt het gegevenstype voor elke functie afgeleid van de referentiegegevens. Als het gegevenstype voor een functie temperature bijvoorbeeld wordt afgeleid IntegerType uit de referentiegegevens, maar in het productiegegevensvenster zijn 10 van de 100 waarden temperature niet IntegerType (misschien zijn dit tekenreeksen), is de foutpercentage voor temperature het gegevenstype 10%.

  • Azure Machine Learning biedt ondersteuning voor het berekenen van het foutpercentage van het gegevenstype voor de volgende gegevenstypen die beschikbaar zijn in PySpark: ShortType, , BooleanType, BinaryTypeTimestampTypeDoubleType, StringType, FloatTypeIntegerType, , ByteTypeen . LongTypeDateType
  • Als het gegevenstype voor een functie niet in deze lijst staat, wordt de bewaking van Azure Machine Learning-modellen nog steeds uitgevoerd, maar wordt het foutpercentage van het gegevenstype voor die specifieke functie niet berekend.

Snelheid buiten de grenzen

De out-of-bounds-snelheid is de snelheid van waarden voor elke functie, die buiten het juiste bereik valt of wordt bepaald door de referentiegegevens. Tijdens elke bewakingsuitvoering bepaalt azure Machine Learning-modelbewaking het acceptabele bereik of de set voor elke functie op basis van de referentiegegevens.

  • Voor een numerieke functie is het juiste bereik een numeriek interval van de minimumwaarde in de referentiegegevensset tot de maximumwaarde, zoals [0, 100].
  • Voor een categorische functie, zoalscolor, is het juiste bereik een set van alle waarden in de referentiegegevensset, zoals [red, yellow, ]. green

Als u bijvoorbeeld een numerieke functie temperature hebt waarbij alle waarden binnen het bereik [37, 77] in de referentiegegevensset vallen, maar in het productiegegevensvenster 10 van de 100 waarden vallen temperature buiten het bereik [37, 77], is de out-of-bounds-snelheid temperature 10%.

  • Azure Machine Learning biedt ondersteuning voor het berekenen van de frequentie buiten de grenzen voor deze gegevenstypen die beschikbaar zijn in PySpark: , , , , en FloatTypeLongType. ByteTypeDoubleTypeIntegerTypeStringType
  • Als het gegevenstype voor een functie niet in deze lijst staat, wordt de bewaking van Azure Machine Learning-modellen nog steeds uitgevoerd, maar wordt de snelheid buiten de grenzen voor die specifieke functie niet berekend.

Bewaking van Azure Machine Learning-modellen ondersteunt maximaal 0.00001-precisie voor berekeningen van de null-waardesnelheid, foutpercentage van gegevenstypen en frequentie buiten de grenzen.

Elk machine learning-model en de bijbehorende gebruiksvoorbeelden zijn uniek. Daarom is modelbewaking uniek voor elke situatie. Hier volgt een lijst met aanbevolen aanbevolen procedures voor modelbewaking:

  • Start modelbewaking direct nadat u een model in productie hebt geïmplementeerd.
  • Werk samen met gegevenswetenschappers die bekend zijn met het model om modelbewaking in te stellen. Gegevenswetenschappers die inzicht hebben in het model en de gebruiksvoorbeelden, zijn in de beste positie om bewakingssignalen en metrische gegevens aan te bevelen en de juiste waarschuwingsdrempels in te stellen voor elke metriek (om waarschuwingsmoeheid te voorkomen).
  • Neem meerdere bewakingssignalen op in uw bewakingsinstallatie. Met meerdere bewakingssignalen krijgt u zowel een breed overzicht als een gedetailleerde weergave van bewaking. U kunt bijvoorbeeld gegevensdrift- en kenmerktoewijzingsdriftsignalen combineren om een vroege waarschuwing te krijgen over prestatieproblemen van uw model.
  • Gebruik modeltrainingsgegevens als referentiegegevens. Voor referentiegegevens die worden gebruikt als vergelijkingsbasislijn, kunt u met Azure Machine Learning de recente eerdere productiegegevens of historische gegevens (zoals trainingsgegevens of validatiegegevens) gebruiken. Voor een zinvolle vergelijking raden we u aan de trainingsgegevens te gebruiken als vergelijkingsbasislijn voor gegevensdrift en gegevenskwaliteit. Voor voorspellingsdrift gebruikt u de validatiegegevens als vergelijkingsbasislijn.
  • Geef de bewakingsfrequentie op op basis van de groei van uw productiegegevens in de loop van de tijd. Als uw productiemodel bijvoorbeeld dagelijks veel verkeer heeft en de dagelijkse gegevensaccumulatie voldoende is om te bewaken, kunt u de bewakingsfrequentie instellen op dagelijks. Anders kunt u een wekelijkse of maandelijkse bewakingsfrequentie overwegen, op basis van de groei van uw productiegegevens in de loop van de tijd.
  • Bewaak de belangrijkste N-functies of een subset van functies. Als u trainingsgegevens als vergelijkingsbasislijn gebruikt, kunt u eenvoudig bewaking van gegevensdrift of bewaking van gegevenskwaliteit configureren voor de belangrijkste N-functies. Voor modellen met een groot aantal functies kunt u overwegen om een subset van deze functies te bewaken om de rekenkosten en bewakingsruis te verminderen.
  • Gebruik het prestatiesignaal van het model wanneer u toegang hebt tot waarheidsgegevens op de grond. Als u toegang hebt tot grondwaargegevens (ook wel werkelijke waarden genoemd) op basis van de gegevens van uw machine learning-toepassing, raden we u aan het modelprestatiesignaal te gebruiken om de grondwaargegevens te vergelijken met de uitvoer van uw model. Deze vergelijking biedt een objectief overzicht van de prestaties van uw model in productie.

Integratie van modelbewaking met Azure Event Grid

U kunt gebeurtenissen gebruiken die worden gegenereerd door bewaking van Azure Machine Learning-modellen om gebeurtenisgestuurde toepassingen, processen of CI/CD-werkstromen in te stellen met Azure Event Grid.

Wanneer uw modelmonitor afwijkingen, problemen met de gegevenskwaliteit of prestatievermindering van het model detecteert, kunt u deze gebeurtenissen bijhouden met Event Grid en programmatisch actie ondernemen. Als de nauwkeurigheid van uw classificatiemodel bijvoorbeeld lager is dan een bepaalde drempelwaarde, kunt u Event Grid gebruiken om een hertrainingstaak te starten die gebruikmaakt van verzamelde gegevens voor waarheid. Zie Continue modelbewaking uitvoeren in Azure Machine Learning voor meer informatie over het integreren van Azure Machine Learning met Event Grid.