MLOps: Modellkezelés, üzembe helyezés és monitorozás az Azure Machine Learning használatával

A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

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.

Mi az az MLOps?

Az MLOps olyan DevOps-alapelveken és gyakorlatokon alapul, amelyek növelik a munkafolyamatok hatékonyságát. Ilyen például a folyamatos integráció, a teljesítés és az ü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.
  • A modellek gyorsabb üzembe helyezése éles környezetben.
  • Minőségbiztosítás és végpontok közötti életút nyomon követése.

MLOps a Machine Learningben

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

  • Reprodukálható gépi tanulási folyamatok létrehozása. Gépi tanulási folyamatokkal megismételhető és újrafelhasználható lépéseket definiálhat az adatelőkészítési, betanítási és pontozási folyamatokhoz.
  • Újrafelhasználható szoftverkörnyezetek létrehozása. Ezeket a környezeteket a modellek betanításához és üzembe helyezéséhez használhatja.
  • Modellek regisztrálása, csomagolása és üzembe helyezése bárhonnan. A modell használatához szükséges kapcsolódó metaadatokat is nyomon követheti.
  • Rögzítse a cégirányítási adatokat a teljes körű gépi tanulási életciklushoz. A naplózott életútadatok között szerepelhet, hogy ki és miért tesz közzé modelleket. Azt is belefoglalhatja, hogy mikor helyezték üzembe vagy használták a modelleket éles környezetben.
  • Értesítés és riasztás a gépi tanulási életciklus eseményeiről. Az esemény például a kísérletek befejezését, a modellregisztrációt, a modell üzembe helyezését és az adatelsodrások észlelését foglalja magában.
  • Gépi tanulási alkalmazások monitorozása üzemeltetési és gépi tanulással kapcsolatos problémák esetén. Modellbemenetek összehasonlítása a betanítás és a következtetés között. Modellspecifikus metrikák megismerése. Monitorozás és riasztások biztosítása a gépi tanulási infrastruktúrán.
  • Automatizálhatja a teljes gépi tanulási életciklust a Machine Learning és az Azure Pipelines használatával. Folyamatokkal gyakran frissítheti a modelleket. Új modelleket is tesztelhet. A többi alkalmazás és szolgáltatás mellett folyamatosan új gépi tanulási modelleket hozhat létre.

További információ az MLOpsról: Machine Learning DevOps.

Reprodukálható gépi tanulási folyamatok létrehozása

A Machine Learning gépi tanulási folyamatainak használatával összefűzheti a modell betanítási folyamatának összes lépését.

A gépi tanulási 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ó: Gépi tanulási folyamatok.

Ha a tervezőt használja a gépi tanulási folyamatok létrehozásához, bármikor kiválaszthatja a tervezőlap jobb felső sarkában található ... ikont. Ezután válassza a Klónozás lehetőséget. A folyamat klónozása után a régi verziók elvesztése nélkül iterálja a folyamattervet.

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

Machine Learning-környezetek használatával nyomon követheti és reprodukálhatja a projektek szoftverfüggőségeit a fejlődésük során. Környezetek használatával biztosíthatja, hogy a buildek manuális szoftverkonfigurációk nélkül reprodukálhatók legyenek.

A környezetek a projektek pip- és conda-függőségeit írják le. A modellek betanításához és üzembe helyezéséhez használhatja őket. További információ: Mik azok a Machine Learning-környezetek?.

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

A következő szakaszok a modellek regisztrálását, csomagolását és üzembe helyezését ismertetik.

Gépi tanulási modellek regisztrálása és nyomon követése

A modellregisztrációval a modelleket az Azure-felhőben, a munkaterületen tárolhatja és verziószámezheti. 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 a 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. A rendszer ezeket a címkéket használja a modell keresésekor. A Machine Learning minden olyan modellt támogat, amely a Python 3.5.2-s vagy újabb verziójával tölthető be.

Tipp

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

Fontos

  • Ha az Azure Machine Learning Studio Modellek lapján a SzűrésTags lehetőséggel végzi a használatátTagName : TagValueTagName=TagValue, használja szóközök nélkül.
  • Az aktív üzemelő példányokban használt regisztrált modellek nem törölhetők.

További információ: Modellek használata az Azure Machine Learningben.

Modellek csomagolása és hibakeresése

Mielőtt üzembe helyez egy modellt az éles környezetben, az egy Docker-rendszerképbe lesz csomagolva. 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örnyezetben a hibaelhárításhoz és a hibakereséshez.

További információ: Online végpontok 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-ra való konvertálás átlagosan megduplázhatja a teljesítményt.

További információ az ONNX-ről a Machine Learning használatával kapcsolatban: Gépi tanulási modellek létrehozása és felgyorsítása.

Modellek használata

A betanított gépi tanulási modellek végpontként vannak üzembe helyezve a felhőben vagy helyileg. Az üzemelő példányok a processzort és a GPU-t használják a következtetéshez.

Amikor végpontként helyez üzembe egy modellt, a következő elemeket kell megadnia:

  • A szolgáltatásnak vagy eszköznek elküldött adatok pontozásához használt modellek.
  • Egy bejegyzésparancsfájl. Ez a szkript fogadja a kéréseket, a modelleket használja az adatok pontozásához, és választ ad vissza.
  • Egy Machine Learning-környezet, amely leírja a modellek és a belépési szkript által igényelt pip- és conda-függőségeket.
  • Minden más adategység, például a modellek és a beviteli szkript által megkövetelt szöveg és adatok.

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 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 kötegelt végpontokon keresztül támogatott. További információ: Végpontok.

Online végpontok

A modelleket online végponttal is használhatja. Az online végpontok a következő számítási célokat használhatják:

  • Felügyelt online végpontok
  • Azure Kubernetes Service
  • Helyi fejlesztési környezet

A modell végponton 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. Ilyen például egy olyan szkript, amely fogadja a kéréseket, és meghívja a modellt és a Conda-függőségeket.
  • Üzembehelyezési konfiguráció, amely leírja a modell üzembe helyezésének módját és helyét.

További információ: Online végpontok üzembe helyezése.

Szabályozott bevezetés

Online végponton való üzembe helyezéskor az alábbi forgatókönyvek engedélyezéséhez használhatja a szabályozott bevezetést:

  • Végpont több verziójának létrehozása üzembe helyezéshez
  • A/B-tesztelés végrehajtásához a végponton belül különböző üzemelő példányokhoz irányíthatja a forgalmat.
  • Váltson a végponttelepítések között a forgalom százalékos arányának frissítésével a végpontkonfigurációban.

További információ: Gépi tanulási modellek szabályozott bevezeté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ó: Machine Learning-integráció a Power BI-ban (előzetes verzió).

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

A Machine Learning lehetővé teszi az összes gépi tanulási eszköz teljes körű auditnaplójának nyomon követését metaadatok használatával. Például:

  • A Machine Learning-adathalmazok segítenek nyomon követni, profilt és verzióadatokat követni.
  • Az értelmezhetőség lehetővé teszi a modellek magyarázatát, a jogszabályi megfelelőségnek való megfelelést, valamint annak megértését, hogy a modellek hogyan érkeznek egy adott bemenethez.
  • A Machine Learning-feladatelőzmények 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.
  • A Machine Learning Model Registry rögzíti a modellhez társított összes metaadatot. A metaadatok közé tartozik például az, hogy melyik kísérlet képezte be, hol van üzembe helyezve, és hogy az üzemelő példányai kifogástalanok-e.
  • Az Azure-ral való integráció lehetővé teszi a gépi tanulási életciklus eseményeinek feldolgozását. Ilyenek például a modellregisztráció, az üzembe helyezés, az adateltolódás és a betanítási (feladat)események.

Tipp

Bár a modellekkel és adathalmazokkal 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.

Értesítés, automatizálás és riasztás a gépi tanulási életciklus eseményeiről

A Machine Learning közzéteszi a legfontosabb eseményeket a Azure Event Grid, amelyek a gépi tanulási életciklus eseményeinek értesítésére és automatizálására használhatók. További információ: Az Event Grid használata.

A gépi tanulási életciklus 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 adatelemző ellenőrzi egy projekt Git-adattárának módosítását, az Azure Pipelines elindít egy betanítási feladatot. A feladat 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.

A 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:

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

További információ az Azure Pipelines machine learningtel való használatáról:

Következő lépések

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