Azure Machine Learning-modell monitorozása
A modellfigyelés a gépi tanulás teljes életciklusának utolsó lépése. Ez a lépés nyomon követi a modell teljesítményét az éles környezetben, és adatelemzési és üzemeltetési szempontból egyaránt elemzi a teljesítményt. Ebben a cikkben megismerheti a modellfigyelést az Azure Machine Learningben, a figyelhető jeleket és metrikákat, valamint a modellfigyelés ajánlott eljárásait.
A hagyományos szoftverrendszerekkel ellentétben a gépi tanulási rendszer viselkedése nem csak a kódban megadott szabályoktól függ, hanem az adatokból is tanulható. Az adatterjesztés változásai, a betanítási szolgáltatás eltérése, az adatminőségi problémák, a környezetek változásai és a fogyasztói viselkedés változásai mind okozhatják a modellek elavulttá válását.
Ha egy modell elavulttá válik, a teljesítménye olyan mértékben csökkenhet, hogy nem ad hozzá üzleti értéket, vagy súlyos megfelelőségi problémákat okoz a szigorúan szabályozott környezetekben. Ezért fontos a modell teljesítményének monitorozása.
Az Azure Machine Learning-modell monitorozásának működése
A monitorozás implementálásához az Azure Machine Learning a streamelt termelési következtetési adatok és referenciaadatok statisztikai számításainak végrehajtásával szerzi be a figyelési jeleket. Az éles következtetési adatok a modell éles környezetben gyűjtött bemeneti és kimeneti adatait jelentik. A referenciaadatok lehetnek korábbi betanítási, érvényesítési vagy földi igazságadatok.
Fontos
Az Azure Machine Learning-modell monitorozása csak a hitelesítő adatokon alapuló hitelesítést támogatja, például a közös hozzáférésű jogosultságkód (SAS) jogkivonatot az adattárakban tárolt adatok eléréséhez. Az adattárakról és a hitelesítési módokról további információt az Adatkezelés című témakörben talál.
Minden monitorozási jel egy vagy több metrikát is magában foglalt. Ezekhez a metrikákhoz küszöbértékeket állíthat be, hogy riasztásokat aktiváljon a modell- vagy adatrendellenességekről az Azure Machine Learning vagy az Azure Event Grid használatával. Riasztások érkezésekor az Azure Machine Learning Studióval elemezheti vagy elháríthatja a monitorozási jeleket a modell folyamatos minőségének javítása érdekében.
Az Azure Machine Learning a következő folyamatot használja egy beépített monitorozási jel, például az adateltolódás kezelésére egy éles modell esetében:
Az Azure Machine Learning először kiszámítja a szolgáltatás értékének statisztikai eloszlását a betanítási adatokban. Ez a disztribúció a szolgáltatás alapkonfigurációja.
Ezután az Azure Machine Learning kiszámítja a szolgáltatás legújabb, éles környezetben rögzített értékeinek statisztikai eloszlását.
Az Azure Machine Learning ezután statisztikai tesztet végez, vagy kiszámítja a távolsági pontszámot, hogy összehasonlítsa a funkció legújabb értékeinek eloszlását az alapkonfigurációval. Ha a két eloszlás közötti tesztstatisztika vagy távolság pontszáma meghaladja a felhasználó által megadott küszöbértéket, az Azure Machine Learning azonosítja az anomáliát, és értesíti a felhasználót.
Modellfigyelés beállítása és használata
Modellfigyelés használata az Azure Machine Learningben:
Először engedélyezze az éles következtetési adatgyűjtést.
- Ha egy modellt online Azure Machine Learning-végponton helyez üzembe, engedélyezheti az éles következtetési adatgyűjtést az Azure Machine Learning-modell adatgyűjtésével.
- Ha egy modellt az Azure Machine Learningen vagy egy Azure Machine Learning-kötegvégponton kívül helyez üzembe, akkor ön a felelős az Azure Machine Learning-modell monitorozásához használható éles következtetési adatok gyűjtéséért.
Ezután állítsa be a modellfigyelést. Az Azure Machine Learning SDK/CLI 2.0 vagy a studio felhasználói felülete segítségével egyszerűen beállíthatja a modellfigyelést. A beállítás során megadhatja az előnyben részesített monitorozási jeleket, és testre szabhatja az egyes jelek metrikáit és küszöbértékeit.
Végül tekintse meg és elemezze a modell monitorozási eredményeit. A modellfigyelés beállítása után az Azure Machine Learning egy monitorozási feladatot futtat a megadott ütemezés szerint. Minden futtatás kiszámítja és kiértékeli az összes kiválasztott monitorozási jel metrikáit, és riasztási értesítéseket indít el a megadott küszöbérték túllépésekor. A riasztási értesítésben található hivatkozást követve megtekintheti és elemezheti a figyelési eredményeket az Azure Machine Learning-munkaterületen.
A modellfigyelés képességei
Az Azure Machine Learning a következő képességeket biztosítja a modellek folyamatos monitorozásához:
- Beépített monitorozási jelek táblázatos adatokhoz, beleértve az adateltolódást, az előrejelzési eltérést, az adatminőséget, a jellemzők hozzárendelési eltérését és a modell teljesítményét.
- Az online végpontok beépített modellmonitorozása. Ha a modellt egy online végponton helyezi üzembe éles környezetben, az Azure Machine Learning automatikusan összegyűjti az éles következtetési adatokat, és a folyamatos monitorozáshoz használja.
- Több monitorozási jel egy monitorozási beállításban. Minden monitorozási jelnél kiválaszthatja az előnyben részesített metrikákat és riasztási küszöbértékeket.
- Referenciaadatok kiválasztása összehasonlításhoz. A jelek monitorozásához betanítási adatokkal vagy a legutóbbi üzemi adatokkal állíthat be referenciaadatokat.
- Az adateltolódás vagy az adatminőség monitorozásának legfontosabb N funkciói. Ha referenciaadatként betanítási adatokat használ, meghatározhatja az adateltolódást vagy az adatminőségi jeleket a funkció fontossága fölé csoportosítva.
- Egyéni monitorozási jelek definiálásának képessége. Ha a beépített monitorozási jelek nem megfelelőek az üzleti forgatókönyvhöz, saját monitorozási jelet is meghatározhat egy egyéni monitorozási jelösszetevővel.
- Rugalmasan használhat éles következtetési adatokat bármely forrásból. Ha az Azure Machine Learningen kívül helyez üzembe modelleket, vagy kötegvégpontokon helyez üzembe modelleket, akkor is gyűjthet éles következtetési adatokat az Azure Machine Learning-modellek monitorozásához.
Ajánlott eljárások a modell monitorozásához
Minden gépi tanulási modell és használati esetei egyediek. Ezért a modellfigyelés minden helyzetben egyedi. Az alábbi lista a modellfigyelés ajánlott eljárásait ismerteti.
- A modell éles környezetben való üzembe helyezése után azonnal megkezdheti a modellfigyelést.
- A monitorozás beállításához olyan adattudósokkal dolgozhat, akik ismerik a modellt. Azok az adattudósok, akik betekintést nyújtanak a modellbe és annak használati eseteibe, javasolhatják a jelek és metrikák figyelését, és beállíthatják a megfelelő riasztási küszöbértékeket az egyes metrikákhoz a riasztások kifáradásának elkerülése érdekében.
- Több monitorozási jelet is felvehet a beállításba. Több monitorozási jellel széles és részletes monitorozási nézeteket is kaphat. Kombinálhatja például az adateltolódást és a funkció-hozzárendelési eltérési jeleket, hogy korai figyelmeztetéseket kapjon a modell teljesítményproblémáiról.
- Használja a megfelelő referenciaadatokat összehasonlítási alapkonfigurációként. Az összehasonlítási alapkonfigurációként használt referenciaadatokhoz használhatja a legutóbbi éles vagy előzményadatokat, például betanítási vagy érvényesítési adatokat. Az érthetőbb összehasonlítás érdekében használja a betanítási adatokat az adateltolódás és az adatminőség összehasonlítási alapkonfigurációjaként. Az előrejelzési eltérés összehasonlítási alapkonfigurációjaként használjon érvényesítési adatokat.
- Az éles adatok időbeli növekedése alapján adja meg a figyelési gyakoriságot. Ha például az éles modell nagy napi forgalommal rendelkezik, és a napi adatfelhalmozódás elegendő, állítsa a figyelési gyakoriságot napi értékre. Ellenkező esetben fontolja meg a heti vagy havi monitorozási gyakoriságot az éles adatok időbeli növekedése alapján.
- A legfontosabb N-funkciók vagy szolgáltatásrészek figyelése. Ha a betanítási adatokat használja összehasonlítási alapkonfigurációként, egyszerűen konfigurálhatja az adateltolódások monitorozását vagy az adatminőség monitorozását az N legfontosabb funkcióihoz. A nagy számú funkcióval rendelkező modellek esetében fontolja meg ezeknek a funkcióknak egy részhalmazának monitorozását a számítási költségek csökkentése és a zaj monitorozása érdekében.
- A modell teljesítményjelét akkor használja, ha hozzáféréssel rendelkezik az alapigazság-adatokhoz. Ha hozzáféréssel rendelkezik a gépi tanulási alkalmazáson alapuló földi igazságadatokhoz, más néven aktásokhoz, a modell teljesítményjelével hasonlítsa össze az alapigaz adatokat a modell kimenetével. Ez az összehasonlítás objektív képet ad a modell teljesítményéről az éles környezetben.
Visszatekintő ablak mérete és eltolása
A visszatekintő ablak mérete az éles vagy referenciaadat-ablak ISO 8601 formátumú időtartama. A visszatekintő ablak eltolása az az időtartam, amely az adatablak végét eltolja a figyelési futtatás dátumától.
Az éles modell például egy monitorkészlettel rendelkezik, amely január 31-én 15:15-kor (UTC) fut. Az éles adatok visszakeresési ablakának P7D
mérete vagy hét nap, valamint az adatvisszatekintési időszak eltolása P0D
vagy nulla nap, azt jelenti, hogy a figyelő január 24-től 15:15-kor (UTC) 3:15-kor (UTC) 3:15-kor (UTC) használja az éles adatokat.
A referenciaadatok esetében, ha a visszatekintő ablak eltolását P7D
hét napra vagy hét napra állítja be, a referenciaadat-ablak közvetlenül az éles adatablak kezdete előtt ér véget, így nincs átfedés. Ezután beállíthatja, hogy a referenciaadat-visszatekintő ablak mérete a kívánt méretű legyen.
Ha például a referenciaadat-visszatekintő ablak méretét P24D
24 napra vagy 24 napra állítja be, a referenciaadat-ablak január 1-jén 15:15-kor (UTC) és január 24-én 15:15(UTC) időpontig tartalmazza az adatokat. Az alábbi ábra ezt a példát szemlélteti.
Bizonyos esetekben hasznos lehet, ha a visszatekintő ablak eltolását nulla napnál nagyobb számra állítja be az éles adatokhoz. Ha például a figyelő heti futásra van ütemezve hétfőnként 15:15-kor (UTC) időpontban, de nem szeretne adatokat használni a hétvégéről a monitorozási futás során, használhat egy vagy öt napos visszatekintő ablakméretet P5D
, valamint egy vagy két napos visszatekintő ablakeltolódást P2D
. Az adatablak ezután az előző hétfőn 15:15-kor (UTC) kezdődik, és pénteken 15:15-kor (UTC) ér véget.
A gyakorlatban győződjön meg arról, hogy a referenciaadat-ablak és az éles adatablak nem fedi egymást. Az alábbi ábrán látható módon úgy biztosíthatja a vissza nem kapcsolt ablakokat, hogy a referenciaadatok visszakeresési ablakának eltolása vagy P10D
a jelen példában 10 nap nagyobb vagy egyenlő az éles adatvisszatekintési ablak méretének és a visszatekintő ablak eltolásának összegével, amely ebben a példában hét nap.
Az Azure Machine Learning-modell monitorozásával intelligens alapértelmezett értékeket használhat a visszatekintő ablak méretéhez és a visszatekintő ablak eltolásához, vagy testre szabhatja őket az igényeinek megfelelően. Mind a gördülő ablakok, mind a rögzített ablakok támogatottak.
A visszatekintő ablak méretének testreszabása
Rugalmasan választhatja ki a visszatekintő ablak méretét mind az éles adatokhoz, mind a referenciaadatokhoz.
Alapértelmezés szerint az éles adatok visszatekintő ablakának mérete a figyelési gyakoriság. A figyelési feladat futtatása előtt a figyelési időszakban összegyűjtött összes adat szerepel a visszatekintési ablakban. A
production_data.data_window.lookback_window_size
tulajdonság használatával módosíthatja az éles adatok gördülő adatablakát.Alapértelmezés szerint a referenciaadatok visszakeresési ablaka a teljes adatkészlet. A tulajdonság használatával módosíthatja a
reference_data.data_window.lookback_window_size
visszatekintő ablak méretét.
A referenciaadatok rögzített adatablakának megadásához használja a tulajdonságokat reference_data.data_window.window_start_date
és reference_data.data_window.window_end_date
a .
Visszatekintő ablak eltolásának testreszabása
Rugalmasan választhatja ki az adatablak visszatekintő ablakának eltolását mind az éles adatok, mind a referenciaadatok esetében. Az eltolással részletesen szabályozhatja a monitor által használt adatokat. Az eltolás csak a gördülő adatablakokra vonatkozik.
Alapértelmezés szerint az éles adatok eltolása
P0D
vagy nulla nap. Ezt az eltolást aproduction_data.data_window.lookback_window_offset
tulajdonsággal módosíthatja.Alapértelmezés szerint a referenciaadatok eltolása a kétszerese
production_data.data_window.lookback_window_size
. Ez a beállítás biztosítja, hogy elegendő referenciaadat legyen a statisztikailag értelmezhető monitorozási eredményekhez. Ezt az eltolást areference_data.data_window.lookback_window_offset
tulajdonsággal módosíthatja.
Jelek és metrikák monitorozása
Az Azure Machine Learning-modell monitorozása a következő monitorozási jeleket és metrikákat támogatja.
Fontos
A cikkben megjelölt (előzetes verziójú) elemek jelenleg nyilvános előzetes verzióban érhetők el. Az előzetes verzió szolgáltatásszint-szerződés nélkül érhető el, és éles számítási feladatokhoz nem ajánlott. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Monitorozási jel | Leírás | Mérőszámok | Tevékenységek modellezése vagy támogatott adatformátum | Éles adatok | Referenciaadatok |
---|---|---|---|---|---|
Adateltolódás | Nyomon követi a modell bemeneti adatainak eloszlásában bekövetkező változásokat a modell betanítási adataival vagy a legutóbbi éles adatokkal való összehasonlításával. | Jensen-Shannon Distance, Population Stability Index, Normalized Wasserstein Distance, Two-Sample Kolmogorov-Smirnov Test, Pearson's Chi-Squared Test | Besorolás (táblázatos adatok), Regresszió (táblázatos adatok) | Éles adatok: Modellbemenetek | Legutóbbi éles adatok vagy betanítási adatok |
Előrejelzési eltérés | Nyomon követi a modell előrejelzett kimeneteinek eloszlásában bekövetkező változásokat, ha összehasonlítja az eloszlást az érvényesítési adatokkal, a címkézett tesztadatokkal vagy a legutóbbi éles adatokkal. | Jensen-Shannon Distance, Population Stability Index, Normalized Wasserstein Distance, Chebyshev Distance, Two-Sample Kolmogorov-Smirnov Test, Pearson's Chi-Squared Test | Besorolás (táblázatos adatok), Regresszió (táblázatos adatok) | Éles adatok: Modellkimenetek | Legutóbbi éles adatok vagy érvényesítési adatok |
Adatminőség | Nyomon követi a modell bemenetének adatintegritását a modell betanítási adataival vagy a legutóbbi éles adatokkal való összehasonlításával. Az adatminőség-ellenőrzések közé tartozik a null értékek ellenőrzése, a típuseltérés vagy a határon kívüli értékek ellenőrzése. | Null érték aránya, Adattípus hibaaránya, Határon kívüli értékek aránya | Besorolás (táblázatos adatok), Regresszió (táblázatos adatok) | Éles adatok: Modellbemenetek | Legutóbbi éles adatok vagy betanítási adatok |
Funkció-hozzárendelés eltérése (előzetes verzió) | A funkciók előrejelzéshez való hozzájárulása, más néven a funkció fontossága alapján. A funkció-hozzárendelés eltolódása nyomon követi a funkció fontosságát az éles környezetben, és összehasonlítja a funkció fontosságát a betanítás során. | Normalizált diszkontált halmozott nyereség | Besorolás (táblázatos adatok), Regresszió (táblázatos adatok) | Éles adatok: Modellbemenetek és kimenetek | Betanítási adatok (kötelező) |
Modell teljesítménye: Besorolás (előzetes verzió) | Nyomon követi a modell éles kimenetének objektív teljesítményét az összegyűjtött alapadatok összehasonlításával. | Pontosság, pontosság és visszahívás | Besorolás (táblázatos adatok) | Éles adatok: Modellkimenetek | Alapigazsági adatok (kötelező) |
Modell teljesítménye: Regresszió (előzetes verzió) | Nyomon követi a modell éles kimenetének objektív teljesítményét az összegyűjtött alapadatok összehasonlításával. | Átlagos abszolút hiba (MAE), középérték négyzetes hiba (MSE), gyökér középértéke négyzetes hiba (RMSE) | Regresszió (táblázatos adatok) | Éles adatok: Modellkimenetek | Alapigazsági adatok (kötelező) |
Generatív AI: Generációs biztonság és minőség (előzetes verzió) | Kiértékeli a generatív AI-alkalmazásokat a biztonság és a minőség szempontjából a GPT által támogatott metrikák használatával. | Alapesség, Relevancia, Fluency, Hasonlóság, Koherencia | Kérdések és válaszok | Parancssori, befejezési, környezet- és széljegyzetsablon | n/a |
Adatminőségi metrikák
Az adatminőség-monitorozási jel a modell bemeneti adatainak integritását követi nyomon a következő három metrika kiszámításával:
- Null érték aránya
- Adattípus hibaaránya
- Határon kívüli arány
Az Azure Machine Learning-modell monitorozása legfeljebb 0,00001 pontosságot támogat a null értékarány, az adattípus hibaaránya és a határon kívüli sebesség kiszámításához.
Null érték aránya
A null érték aránya az egyes funkciók modellbemenetében szereplő null értékek aránya. Ha például a figyelési éles adatok ablaka 100 sort tartalmaz, és a temperature
funkció értéke 10 sornál null, akkor a null érték temperature
10%.
Az Azure Machine Learning támogatja a null érték arányának kiszámítását az összes funkcióadattípus esetében.
Adattípus hibaaránya
Minden monitorozási futtatás során az Azure Machine Learning-modell monitorozása a referenciaadatokból következtet az egyes funkciók adattípusára. Az adattípus hibaaránya az aktuális éles adatablak és a referenciaadatok közötti adattípus-különbségek aránya.
Ha például a szolgáltatás adattípusa temperature
a referenciaadatokból származik IntegerType
, de az éles adatablakban a 100 érték temperature
közül 10 nem IntegerType
sztring, akkor az adattípus hibaaránya temperature
10%.
Az Azure Machine Learning a PySparkban elérhető alábbi adattípusok adattípus-hibaarányának kiszámítását támogatja: ShortType
, , BooleanType
, BinaryType
DoubleType
, TimestampType
, IntegerType
LongType
FloatType
StringType
ByteType
és .DateType
Ha egy szolgáltatás adattípusa nem szerepel ebben a listában, az Azure Machine Learning-modell monitorozása továbbra is fut, de nem számítja ki a funkció adattípus-hibaarányát.
Határon kívüli arány
Minden monitorozási futtatás során az Azure Machine Learning-modell monitorozása meghatározza a referenciaadatokból az egyes funkciók elfogadható tartományát vagy beállítását. A határon kívüli ráta minden olyan funkció értékaránya, amely a megfelelő tartományon kívül esik, vagy amelyet a referenciaadatok határoznak meg.
- Numerikus jellemzők esetén a megfelelő tartomány a referenciaadatkészlet minimális és maximális értékei közötti numerikus intervallum, például
[0, 100]
. - Kategorikus funkciók, például
color
a megfelelő tartomány a referenciaadatkészletben található összes érték halmaza, például[red, yellow, green]
.
Ha például olyan numerikus temperature
funkcióval rendelkezik, amelyben a referenciaadatkészlet összes értéke a tartományon [37, 77]
belülre esik, de az éles adatablak 100 értékéből temperature
10 a tartományon [37, 77]
kívül esik, akkor a határon kívüli értékek aránya temperature
10%.
Az Azure Machine Learning támogatja a PySparkban elérhető alábbi adattípusok határon kívüli sebességének kiszámítását: StringType
, , IntegerType
DoubleType
, ByteType
, LongType
és FloatType
. Ha egy szolgáltatás adattípusa nem szerepel ebben a listában, az Azure Machine Learning-modell monitorozása továbbra is fut, de nem számítja ki a funkció korláton kívüli sebességét.
Modellfigyelési integráció az Azure Event Griddel
Az Azure Machine Learning-modell monitorozási futtatásai által generált események használatával eseményvezérelt alkalmazásokat, folyamatokat vagy folyamatos integrációs/folyamatos kézbesítési (CI/CD) munkafolyamatokat állíthat be az Azure Event Grid használatával. Ha a modellmonitor eltérést, adatminőségi problémákat vagy a modell teljesítménycsökkenését észleli, ezeket az eseményeket az Event Grid segítségével követheti nyomon, és programozott módon végezhet műveleteket.
Ha például a besorolási modell pontossága az éles környezetben egy bizonyos küszöbérték alá csökken, az Event Grid használatával elindíthat egy újratanítási feladatot, amely az összegyűjtött alapigazsági adatokat használja. Az Azure Machine Learning és az Event Grid integrálásának megismeréséhez tekintse meg az éles környezetben üzembe helyezett modellek teljesítményének figyelése című témakört.