Monitorování modelů služby Azure Machine Learning
Monitorování modelů je posledním krokem v kompletním životním cyklu strojového učení. Tento krok sleduje výkon modelu v produkčním prostředí a analyzuje výkon z hlediska datových věd i provozu. V tomto článku se dozvíte o monitorování modelů ve službě Azure Machine Learning, signálech a metrikách, které můžete monitorovat, a doporučených postupech pro monitorování modelů.
Na rozdíl od tradičních softwarových systémů nezávisí chování systému strojového učení jenom na pravidlech zadaných v kódu, ale také se učí z dat. Změny distribuce dat, nerovnoměrná distribuce dat, problémy s kvalitou dat, změny chování uživatelů a změny chování uživatelů můžou způsobit, že model bude zastaralý.
Když se model stane zastaralým, může jeho výkon snížit na bod, kdy se nepodaří přidat obchodní hodnotu nebo začne způsobovat vážné problémy s dodržováním předpisů ve vysoce regulovaných prostředích. Proto je důležité monitorovat výkon modelu.
Jak funguje monitorování modelů Azure Machine Learning
K implementaci monitorování azure Machine Learning získává monitorovací signály prováděním statistických výpočtů na streamovaných produkčních datech odvozování a referenčních dat. Produkční data odvozování odkazují na vstupní a výstupní data modelu shromážděná v produkčním prostředí. Referenční data můžou být historická trénování, ověřování nebo základní pravdivá data.
Důležité
Monitorování modelu Azure Machine Learning podporuje pouze ověřování na základě přihlašovacích údajů, jako je token sdíleného přístupového podpisu (SAS), pro přístup k datům obsaženým v úložištích dat. Další informace o úložištích dat a režimech ověřování najdete v tématu Správa dat.
Každý monitorovací signál má jednu nebo více metrik. Pro tyto metriky můžete nastavit prahové hodnoty, které aktivují upozornění na anomálie modelu nebo dat prostřednictvím služby Azure Machine Learning nebo Azure Event Gridu. Když obdržíte výstrahy, můžete pomocí studio Azure Machine Learning analyzovat nebo řešit problémy s monitorovacími signály pro průběžné zlepšování kvality modelu.
Azure Machine Learning používá následující proces ke zpracování integrovaného monitorovacího signálu, jako je posun dat, pro model v produkčním prostředí:
Nejprve Azure Machine Learning vypočítá statistickou distribuci hodnoty funkce v trénovacích datech. Toto rozdělení je základní rozdělení funkce.
V dalším kroku Azure Machine Learning vypočítá statistickou distribuci nejnovějších hodnot funkce zaznamenaných v produkčním prostředí.
Azure Machine Learning pak provede statistický test nebo vypočítá skóre vzdálenosti a porovná rozdělení nejnovějších hodnot funkce v produkčním prostředí s rozdělením podle směrného plánu. Pokud testová statistika nebo skóre vzdálenosti mezi těmito dvěma rozděleními překročí prahovou hodnotu zadanou uživatelem, Azure Machine Learning identifikuje anomálii a upozorní uživatele.
Nastavení a používání monitorování modelů
Použití monitorování modelů ve službě Azure Machine Learning:
Nejprve povolte shromažďování dat odvozování v produkčním prostředí.
- Pokud model nasadíte do online koncového bodu služby Azure Machine Learning, můžete shromažďování dat odvozování v produkčním prostředí povolit pomocí shromažďování dat modelu Azure Machine Learning.
- Pokud nasadíte model mimo Azure Machine Learning nebo do dávkového koncového bodu služby Azure Machine Learning, zodpovídáte za shromažďování produkčních dat odvozování, která pak můžete použít pro monitorování modelu Azure Machine Learning.
Dále nastavte monitorování modelu. K snadnému nastavení monitorování modelů můžete použít sadu Azure Machine Learning SDK/CLI 2.0 nebo studiové uživatelské rozhraní. Během instalace můžete určit upřednostňované monitorovací signály a přizpůsobit metriky a prahové hodnoty pro každý signál.
Nakonec zobrazte a analyzujte výsledky monitorování modelu. Jakmile nastavíte monitorování modelu, Azure Machine Learning spustí úlohu monitorování podle zadaného plánu. Každé spuštění počítá a vyhodnocuje metriky pro všechny vybrané monitorovací signály a aktivuje upozornění při překročení jakékoli zadané prahové hodnoty. Pokud chcete zobrazit a analyzovat výsledky monitorování v pracovním prostoru Azure Machine Learning, můžete postupovat podle odkazu v oznámení upozornění.
Možnosti monitorování modelů
Azure Machine Learning poskytuje následující funkce pro průběžné monitorování modelů:
- Integrované monitorovací signály pro tabulková data, včetně posunu dat, posunu predikce, kvality dat, posunu přisuzování funkcí a výkonu modelu.
- Kompletní monitorování modelů pro online koncové body Pokud model nasadíte do produkčního prostředí v online koncovém bodu, Azure Machine Learning automaticky shromažďuje produkční data odvozování a používá je k průběžnému monitorování.
- Několik monitorovacích signálů v jednom nastavení monitorování U každého monitorovacího signálu můžete vybrat upřednostňovanou metriku a prahovou hodnotu upozornění.
- Volba referenčních dat pro porovnání Pro monitorovací signály můžete nastavit referenční data pomocí trénovacích dat nebo nedávných minulých produkčních dat.
- Nejlepší funkce N pro posun dat nebo monitorování kvality dat Pokud jako referenční data používáte trénovací data, můžete definovat posun dat nebo signály kvality dat vrstvené nad důležitostí funkce.
- Schopnost definovat vlastní monitorovací signály Pokud integrované monitorovací signály nejsou vhodné pro váš obchodní scénář, můžete definovat vlastní monitorovací signál pomocí vlastní komponenty monitorovacího signálu.
- Flexibilita při používání produkčních dat odvozování z libovolného zdroje Pokud nasazujete modely mimo Azure Machine Learning nebo nasazujete modely do dávkových koncových bodů, můžete stále shromažďovat produkční data odvozování sami, abyste je mohli použít při monitorování modelů Azure Machine Learning.
Osvědčené postupy pro monitorování modelů
Každý model strojového učení a jeho případy použití jsou jedinečné. Monitorování modelu je proto jedinečné pro každou situaci. Následující seznam popisuje doporučené osvědčené postupy pro monitorování modelů.
- Okamžitě po nasazení modelu do produkčního prostředí spusťte monitorování modelu.
- Spolupracujte s datovými vědci, kteří jsou obeznámeni s modelem, a nastavte monitorování. Datoví vědci, kteří mají přehled o modelu a jejich případech použití, mohou doporučit monitorovací signály a metriky a nastavit správné prahové hodnoty upozornění pro každou metriku, aby se zabránilo únavě výstrah.
- Do nastavení zahrňte několik monitorovacích signálů. Díky několika monitorovacím signálům získáte široké i podrobné zobrazení monitorování. Můžete například zkombinovat signály posunu dat a přisuzování funkcí, abyste získali časná upozornění na problémy s výkonem modelu.
- Jako srovnávací směrný plán použijte odpovídající referenční data. Pro referenční data použitá jako srovnávací směrný plán můžete použít nedávná data z minulosti nebo historická data, jako jsou trénovací nebo ověřovací data. Pro smysluplnější porovnání použijte trénovací data jako směrný plán porovnání pro posun dat a kvalitu dat. Ověřovací data použijte jako srovnávací směrný plán pro predikce posunu.
- Určete frekvenci monitorování na základě růstu produkčních dat v průběhu času. Pokud má například produkční model intenzivní denní provoz a denní akumulace dat je dostatečná, nastavte frekvenci monitorování na denní. V opačném případě zvažte týdenní nebo měsíční frekvenci monitorování na základě růstu vašich produkčních dat v průběhu času.
- Monitorujte hlavní funkce N nebo podmnožinu funkcí. Pokud jako srovnávací směrný plán použijete trénovací data, můžete snadno nakonfigurovat monitorování odchylek dat nebo monitorování kvality dat pro nejdůležitější funkce N. U modelů, které mají velký počet funkcí, zvažte monitorování podmnožině těchto funkcí, abyste snížili náklady na výpočty a monitorovali šum.
- Pokud máte přístup k podkladům pravdivých dat, použijte signál výkonu modelu. Pokud máte přístup k podkladům pravdivých dat, označovaných také jako skutečné hodnoty na základě vaší aplikace strojového učení, pomocí signálu výkonu modelu porovnejte základní pravdivá data s výstupem modelu. Toto porovnání poskytuje objektivní pohled na výkon modelu v produkčním prostředí.
Velikost a posun okna zpětného vyhledávání
Velikost okna zpětného vyhledávání je doba trvání ve formátu ISO 8601 pro produkční nebo referenční data. Posun okna zpětného vyhledávání je doba trvání posunu konce okna dat od data spuštění monitorování.
Například váš model v produkčním prostředí má monitor nastavený tak, aby běžel 31. ledna v 15:15 UTC. Velikost P7D
okna zpětného vyhledávání produkčních dat nebo sedmi dnů a posun okna zpětného vyhledávání dat o P0D
0 nebo nule dnů znamená, že monitor používá produkční data od 24. ledna v 15:15 UTC až do 31. ledna do 15:15 UTC, čas spuštění monitoru.
Pokud pro referenční data nastavíte posun okna zpětného vyhledávání na P7D
sedm dnů, okno referenčních dat skončí těsně před spuštěním okna produkčních dat, aby se nepřekrývaly. Potom můžete nastavit velikost okna zpětného vyhledávání referenčních dat tak, jak chcete.
Pokud například nastavíte velikost okna zpětného vyhledávání referenčních dat na P24D
24 dní, bude okno referenčních dat obsahovat data od 1. ledna do 15. ledna do 24. ledna do 15:15 UTC. Následující diagram znázorňuje tento příklad.
V některýchpřípadechch Pokud je například monitorování naplánované na týdenní spuštění v pondělí v 15:15 UTC, ale nechcete používat data z víkendu ve vašem monitorovacím běhu, můžete použít velikost P5D
okna zpětného vyhledávání nebo pět dní a posun P2D
okna zpětného vyhledávání nebo dva dny. Vaše datové okno pak začíná v předchozí pondělí v 17:15 UTC a končí v pátek v 17:15 UTC.
V praxi byste měli zajistit, aby se okno referenčních dat a okna produkčních dat nepřekrývaly. Jak je znázorněno na následujícím obrázku, můžete zajistit nepřecházení oken tak, že zajistíte posun P10D
okna zpětného vyhledávání referenčních dat nebo 10 dnů v tomto příkladu je větší nebo roven součtu velikosti okna zpětného vyhledávání produkčních dat a posunu okna zpětného vyhledávání, což je celkem sedm dnů v tomto příkladu.
Pomocí monitorování modelů Azure Machine Learning můžete použít inteligentní výchozí hodnoty pro velikost okna zpětného vyhledávání a posun okna zpětného vyhledávání nebo je můžete přizpůsobit tak, aby vyhovovaly vašim potřebám. Podporují se posuvná okna i pevná okna.
Přizpůsobení velikosti okna zpětného vyhledávání
Máte možnost vybrat velikost okna zpětného vyhledávání pro produkční data i referenční data.
Ve výchozím nastavení je velikost okna zpětného vyhledávání pro produkční data vaší frekvencí monitorování. Všechna data shromážděná v období monitorování před spuštěním úlohy monitorování se zahrnou do okna zpětného vyhledávání. Vlastnost můžete použít
production_data.data_window.lookback_window_size
k úpravě okna posuvná data pro produkční data.Ve výchozím nastavení je okno zpětného vyhledávání pro referenční data úplnou datovou sadou. Vlastnost můžete použít
reference_data.data_window.lookback_window_size
k úpravě velikosti okna zpětného vyhledávání odkazu.
Chcete-li zadat pevné datové okno pro referenční data, použijte vlastnosti reference_data.data_window.window_start_date
a reference_data.data_window.window_end_date
.
Přizpůsobení posunu okna zpětného vyhledávání
Máte možnost vybrat posun okna zpětného vyhledávání pro datové okno pro produkční i referenční data. Posun můžete použít pro podrobnou kontrolu nad daty, která monitor používá. Posun se vztahuje pouze na okna s průběžných daty.
Ve výchozím nastavení je
P0D
posun pro produkční data nebo nula dnů. Tento posun můžete upravit pomocíproduction_data.data_window.lookback_window_offset
vlastnosti.Ve výchozím nastavení je posun pro referenční data dvakrát
production_data.data_window.lookback_window_size
. Toto nastavení zajistí, že pro statisticky smysluplné výsledky monitorování bude k dispozici dostatek referenčních dat. Tento posun můžete upravit pomocíreference_data.data_window.lookback_window_offset
vlastnosti.
Monitorování signálů a metrik
Monitorování modelů Azure Machine Learning podporuje následující monitorovací signály a metriky.
Důležité
Položky označené (Preview) v tomto článku jsou aktuálně ve verzi Public Preview. Verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Monitorovací signál | Popis | Metriky | Úlohy modelu nebo podporovaný formát dat | Produkční data | Referenční data |
---|---|---|---|---|---|
Posun dat | Sleduje změny v distribuci vstupních dat modelu porovnáním distribuce s trénovacími daty modelu nebo nedávnými produkčními daty modelu. | Jensen-Shannon Distance, Index stability populace, normalizovaná vzdálenost Wasserstein, dvou vzorků Kolmogorov-Smirnov Test, Pearsonův test Chi-Squared | Klasifikace (tabulková data), regrese (tabulková data) | Produkční data: Vstupy modelu | Poslední data z minulých produkčních dat nebo trénovacích dat |
Posun předpovědi | Sleduje změny v distribuci predikovaných výstupů modelu porovnáním distribuce s ověřovacími daty, označenými testovacími daty nebo nedávnými produkčními daty. | Jensen-Shannon Distance, Index stability populace, Normalizovaná vzdálenost Wassersteinu, Vzdálenost Chebyshev, Dvou vzorků Kolmogorov-Smirnov Test, Pearsonův test Chi-Squared Test | Klasifikace (tabulková data), regrese (tabulková data) | Produkční data: Výstupy modelu | Poslední data o minulých produkčních datech nebo ověřovacích datech |
Kvalita dat | Sleduje integritu dat vstupu modelu jejich porovnáním s trénovacími daty modelu nebo nedávnými produkčními daty. Kontroly kvality dat zahrnují kontrolu hodnot null, neshody typů nebo hodnot mimo hranice. | Nulová hodnota, chybovost datového typu, mimohraniční rychlost | Klasifikace (tabulková data), regrese (tabulková data) | Produkční data: Vstupy modelu | Poslední data z minulých produkčních dat nebo trénovacích dat |
Posun přiřazení funkcí (Preview) | Na základě příspěvku funkcí k předpovědím, označované také jako důležitost funkce. Posun přiřazení funkcí sleduje důležitost funkcí během produkčního prostředí tím, že ji porovnává s důležitostí funkcí během trénování. | Normalizovaný zvýhodněný kumulativní zisk | Klasifikace (tabulková data), regrese (tabulková data) | Produkční data: Vstupy a výstupy modelu | Trénovací data (povinné) |
Výkon modelu: Klasifikace (Preview) | Sleduje objektivní výkon výstupu modelu v produkčním prostředí porovnáním se shromážděnými údaji o pravdivých informacích. | Přesnost, přesnost a úplnost | Klasifikace (tabulková data) | Produkční data: Výstupy modelu | Základní pravdivá data (povinné) |
Výkon modelu: Regrese (Preview) | Sleduje objektivní výkon výstupu modelu v produkčním prostředí porovnáním se shromážděnými údaji o pravdivých informacích. | Střední absolutní chyba (MAE), střední kvadratická chyba (MSE), odmocněná střední kvadratická chyba (RMSE) | Regrese (tabulková data) | Produkční data: Výstupy modelu | Základní pravdivá data (povinné) |
Generování umělé inteligence: Bezpečnost a kvalita generování (Preview) | Vyhodnocuje generování aplikací umělé inteligence z hlediska bezpečnosti a kvality pomocí metrik s asistencí GPT. | Uzemnění, relevance, plynulost, podobnost, soudržnost | Otázky a odpovědi | Šablona výzvy, dokončení, kontextu a poznámek | – |
Metriky kvality dat
Signál monitorování kvality dat sleduje integritu vstupních dat modelu výpočtem následujících tří metrik:
- Míra hodnot null
- Míra chyb datového typu
- Mimohraniční rychlost
Monitorování modelů Azure Machine Learning podporuje až 0,00001 přesnost pro výpočty míry nulové hodnoty, chybovosti datového typu a míry mimo hranice.
Míra hodnot null
Nulová hodnota je míra hodnot null ve vstupu modelu pro každou funkci. Pokud například okno monitorování produkčních dat obsahuje 100 řádků a hodnota funkce temperature
má hodnotu null pro 10 z těchto řádků, je hodnota null pro temperature
10 %.
Azure Machine Learning podporuje výpočet hodnoty null pro všechny datové typy funkcí.
Míra chyb datového typu
Při každém spuštění monitorování odvozuje monitorování modelu Azure Machine Learning datový typ pro každou funkci z referenčních dat. Chybovost datového typu je míra rozdílů datových typů mezi aktuálním provozním datovým oknem a referenčními daty.
Pokud je například datový typ funkce temperature
odvozen z IntegerType
referenčních dat, ale v okně produkčních dat je 10 z 100 hodnot temperature
, které nejsou IntegerType
, ale jsou to řetězce, míra temperature
chyb datového typu 10 %.
Azure Machine Learning podporuje výpočet chybovosti datových typů pro následující datové typy, které jsou k dispozici v PySpark: ShortType
, , BooleanType
, TimestampType
DoubleType
BinaryType
, StringType
, IntegerType
, , FloatType
, , ByteType
LongType
a DateType
. Pokud datový typ pro funkci není v tomto seznamu, monitorování modelu Azure Machine Learning stále běží, ale nevypočítá chybovost datového typu pro tuto funkci.
Mimohraniční rychlost
Při každém spuštění monitorování určuje monitorování modelu Azure Machine Learning přijatelný rozsah nebo sadu pro každou funkci z referenčních dat. Mimohraniční rychlost je míra hodnot pro každou funkci, která spadá mimo odpovídající rozsah nebo nastavenou referenčními daty.
- Pro číselné funkce je v příslušném rozsahu číselný interval mezi minimálními a maximálními hodnotami v referenční datové sadě, například
[0, 100]
. - Pro kategorické funkce, jako
color
je například , je vhodná oblast množinou všech hodnot obsažených v referenční datové sadě, například[red, yellow, green]
.
Pokud máte například číselnou temperature
funkci, ve které všechny hodnoty v referenční datové sadě spadají do rozsahu [37, 77]
, ale 10 z 100 hodnot temperature
v okně produkčních dat spadá mimo rozsah [37, 77]
, míra mimo hranice je temperature
10 %.
Azure Machine Learning podporuje výpočet rychlosti mimo hranice pro následující datové typy, které jsou k dispozici v PySpark: StringType
, , IntegerType
DoubleType
, ByteType
LongType
, a FloatType
. Pokud datový typ funkce není v tomto seznamu, monitorování modelu Azure Machine Learning stále běží, ale nevypočítá rychlost mimo hranice dané funkce.
Integrace monitorování modelů se službou Azure Event Grid
Události vygenerované monitorováním modelů Azure Machine Learning můžete použít k nastavení pracovních postupů řízených událostmi, procesů nebo pracovních postupů kontinuální integrace a průběžného doručování (CI/CD) pomocí Azure Event Gridu. Když monitor modelu zjistí odchylky, problémy s kvalitou dat nebo snížení výkonu modelu, můžete tyto události sledovat pomocí event Gridu a provádět akce programově.
Pokud například přesnost klasifikačního modelu v produkčním prostředí klesne pod určitou prahovou hodnotu, můžete pomocí služby Event Grid zahájit úlohu opětovného trénování, která používá shromážděná data základní pravdy. Informace o integraci služby Azure Machine Learning s Event Gridem najdete v tématu Monitorování výkonu modelů nasazených do produkčního prostředí.