Azure Machine Learning-eseményeken alapuló alkalmazások, folyamatok vagy CI/CD-munkafolyamatok aktiválása
Ebből a cikkből megtudhatja, hogyan állíthat be eseményvezérelt alkalmazásokat, folyamatokat vagy CI/CD-munkafolyamatokat az Azure Machine Learning-események alapján. Például hibaértesítési e-mailek vagy ml-folyamat fut, ha bizonyos feltételeket észlel az Azure Event Grid.
Az Azure Machine Learning a gépi tanulási folyamat teljes életciklusát kezeli, beleértve a modellbetanítást, a modell üzembe helyezését és a monitorozást. Az Event Grid használatával reagálhat az Azure Machine Learning-eseményekre, például a betanítási futtatások befejezésére, a modellek regisztrálására és üzembe helyezésére, valamint az adateltolódás észlelésére modern kiszolgáló nélküli architektúrák használatával. Ezután előfizethet és felhasználhat olyan eseményeket, mint a futtatási állapot módosult, a futtatás befejezése, a modellregisztráció, a modell üzembe helyezése és az adateltolódás észlelése egy munkaterületen belül.
Mikor érdemes eseményvezérelt műveletekhez használni az Event Gridet:
- E-mailek küldése futási hibával és futtatás befejezésével
- Azure-függvény használata a modell regisztrálása után
- Események streamelése az Azure Machine Learningből különböző végpontokra
- Ml-folyamat aktiválása eltérés észlelésekor
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.
Előfeltételek
Az Event Grid használatához közreműködői vagy tulajdonosi hozzáférésre van szüksége ahhoz az Azure Machine Learning-munkaterülethez, amelyhez eseményeket hoz létre.
Az eseménymodell > típusai
Az Azure Event Grid olyan forrásokból olvassa be az eseményeket, mint az Azure Machine Learning és más Azure-szolgáltatások. Ezek az események ezután olyan eseménykezelőknek lesznek elküldve, mint az Azure Event Hubs, az Azure Functions, a Logic Apps és mások. Az alábbi ábra bemutatja, hogy az Event Grid hogyan köti össze a forrásokat és a kezelőket, de nem a támogatott integrációk átfogó listája.
További információ az eseményforrásokról és az eseménykezelőkről: Mi az az Event Grid?
Az Azure Machine Learning eseménytípusai
Az Azure Machine Learning eseményeket biztosít a gépi tanulási életciklus különféle pontjain:
Eseménytípus | Leírás |
---|---|
Microsoft.MachineLearningServices.RunCompleted |
A Machine Learning-kísérlet futtatásának befejeződésekor jön létre |
Microsoft.MachineLearningServices.ModelRegistered (előzetes verzió) |
A Machine Learning-modellnek a munkaterületen való regisztrálásakor jön létre |
Microsoft.MachineLearningServices.ModelDeployed (előzetes verzió) |
A következtetési szolgáltatás legalább egy modellel történő üzembe helyezésének befejeződésekor jön létre |
Microsoft.MachineLearningServices.DatasetDriftDetected (előzetes verzió) |
A két adathalmazra irányuló sodródásészlelési feladat befejeződésekor jön létre |
Microsoft.MachineLearningServices.RunStatusChanged |
Futtatás állapotának módosításakor aktiválódik |
Szűrés > feliratkozás eseményekre
Ezeket az eseményeket az Azure Event Griden keresztül tesszük közzé. Az Azure Portalon, a PowerShellben vagy az Azure CLI-ben egyszerűen feliratkozhat eseményekre egy vagy több eseménytípus megadásával és a szűrési feltételek megadásával.
Az események beállításakor szűrőket alkalmazhat csak adott eseményadatok aktiválására. Az alábbi példában a futtatási állapotban módosított események esetén futtatási típusok szerint szűrhet. Az esemény csak akkor aktiválódik, ha teljesülnek a feltételek. A szűrhető eseményadatokról további információt az Azure Machine Learning Event Grid-sémában talál.
Az Azure Machine Learning-események előfizetéseit azure-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) védi. Esemény-előfizetéseket csak a munkaterület közreműködője vagy tulajdonosa hozhat létre, frissíthet és törölhet. Az esemény-előfizetésekre szűrők alkalmazhatók az esemény-előfizetés létrehozásakor vagy egy későbbi időpontban.
Lépjen az Azure Portalra, válasszon ki egy új előfizetést vagy egy meglévőt.
Válassza ki az Események bejegyzést a bal oldali navigációs területen, majd válassza az + Esemény-előfizetés lehetőséget.
Válassza ki a Szűrők lapot, és görgessen le a Speciális szűrők elemre. A Kulcs és érték beállításnál adja meg a szűrni kívánt tulajdonságtípusokat. Itt láthatja az eseményindítókat, ha a futtatás típusa folyamatfuttatás vagy folyamatlépés-futtatás.
Szűrés eseménytípus szerint: Egy esemény-előfizetés megadhat egy vagy több Azure Machine Learning-eseménytípust.
Szűrés esemény tárgya szerint: Az Azure Event Grid támogatja a tárgyszűrőket az első és a befejező egyezések alapján, így az egyező tárgyú események az előfizetőhöz kerülnek. A különböző gépi tanulási események különböző témaformátummal rendelkeznek.
Eseménytípus Tárgyformátum Minta tárgya Microsoft.MachineLearningServices.RunCompleted
experiments/{ExperimentId}/runs/{RunId}
experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
Microsoft.MachineLearningServices.ModelRegistered
(előzetes verzió)models/{modelName}:{modelVersion}
models/sklearn_regression_model:3
Microsoft.MachineLearningServices.ModelDeployed
(előzetes verzió)endpoints/{serviceId}
endpoints/my_sklearn_aks
Microsoft.MachineLearningServices.DatasetDriftDetected
(előzetes verzió)datadrift/{data.DataDriftId}/run/{data.RunId}
datadrift/4e694bf5-712e-4e40-b06a-d2a2755212d4/run/my_driftrun1_1550564444_fbbcdc0f
Microsoft.MachineLearningServices.RunStatusChanged
experiments/{ExperimentId}/runs/{RunId}
experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
Speciális szűrés: Az Azure Event Grid a közzétett eseménysémán alapuló speciális szűrést is támogatja. Az Azure Machine Learning eseményséma részletei az Azure Machine Learning Azure Event Grid eseménysémában találhatók. Esemény esetén
Microsoft.MachineLearningServices.ModelRegistered
a modell címkeértékének szűréséhez:--advanced-filter data.ModelTags.key1 StringIn ('value1')
A szűrők alkalmazásával kapcsolatos további információkért tekintse meg az Event Grid eseményeinek szűrése című témakört.
Machine Learning-események felhasználása
A Machine Learning-eseményeket kezelő alkalmazásoknak néhány ajánlott eljárást kell követnie:
- Mivel több előfizetés is konfigurálható úgy, hogy az eseményeket ugyanarra az eseménykezelőre irányítsuk, fontos, hogy ne feltételezzük, hogy az események egy adott forrásból származnak, hanem az üzenet témájának ellenőrzéséhez, hogy az a várt gépi tanulási munkaterületről származik-e.
- Hasonlóképpen ellenőrizze, hogy az eventType olyan-e, amelyet készen áll a feldolgozásra, és ne feltételezze, hogy az összes kapott esemény a várt típusú lesz.
- Mivel az üzenetek sorrendből és némi késés után érkezhetnek, az etag mezők segítségével megtudhatja, hogy az objektumokra vonatkozó adatai továbbra is naprakészek-e. Emellett a szekvenciamezők használatával megismerheti az események sorrendjét bármely adott objektumon.
- Figyelmen kívül hagyja a nem értett mezőket. Ez a gyakorlat segít abban, hogy rugalmasan alkalmazkodjon a jövőben esetleg hozzáadott új funkciókhoz.
- A sikertelen vagy megszakított Azure Machine Learning-műveletek nem aktiválnak eseményt. Ha például egy modell üzembe helyezése meghiúsul, a Microsoft.MachineLearningServices.ModelDeployed nem aktiválódik. Az alkalmazások tervezésekor vegye figyelembe az ilyen hibamódot. Az Azure Machine Learning SDK, parancssori felület vagy portál használatával bármikor ellenőrizheti a művelet állapotát, és megismerheti a hiba részletes okait.
Az Azure Event Grid lehetővé teszi az ügyfelek számára, hogy leválasztott üzenetkezelőket építsenek ki, amelyeket az Azure Machine Learning-események aktiválhatnak. Néhány figyelemre méltó példa az üzenetkezelőkre:
- Azure Functions
- Azure Logic Apps
- Azure-eseményközpontok
- Azure Data Factory-folyamat
- Általános webhookok, amelyek az Azure-platformon vagy máshol üzemeltethetők
Beállítás az Azure Portalon
Nyissa meg az Azure Portalt , és nyissa meg az Azure Machine Learning-munkaterületet.
A bal oldali sávon válassza az Események, majd az Esemény-előfizetések lehetőséget.
Válassza ki a használni kívánt eseménytípust.
Válassza ki azt a végpontot, amelyen közzé szeretné tenni az eseményt. Az alábbi képernyőképen az Event Hub a kijelölt végpont:
Miután megerősítette a kijelölést, válassza a Létrehozás lehetőséget. A konfiguráció után ezek az események le lesznek küldve a végpontra.
Beállítás a parancssori felülettel
Telepítheti a legújabb Azure CLI-t, vagy használhatja az Azure-előfizetés részeként biztosított Azure Cloud Shellt.
Az Event Grid-bővítmény telepítéséhez használja a következő parancsot a parancssori felületről:
az extension add --name eventgrid
Az alábbi példa bemutatja, hogyan választhat ki egy Azure-előfizetést, és hogyan hozhat létre új esemény-előfizetést az Azure Machine Learninghez:
# Select the Azure subscription that contains the workspace
az account set --subscription "<name or ID of the subscription>"
# Subscribe to the machine learning workspace. This example uses EventHub as a destination.
az eventgrid event-subscription create --name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName} \
--endpoint-type eventhub \
--endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/n1/eventhubs/EH1 \
--included-event-types Microsoft.MachineLearningServices.ModelRegistered \
--subject-begins-with "models/mymodelname"
Példák
Példa: E-mail-riasztások küldése
Az Azure Logic Apps használatával konfigurálhatja az összes eseményhez tartozó e-maileket. Testre szabhatja a feltételeket, és megadhatja a címzetteket, hogy lehetővé tegyék az együttműködést és a tudatosságot a közösen dolgozó csapatok között.
Az Azure Portalon lépjen az Azure Machine Learning-munkaterületre, és válassza ki az események lapot a bal oldali sávon. Itt válassza a Logic Apps lehetőséget.
Jelentkezzen be a Logic App felhasználói felületére, és válassza a Machine Learning szolgáltatást témakörtípusként.
Válassza ki, hogy melyik eseményről szeretne értesítést kapni. Például az alábbi képernyőkép : RunCompleted.
Ezután adjon hozzá egy lépést az esemény felhasználásához és az e-mailek kereséséhez. Az események fogadásához számos különböző e-mail fiók használható. Konfigurálhatja az e-mail-riasztások küldéséhez szükséges feltételeket is.
Válassza az E-mail küldése lehetőséget, és adja meg a paramétereket. A tárgyban az eseménytípust és a témakört is belefoglalhatja az események szűréséhez. A munkaterület lapjára mutató hivatkozást is felvehet az üzenet törzsében futó futtatásokhoz.
A művelet mentéséhez válassza a Mentés másként lehetőséget a lap bal sarkában.
Példa: Az adateltolódás eseményindítóinak újratanítása
Fontos
Ez a példa egy olyan funkcióra (adateltolódásra) támaszkodik, amely csak az Azure Machine Learning SDK v1 vagy az Azure CLI v1 azure Machine Learning-bővítmény használatakor érhető el. További információ: Mi az Az Azure Machine Learning CLI > SDK v2.
A modellek idővel elavultak, és nem maradnak hasznosak abban a környezetben, amelyben fut. Az egyik módja annak, hogy megállapítsa, hogy a modell újratanításának ideje észleli-e az adateltolódást.
Ez a példa bemutatja, hogyan aktiválhatja az újratanítást az Event Grid és egy Azure Logic App használatával. A példa egy Azure Data Factory-folyamatot aktivál, amikor adateltolódás történik a modell betanítása és az adathalmazok kiszolgálása között.
Mielőtt hozzákezdene, hajtsa végre a következő műveleteket:
- Adathalmaz-figyelő beállítása az adateltolódás észleléséhez (SDK/CLI v1) egy munkaterületen
- Hozzon létre egy közzétett Azure Data Factory-folyamatot.
Ebben a példában egy egyszerű Data Factory-folyamat használatával másol fájlokat egy blobtárolóba, és futtat egy közzétett Machine Learning-folyamatot. Erről a forgatókönyvről további információt az Azure Data Factory Machine Learning-lépésének beállításáról talál.
Kezdje a logikai alkalmazás létrehozásával. Nyissa meg az Azure Portalt, keressen rá a Logic Appsre, és válassza a létrehozás lehetőséget.
Adja meg a kért adatokat. A felhasználói élmény egyszerűsítése érdekében használja ugyanazt az előfizetést és erőforráscsoportot, mint az Azure Data Factory Pipeline és az Azure Machine Learning-munkaterület.
A logikai alkalmazás létrehozása után válassza az Event Grid-erőforrásesemény bekövetkezésekor lehetőséget.
Jelentkezzen be, és adja meg az esemény részleteit. Állítsa be az erőforrás nevét a munkaterület nevére. Állítsa az eseménytípust DatasetDriftDetected értékre.
Adjon hozzá egy új lépést, és keressen rá az Azure Data Factoryre. Válassza a Folyamatfuttatás létrehozása lehetőséget.
Jelentkezzen be, és adja meg a futtatandó Azure Data Factory-folyamatot.
Mentse és hozza létre a logikai alkalmazást a lap bal felső részén található Mentés gombbal. Az alkalmazás megtekintéséhez nyissa meg a munkaterületet az Azure Portalon, és válassza az Események lehetőséget.
Most az adat-előállító folyamat akkor aktiválódik, ha sodródás történik. Az adatelsodrási futtatási és gépi tanulási folyamat részleteinek megtekintése az Azure Machine Learning Studióban.
Következő lépések
További információ az Event Gridről, és próbálja ki az Azure Machine Learning-eseményeket: