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és
Tags
lehetőséggel végzi a használatátTagName : TagValue
TagName=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:
- Gépi tanulási modellek folyamatos integrációja és üzembe helyezése az Azure Pipelines használatával
- Machine Learning MLOps-adattár
Következő lépések
További információkért olvassa el és fedezze fel a következő erőforrásokat:
- MLOps beállítása az Azure DevOps használatával
- Képzési terv: Teljes körű MLOps az Azure Machine Learning használatával
- Modell üzembe helyezése online végponton a Machine Learning használatával
- Oktatóanyag: Modell betanítása és üzembe helyezése
- Gépi tanulási modellek CI/CD-je az Azure Pipelines használatával
- Gépi tanulás nagy léptékben
- Azure AI-referenciaarchitektúrák és ajánlott eljárások adattára