Sdílet prostřednictvím


Monitorování modelů pomocí služby Azure Machine Učení

V tomto článku se dozvíte o monitorování modelů ve službě Azure Machine Učení, signálech a metrikách, které můžete monitorovat, a doporučených postupech při používání monitorování modelů.

Případ monitorování modelů

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 má za cíl porozumět výkonu z hlediska datových věd i provozu.

Na rozdíl od tradičních softwarových systémů se chování systémů strojového učení řídí nejen pravidly uvedenými v kódu, ale také chováním modelu získaném z dat. Změny distribuce dat, nerovnoměrná distribuce dat, problémy s kvalitou dat, posuny v prostředích nebo změny chování uživatelů můžou způsobit, že model přestane být 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.

Omezení monitorování modelů ve službě Azure Machine Učení

Monitorování modelu Učení Azure podporuje pouze použití ověřování na základě přihlašovacích údajů (např. token 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.

Jak funguje monitorování modelů ve službě Azure Machine Učení

K implementaci monitorování azure Machine Učení získává monitorovací signály prováděním statistických výpočtů na streamovaných produkčních odvozovacích datech a referenčních datech. Referenční data mohou být historická trénovací data, ověřovací data nebo základní pravdivá data. Na druhou stranu data odvozování produkce odkazují na vstupní a výstupní data modelu shromážděná v produkčním prostředí.

Každý monitorovací signál má jednu nebo více metrik. Uživatelé můžou pro tyto metriky nastavit prahové hodnoty, aby mohli přijímat upozornění prostřednictvím služby Azure Machine Učení nebo Azure Event Gridu o modelech nebo datových anomáliích. Tato upozornění můžou uživatele vyzvat k analýze nebo řešení potíží se signály monitorování v studio Azure Machine Learning, aby mohli průběžně zlepšovat kvalitu modelu.

Následující kroky popisují příklad statistického výpočtu použitého k získání integrovaného monitorovacího signálu, jako je posun dat, pro model, který je v produkčním prostředí.

  • Pro funkci v trénovacích datech vypočítejte statistické rozdělení hodnot. Toto rozdělení je základní rozdělení funkce.
  • Vypočítejte statistické rozdělení nejnovějších hodnot funkce, které se zobrazují v produkčním prostředí.
  • Porovnejte rozdělení nejnovějších hodnot funkce v produkčním prostředí s rozdělením podle směrného plánu provedením statistického testu nebo výpočtem skóre vzdálenosti.
  • 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 Učení identifikuje anomálii a upozorní uživatele.

Nastavení monitorování modelů

Povolení a používání monitorování modelů ve službě Azure Machine Učení:

  1. Povolte shromažďování dat odvozování v produkčním prostředí. Pokud nasadíte model do online koncového bodu Azure Machine Učení, můžete shromažďování dat odvozování v produkčním prostředí povolit pomocí shromažďování dat modelu Azure Machine Učení modelu. Pokud ale nasadíte model mimo azure Machine Učení nebo do koncového bodu služby Azure Machine Učení batch, zodpovídáte za shromažďování produkčních dat odvozování. Tato data pak můžete použít pro monitorování modelu služby Azure Machine Učení.
  2. Nastavení monitorování modelu K snadnému nastavení monitorování modelů můžete použít sadu Azure Machine Učení SDK/CLI 2.0 nebo uživatelské rozhraní studia. 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.
  3. Umožňuje zobrazit a analyzovat výsledky monitorování modelů. Jakmile je monitorování modelu nastavené, Azure Machine Učení naplánuje úlohu monitorování tak, aby běžela ve vaší zadané frekvenci. 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í ve vašem pracovním prostoru Azure Machine Učení, můžete postupovat podle odkazu v oznámení o upozornění.

Možnosti monitorování modelů

Azure Machine Učení poskytuje následující možnosti pro průběžné monitorování modelů:

  • Integrované monitorovací signály. Monitorování modelů poskytuje integrované monitorovací signály pro tabulková data. Mezi tyto monitorovací signály patří posun dat, posun predikce, kvalita dat, posun přisuzování funkcí a výkon modelu.
  • Počáteční nastavení monitorování modelu pomocí azure Machine Učení online koncového bodu Pokud nasadíte model do produkčního prostředí v online koncovém bodu azure machine Učení, Azure Machine Učení automaticky shromažďuje produkční data odvozování a používá je k průběžnému monitorování.
  • Použití více monitorovacích signálů pro široké zobrazení. Do jednoho nastavení monitorování můžete snadno zahrnout několik monitorovacích signálů. U každého monitorovacího signálu můžete vybrat upřednostňované metriky a vyladit prahovou hodnotu upozornění.
  • Použití trénovacích dat nebo nedávných, minulých produkčních dat jako referenčních dat pro porovnání. U monitorovacích signálů vám Azure Machine Učení umožňuje nastavit referenční data pomocí trénovacích dat nebo nedávných minulých produkčních dat.
  • Monitorování hlavních N funkcí pro posun dat nebo kvalitu 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.
  • Flexibilita definování monitorovacího signálu 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 službu Azure Machine Učení nebo pokud nasazujete modely do koncových bodů služby Azure Machine Učení batch, můžete shromažďovat produkční data odvozování, která se použijí ve službě Azure Machine Učení k monitorování modelů.

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í datové okno, které se vrací od data spuštění monitorování.

Posun okna zpětného vyhledávání je doba trvání (ve formátu ISO 8601), která posune konec okna dat od data spuštění monitorování.

Předpokládejme například, že je váš model v produkčním prostředí a monitor je nastavený tak, aby běžel 31. ledna v 15:15 UTC, pokud nastavíte velikost P7D okna zpětného vyhledávání v produkčním prostředí (sedm dní) pro monitorování a posun P0D okna zpětného vyhledávání (nula dnů), monitor používá data od 34. ledna do 31. ledna 15:15 UTC až do 31. ledna 15:15 UTC (čas spuštění monitoru) v okně dat.

Kromě toho platí, že pokud pro referenční data nastavíte posun okna zpětného vyhledávání na P7D (sedm dnů), skončí okno referenčních dat přímo 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. Například nastavením velikosti okna zpětného vyhledávání referenčních dat na P24D (24 dní) obsahuje okno referenčních dat data od 1. ledna v 15:15 UTC až do 24. ledna do 15:15 UTC. Následující obrázek znázorňuje tento příklad.

Diagram znázorňující velikost okna zpětného vyhledávání a posun pro referenční a produkční data

V některých případech může být užitečné nastavit posun okna zpětného vyhledávání pro produkční data na číslo větší než nula dnů. 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 spuštění monitorování, můžete použít velikostP5D okna zpětného vyhledávání (pět dní) a posunP2D okna zpětného vyhledávání (dva dny). Pak se vaše datové okno spustí 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řekrývání oken tím, že zajistíte, že posun okna zpětného vyhledávání referenčních dat (P10D nebo v tomto příkladu 10 dnů) 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í (celkem sedm dnů).

Diagram znázorňující nepřekrývající se referenční data a okna produkčních dat

S monitorováním modelu Azure Machine Učení 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 podle svých potřeb. Podporují se také 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í. To znamená, že všechna data shromážděná v období monitorování před spuštěním úlohy monitorování budou analyzována. 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, můžete použít 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 platí jenom pro okna s průběžnámi daty.

  • Ve výchozím nastavení je P0D posun pro produkční data (nula dnů). Tento posun můžete upravit pomocí production_data.data_window.lookback_window_offset vlastnosti.

  • Ve výchozím nastavení je posun referenčních dat dvojnásobný 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 Učení podporuje následující seznam monitorovacích signálů a metrik:

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 (podporovaný formát dat) Produkční data Referenční data
Posun dat 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, minulými produkčními daty. 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 Posun předpovědi sleduje změny v distribuci předpovídaného výstupu modelu porovnáním distribuce s ověřovacími daty, označenými testovacími daty nebo nedávnými minulý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 Kvalita dat sleduje integritu dat vstupu modelu tak, že je porovná s trénovacími daty modelu nebo nedávnými, minulý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) Posun přisuzování funkcí vychází z příspěvku funkcí k předpovědím (označuje se 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 modelů a výstupy Trénovací data (povinné)
Výkon modelu – klasifikace (Preview) Výkon modelu sleduje objektivní výkon výstupu modelu v produkčním prostředí tím, že ho porovná se shromážděnými podkladovými pravdivými daty. 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) Výkon modelu sleduje objektivní výkon výstupu modelu v produkčním prostředí tím, že ho porovná se shromážděnými podkladovými pravdivými daty. 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 prompt, completion, context, and annotation template

Metriky pro signál monitorování kvality dat

Signál monitorování kvality dat sleduje integritu vstupních dat modelu tím, že vypočítává tři metriky:

  • Míra hodnot null
  • Míra chyb datového typu
  • Mimohraniční rychlost

Míra hodnot null

Sazba hodnoty null 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 konkrétní funkce temperature má hodnotu null pro 10 z těchto řádků, je hodnota null pro temperature 10 %.

  • Azure Machine Učení podporuje výpočet hodnoty Null pro všechny datové typy funkcí.

Míra chyb datového typu

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. Během každého spuštění monitorování azure machine Učení monitorování modelu odvodí datový typ pro každou funkci z referenčních dat. Pokud je například datový typ pro funkci temperature odvozen z IntegerType referenčních dat, ale v okně produkčních dat není 10 z 100 hodnot temperature typu IntegerType (možná řetězce), je chybovost temperature datového typu 10 %.

  • Azure Machine Učení podporuje výpočet míry chyb datového typu pro následující datové typy, které jsou k dispozici v PySpark: ShortType, , BinaryTypeBooleanType, DoubleType, TimestampType, , StringType, IntegerType, FloatType, ByteType, , LongTypea DateType.
  • Pokud datový typ pro funkci není v tomto seznamu obsažen, bude monitorování modelu azure machine Učení stále spuštěno, ale nevypočítá chybovost datového typu pro danou funkci.

Mimohraniční rychlost

Mimohraniční rychlost je míra hodnot pro každou funkci, která spadá mimo odpovídající rozsah nebo nastavenou referenčními daty. Při každém spuštění monitorování určuje monitorování modelu Azure Machine Učení přijatelný rozsah nebo sadu pro každou funkci z referenčních dat.

  • Pro číselnou funkci je příslušný rozsah číselným intervalem minimální hodnoty v referenční datové sadě na maximální hodnotu, například [0, 100].
  • Pro kategorickou funkci, například color, 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 funkci temperature , ve které všechny hodnoty spadají do rozsahu [37, 77] v referenční datové sadě, ale v okně produkčních dat je 10 z 100 hodnot propad temperature mimo rozsah [37, 77], pak je míra temperature mimo hranice 10 %.

  • Azure Machine Učení podporuje výpočet rychlosti mimo hranice pro tyto datové typy, které jsou k dispozici v PySpark: StringType, IntegerType, DoubleType, ByteType, LongTypea FloatType.
  • Pokud datový typ funkce není v tomto seznamu obsažen, bude monitorování modelu azure machine Učení stále spuštěno, ale nevypočítá rychlost mimo hranice pro danou konkrétní funkci.

Monitorování modelů azure Machine Učení podporuje až 0,00001 přesnost pro výpočty míry nulové hodnoty, chybovost datového typu a nevázaných rychlostí.

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ásleduje seznam doporučených osvědčených postupů 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í modelů. Datoví vědci, kteří mají přehled o modelu a jejich případech použití, jsou v nejlepší pozici, aby doporučili monitorovací signály a metriky a nastavili správné prahové hodnoty upozornění pro každou metriku (aby se zabránilo únavě výstrah).
  • Do nastavení monitorování zahrňte několik monitorovacích signálů. Díky několika monitorovacím signálům získáte obecný i podrobný přehled o monitorování. Můžete například zkombinovat signály posunu dat a přisuzování funkcí, abyste získali včasné upozornění na problémy s výkonem modelu.
  • Jako referenční data použijte trénovací data modelu. Pro referenční data použitá jako srovnávací směrný plán umožňuje Azure Machine Učení použít poslední data z předchozí produkce nebo historická data (například trénovací data nebo ověřovací data). Pro smysluplné porovnání doporučujeme použít trénovací data jako směrný plán porovnání pro posun dat a kvalitu dat. Pro posun předpovědi použijte ověřovací data jako směrný plán porovnání.
  • Určete frekvenci monitorování na základě toho, jak se budou vaše produkční data v průběhu času zvětšovat. Pokud má například produkční model denní objem provozu a denní akumulace dat je dostatečná pro monitorování, můžete nastavit frekvenci monitorování na denní. V opačném případě můžete zvážit týdenní nebo měsíční frekvenci monitorování na základě růstu produkčních dat v průběhu času.
  • Monitorujte nejdůležitější N důležité funkce nebo podmnožinu funkcí. Pokud jako směrný plán porovnání použijete trénovací data, můžete snadno nakonfigurovat monitorování odchylek dat nebo monitorování kvality dat pro hlavní 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 datům základní pravdy (označované také jako skutečné hodnoty) na základě konkrétních údajů vaší aplikace strojového učení, doporučujeme použít signál výkonu modelu k porovnání základních pravdivých dat s výstupem modelu. Toto porovnání poskytuje objektivní pohled na výkon modelu v produkčním prostředí.

Integrace monitorování modelů se službou Azure Event Grid

K nastavení aplikací, procesů nebo pracovních postupů CI/CD pomocí Azure Event Gridu můžete použít události generované spuštěním monitorování modelu azure Machine Učení.

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 Učení se službou Event Grid najdete v tématu Provádění průběžného monitorování modelů ve službě Azure Machine Učení.