Megosztás a következőn keresztül:


MLOps: Modellkezelés, üzembe helyezés, életút és monitorozás az Azure Machine Learning 1-es verzióval

A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v1Python SDK azureml v1

Ebből a cikkből megtudhatja, hogyan alkalmazhat gépi tanulási műveleteket (MLOps) az Azure Machine Learningben a modellek életciklusának kezelése céljából. Az MLOps-eljárások alkalmazása javíthatja a gépi tanulási megoldások minőségét és konzisztenciáját.

Fontos

A cikkben "előzetes verzióként" megjelölt 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, é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.

Mi az az MLOps?

A Machine Learning Operations (MLOps) a munkafolyamatok hatékonyságát növelő DevOps-alapelveken és gyakorlatokon alapul. Például folyamatos integráció, teljesítés és üzembe helyezés. Az MLOps ezeket az alapelveket alkalmazza a gépi tanulási folyamatra, amelynek célja:

  • Modellek gyorsabb kísérletezése és fejlesztése
  • Modellek gyorsabb üzembe helyezése éles környezetben
  • Minőségbiztosítás és a végpontok közötti életút nyomon követése

MLOps az Azure Machine Learningben

Az Azure Machine Learning a következő MLOps-képességeket biztosítja:

  • Reprodukálható ML-folyamatok létrehozása. A Machine Learning-folyamatok lehetővé teszik az adat-előkészítési, betanítási és pontozási folyamatok megismételhető és újrafelhasználható lépéseinek meghatározását.
  • Újrafelhasználható szoftverkörnyezetek létrehozása modellek betanításához és üzembe helyezéséhez.
  • Modellek regisztrálása, csomagolása és üzembe helyezése bárhonnan. A modell használatához szükséges társított metaadatokat is nyomon követheti.
  • Rögzítse a teljes körű ml-életciklus szabályozási adatait. A naplózott életút-információk közé tartozhatnak a modellek közzétételének, a módosítások okainak, valamint a modellek üzembe helyezésének vagy éles környezetben való felhasználásának.
  • Értesítés és riasztás az ml-életciklus eseményeiről. Ilyen például a kísérlet befejezése, a modellregisztráció, a modell üzembe helyezése és az adatelsodrási észlelés.
  • Az ML-alkalmazások monitorozása az üzemeltetési és az ML-hez kapcsolódó problémák esetén. Hasonlítsa össze a modell bemeneteit a betanítás és a következtetés között, vizsgálja meg a modellspecifikus metrikákat, és biztosítson monitorozást és riasztásokat az ML-infrastruktúrán.
  • Automatizálja a teljes ml-életciklust az Azure Machine Learning és az Azure Pipelines használatával. A folyamatok használatával gyakran frissítheti a modelleket, tesztelheti az új modelleket, és folyamatosan új ML-modelleket hozhat létre a többi alkalmazással és szolgáltatással együtt.

Az MLOpsról további információt a Machine Learning DevOps (MLOps) című témakörben talál.

Reprodukálható ML-folyamatok létrehozása

Az Azure Machine Learning ml-folyamatainak használatával összefűzheti a modell betanítási folyamatának összes lépését.

Az ML-folyamatok az adat-előkészítéstől a funkciókinyerésen át a hiperparaméter-finomhangoláson át a modell kiértékelésig tartalmazhatnak lépéseket. További információ: ML-folyamatok.

Ha a Tervező használja az ML-folyamatok létrehozásához, bármikor rákattinthat a Tervező lap jobb felső sarkában található "..." elemre, majd válassza a Klónozás lehetőséget. A folyamat klónozása lehetővé teszi a folyamatterv iterálását a régi verziók elvesztése nélkül.

Újrafelhasználható szoftverkörnyezetek létrehozása

Az Azure Machine Learning-környezetekkel nyomon követheti és reprodukálhatja a projektek szoftverfüggőségeit a fejlődésük során. A környezetek lehetővé teszik a buildek reprodukálhatóságát manuális szoftverkonfigurációk nélkül.

A környezetek a projektek pip- és Conda-függőségeit írják le, és a modellek betanításához és üzembe helyezéséhez egyaránt használhatók. További információ: Mik azok az Azure Machine Learning-környezetek?

Modellek regisztrálása, csomagolása és üzembe helyezése bárhonnan

Ml-modellek regisztrálása és nyomon követése

A modellregisztráció lehetővé teszi a modellek tárolását és verzióját az Azure-felhőben, a munkaterületen. A modellregisztrációs adatbázis megkönnyíti a betanított modellek rendszerezését és nyomon követését.

Tipp

A regisztrált modell a modellt alkotó egy vagy több fájl logikai tárolója. Ha például egy modell több fájlban van tárolva, regisztrálhatja őket egyetlen modellként az Azure Machine Learning-munkaterületen. A regisztráció után letöltheti vagy üzembe helyezheti a regisztrált modellt, és megkaphatja az összes regisztrált fájlt.

A regisztrált modelleket a név és a verziószám azonosítja. Ha egy modellt egy már létező néven regisztrál, a beállításjegyzék megnöveli annak verziószámát. A regisztráció során további metaadatcímkéket is megadhat. Ezeket a címkéket ezután a rendszer a modell keresésekor használja. Az Azure Machine Learning minden olyan modellt támogat, amely a Python 3.5.2-s vagy újabb verziójával tölthető be.

Tipp

Az Azure Machine Learningen kívül betanított modelleket is regisztrálhat.

Aktív üzemelő példányban használt regisztrált modell nem törölhető. További információ: A modellek üzembe helyezése című szakasz regisztrációs modellje.

Fontos

Ha az Azure Machine Learning Studio Modellek lapján a Filter by (Szűrés) Tags lehetőséget használja, ahelyett, hogy az ügyfeleket használták TagName : TagValueTagName=TagValue volna (szóköz nélkül)

Csomagok és hibakeresési modellek

Mielőtt üzembe helyeznénk egy modellt éles környezetben, a rendszer egy Docker-lemezképbe csomagolja. A legtöbb esetben a rendszerképek létrehozása automatikusan történik a háttérben az üzembe helyezés során. A rendszerképet manuálisan is megadhatja.

Ha problémákba ütközik az üzembe helyezéssel kapcsolatban, üzembe helyezheti a helyi fejlesztési környezetet hibaelhárítás és hibakeresés céljából.

További információ: Modellek üzembe helyezése és üzembe helyezések hibaelhárítása.

Modellek konvertálása és optimalizálása

Ha a modellt Open Neural Network Exchange (ONNX) értékre konvertálja, az javíthatja a teljesítményt. Az ONNX-re konvertálás átlagosan 2-szeres teljesítménynövekedést eredményezhet.

Az ONNX és az Azure Machine Learning használatával kapcsolatos további információkért lásd az ML-modellek létrehozása és felgyorsítása című cikket.

Modellek használata

A betanított gépi tanulási modellek webszolgáltatásként vannak üzembe helyezve a felhőben vagy helyileg. Az üzemelő példányok cpu-, GPU- vagy mezőprogramozható kaputömböket (FPGA) használnak a következtetéshez. A Power BI modelljeit is használhatja.

Ha modellt használ webszolgáltatásként, a következő elemeket kell megadnia:

  • A szolgáltatásnak/eszköznek küldött adatok pontozásához használt modell(ek).
  • Egy bejegyzésparancsfájl. Ez a szkript fogadja a kéréseket, a modell(ek)et használja az adatok pontozásához, és választ ad vissza.
  • Egy Azure Machine Learning-környezet, amely leírja a modell(ek) és a belépési szkript által megkövetelt pip- és Conda-függőségeket.
  • Minden további adategység, például szöveg, adat stb. a modell(ek) és a belépési szkript által megkövetelt.

Meg kell adnia az üzembe helyezés célplatformjának konfigurációját is. Például a virtuálisgép-család típusa, a rendelkezésre álló memória és a magok száma a Azure Kubernetes Service való üzembe helyezéskor.

A rendszerkép létrehozását követően a rendszer hozzáadja az Azure Machine Learning által igényelt összetevőket is. Például a webszolgáltatás futtatásához szükséges eszközök.

Batch-pontozás

A kötegelt pontozás ml-folyamatokon keresztül támogatott. További információ: Batch-előrejelzések big data-adatokon.

Valós idejű webszolgáltatások

A webszolgáltatásokban használt modelljeit a következő számítási célokkal használhatja:

  • Azure Container Instance
  • Azure Kubernetes Service
  • Helyi fejlesztési környezet

A modell webszolgáltatásként való üzembe helyezéséhez a következő elemeket kell megadnia:

  • A modellek modellje vagy együttese.
  • A modell használatához szükséges függőségek. Például egy olyan szkript, amely fogadja a kéréseket, és meghívja a modellt, a conda függőségeket stb.
  • Üzembehelyezési konfiguráció, amely leírja a modell üzembe helyezésének módját és helyét.

További információ: Modellek üzembe helyezése.

Elemzés

A Microsoft Power BI támogatja a gépi tanulási modellek adatelemzéshez való használatát. További információ: Azure Machine Learning-integráció a Power BI-ban (előzetes verzió).

Az MLOpshoz szükséges szabályozási adatok rögzítése

Az Azure Machine Learning lehetővé teszi, hogy metaadatok használatával nyomon kövesse az összes ML-eszköz teljes körű auditnaplóját.

  • Az Azure Machine Learning integrálható a Gittel annak nyomon követéséhez, hogy melyik adattárból/ ágból/véglegesítésből származik a kód.
  • Az Azure Machine Learning-adatkészletek segítségével nyomon követheti, profilozhatja és verzióadatait.
  • Az értelmezhetőség lehetővé teszi a modellek magyarázatát, a jogszabályi megfelelőség betartását, valamint annak megértését, hogy a modellek hogyan érkeznek az adott bemenethez.
  • Az Azure Machine Learning futtatási előzményei egy pillanatképet tárolnak a modell betanítása során használt kódról, adatokról és számításokról.
  • Az Azure Machine Learning Model Registry rögzíti a modellhez társított összes metaadatot (amely betanította a kísérletet, ahol üzembe helyezték, ha az üzemelő példányai kifogástalan állapotban vannak).
  • Az Azure-ral való integráció lehetővé teszi az ML-életciklus eseményeinek feldolgozását. Például modellregisztráció, üzembe helyezés, adateltolódás és betanítási (futtatási) események.

Tipp

Bár a modellekkel és adatkészletekkel kapcsolatos egyes információk automatikusan rögzítésre kerülnek, címkék használatával további információkat adhat hozzá. Ha regisztrált modelleket és adatkészleteket keres a munkaterületen, címkéket használhat szűrőként.

Az adatkészletek regisztrált modellel való társítása nem kötelező lépés. A modell regisztrálásakor az adatkészletekre való hivatkozással kapcsolatos információkért lásd a Modellosztály referenciáját.

Értesítés, automatizálás és riasztás az ml-életciklus eseményeiről

Az Azure Machine Learning közzéteszi a legfontosabb eseményeket a Azure Event Grid, amelyek az ML-életciklus eseményeinek értesítésére és automatizálására használhatók. További információért tekintse meg ezt a dokumentumot.

Működési gépi & tanulási problémák monitorozása

A monitorozással megismerheti, hogy milyen adatokat küld a rendszer a modellnek, és hogy milyen előrejelzéseket ad vissza.

Ezek az információk segítenek megérteni a modell használatát. Az összegyűjtött bemeneti adatok a modell jövőbeli verzióinak betanításában is hasznosak lehetnek.

További információ: Modelladatok gyűjtésének engedélyezése.

A modell újratanítása új adatokon

Gyakran érdemes ellenőrizni a modellt, frissíteni, vagy akár újra betaníteni az alapoktól, mivel új információkat kap. Előfordulhat, hogy az új adatok fogadása a tartomány várt része. Máskor az Adathalmazok adateltolódásának észlelése (előzetes verzió) című cikkben leírtak szerint a modell teljesítménye csökkenhet az olyan dolgokkal szemben, mint az adott érzékelő változásai, a természetes adatváltozások, például a szezonális hatások vagy a más funkciókhoz való viszonyukban eltolódó funkciók.

Nincs univerzális válasz arra, hogy "Hogyan tudom, hogy újratanulnom kell-e?", de az Azure Machine Learning-esemény és a korábban tárgyalt monitorozási eszközök jó kiindulópontok az automatizáláshoz. Miután úgy döntött, hogy újratanul, a következőt kell tennie:

  • Adatok előfeldolgozása megismételhető, automatizált folyamattal
  • Az új modell betanítása
  • Hasonlítsa össze az új modell kimeneteit a régi modell kimenetével
  • Előre definiált feltételek használata a régi modell lecseréléséhez

A fenti lépések egyik témája, hogy az újratanításnak automatizáltnak kell lennie, nem alkalminak. Az Azure Machine Learning-folyamatok jó megoldást jelentenek az adatok előkészítésével, betanításával, érvényesítésével és üzembe helyezésével kapcsolatos munkafolyamatok létrehozására. Olvassa el a Modellek újratanítása az Azure Machine Learning designerrel című cikket, amelyből megtudhatja, hogyan illeszkednek a folyamatok és az Azure Machine Learning-tervező egy újratanítási forgatókönyvbe.

Az ML életciklusának automatizálása

A GitHub és az Azure Pipelines használatával létrehozhat egy folyamatos integrációs folyamatot, amely betanít egy modellt. Egy tipikus forgatókönyvben, amikor egy adattudós ellenőrzi egy projekt Git-adattárának módosítását, az Azure Pipeline betanítási futtatásba kezd. A futtatás eredményei ezután megvizsgálhatók a betanított modell teljesítményjellemzőinek megtekintéséhez. Létrehozhat egy folyamatot is, amely webszolgáltatásként helyezi üzembe a modellt.

Az Azure Machine Learning bővítmény megkönnyíti az Azure Pipelinessal való munkát. A következő fejlesztéseket biztosítja az Azure Pipelineshoz:

  • Lehetővé teszi a munkaterület kiválasztását egy szolgáltatáskapcsolat definiálásakor.
  • Lehetővé teszi, hogy a kiadási folyamatokat a betanítási folyamatban létrehozott betanított modellek aktiválják.

Az Azure Pipelines azure machine learningtel való használatáról az alábbi hivatkozásokon talál további információt:

A Azure Data Factory használatával adatbetöltési folyamatot is létrehozhat, amely előkészíti az adatokat a betanításhoz való használatra. További információ: Adatbetöltési folyamat.

Következő lépések

További információkért olvassa el és fedezze fel a következő erőforrásokat: