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 Tanulás 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 Tanulás felügyeli a gépi tanulási folyamat teljes életciklusát, beleértve a modellbetanítást, a modell üzembe helyezését és a monitorozást. Az Event Grid segítségével reagálhat az Azure Machine Tanulás 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-Tanulás 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-Tanulás-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 Tanulás é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.

Az Azure Event Grid funkcionális modellje

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 Tanulás Event Grid-sémában talál.

Az Azure Machine Tanulás-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.

  1. Lépjen az Azure Portalra, válasszon ki egy új előfizetést vagy egy meglévőt.

  2. 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.

  3. 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.

    események szűrése

  • Szűrés eseménytípus szerint: Az esemény-előfizetések megadhatnak egy vagy több Azure Machine-Tanulás 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 Tanulás eseményséma részletei az Azure Machine Tanulás 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.

Gépi Tanulás események felhasználása

A gépi Tanulás eseményeket kezelő alkalmazásoknak ajánlott eljárásokat 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 Tanulás műveletek nem aktiválnak eseményt. Ha például egy modell üzembe helyezése meghiúsul, a Microsoft.Machine Tanulás Services.ModelDeployed nem aktiválódik. Az alkalmazások tervezésekor vegye figyelembe az ilyen hibamódot. Az Azure Machine Tanulás SDK, parancssori felület vagy portál használatával bármikor ellenőrizheti a művelet állapotát, és megismerheti a hibák 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 Tanulás 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

  1. Nyissa meg az Azure Portalt, és lépjen az Azure Machine Tanulás-munkaterületre.

  2. A bal oldali sávon válassza az Események, majd az Esemény-előfizetések lehetőséget.

    Képernyőkép az esemény-előfizetés kiválasztásáról.

  3. Válassza ki a használni kívánt eseménytípust.

    Képernyőkép az Esemény-előfizetés létrehozása űrlapról.

  4. 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:

    Képernyőkép az Esemény-előfizetés létrehozása panelről, amelyen meg van nyitva az Eseményközpont kiválasztása lehetőség.

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 Tanulás:

# 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.

  1. Az Azure Portalon lépjen az Azure Machine Tanulás munkaterületére, és válassza ki az események lapot a bal oldali sávon. Itt válassza a Logic Apps lehetőséget.

    Képernyőkép a Logic Apps kiválasztásáról.

  2. Jelentkezzen be a Logic App felhasználói felületére, és válassza a Machine Tanulás szolgáltatást témakörtípusként.

    Képernyőkép az Erőforrás esemény bekövetkezése párbeszédpanelről, amelyen a gépi tanulás erőforrástípusként van kiválasztva.

  3. Válassza ki, hogy melyik eseményről szeretne értesítést kapni. Például az alábbi képernyőkép : RunCompleted.

    Képernyőkép a Machine Tanulás szolgáltatásról erőforrástípusként.

  4. 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.

    Képernyőkép a Művelet kiválasztása párbeszédpanelről, amelyen a keresőmezőbe beírt e-mail szerepel.

  5. 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.

    Képernyőkép az E-mail küldése párbeszédpanelről, amelyen a témakör és az eseménytípus a jobb oldali lista tárgysorához van hozzáadva.

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 Tanulás SDK v1 vagy az Azure CLI-bővítmény v1 azure machine Tanulás használatakor érhető el. További információ: Mi az Azure Machine Tanulás 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:

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 Tanulás-folyamatot. Az esettel kapcsolatos további információkért tekintse meg, hogyan állíthat be gépi Tanulás lépést az Azure Data Factoryben.

Képernyőkép a betanítási folyamatról az Azure Data Factoryben.

  1. 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.

    search-logic-app

  2. 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 Tanulás-munkaterület.

    Képernyőkép a Logikai alkalmazás létrehozása panelről.

  3. A logikai alkalmazás létrehozása után válassza az Event Grid-erőforrásesemény bekövetkezésekor lehetőséget.

    Képernyőkép a Logic Apps Tervező a Start menüvel egy gyakori eseményindító-beállítással, beleértve az Event Grid-erőforrásesemények bekövetkeztét is.

  4. 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.

    Képernyőkép az adateltolódási esemény típuselemről.

  5. 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.

    Képernyőkép a Művelet kiválasztása panelről, amelyen a Folyamatfuttatás létrehozása lehetőség van kiválasztva.

  6. Jelentkezzen be, és adja meg a futtatandó Azure Data Factory-folyamatot.

    Képernyőkép a Folyamatfuttatás létrehozása panelről különböző értékekkel.

  7. 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.

    Képernyőkép az eseményekről a Logikai alkalmazás kiemelésével.

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 Tanulás Studióban.

Képernyőkép a folyamatvégpontokról.

Következő lépések

További információ az Event Gridről, és próbálja ki az Azure Machine Tanulás eseményeket: