MLOps-modellkezelés az Azure Machine Learning használatával
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
Ez a cikk azt ismerteti, hogy az Azure Machine Learning hogyan használja a gépi tanulási műveleteket (MLOps) a modellek életciklusának kezeléséhez. Az MLOps-eljárások alkalmazása javíthatja a gépi tanulási megoldások minőségét és konzisztenciáját.
Az MLOps olyan DevOps-alapelveken és gyakorlatokon alapul, amelyek növelik a munkafolyamatok hatékonyságát, például a folyamatos integrációt, a folyamatos üzembe helyezést és a folyamatos teljesítést. Az alábbi alapelvek alkalmazása a gépi tanulási életciklusra az alábbiakat eredményezi:
- Gyorsabb kísérletezés és modellfejlesztés.
- Modellek gyorsabb üzembe helyezése éles környezetben.
- Jobb minőségbiztosítás és végpontok közötti nyomon követés.
MLOps-képességek
Az MLOps a következő képességeket biztosítja a gépi tanulási folyamathoz:
- Reprodukálható gépi tanulási folyamatokat hozhat létre az adatelőkészítési, betanítási és pontozási folyamatok megismételhető és újrafelhasználható lépéseinek definiálásához.
- Újrahasználható szoftverkörnyezetek létrehozása modellek betanításához és üzembe helyezéséhez.
- Bárhonnan regisztrálhat, csomagolhat és helyezhet üzembe modelleket , és nyomon követheti a modell használatához szükséges kapcsolódó metaadatokat.
- Naplózza a gépi tanulási életciklus szabályozásának adatait, például hogy ki tette közzé a modelleket, miért hajtottak végre módosításokat, és mikor helyezték üzembe vagy használták a modelleket az éles környezetben.
- Értesítés és riasztás a gépi tanulási életciklus eseményeiről , például a kísérlet befejezéséről, a modellregisztrációról, a modell üzembe helyezéséről és az adatelsodódás észleléséről.
- A működési és gépi tanulással kapcsolatos problémák monitorozása a modellbemenetek összehasonlításával, a modellspecifikus metrikák feltárásával, valamint a monitorozás és riasztások megtekintésével a gépi tanulási infrastruktúrán.
- Automatizálhatja a teljes körű gépi tanulási életciklust a gépi tanulási folyamatok és az Azure Pipelines használatával az új gépi tanulási modellek folyamatos teszteléséhez, frissítéséhez és bevezetéséhez.
További információ az MLOpsról: Gépi tanulási műveletek.
Reprodukálható gépi tanulási folyamatok
Az Azure Machine Learning-folyamatokkal összefűzheti a modell betanítási folyamatának összes lépését. A gépi tanulási folyamat lépései közé tartozhat az adatok előkészítése, a funkciók kinyerése, a hiperparaméterek finomhangolása és a modell kiértékelése.
Az Azure Machine Learning Studio Designerben klónozhat egy folyamatot, hogy a régi verziók elvesztése nélkül iterálja át a tervet. Ha bármikor klónozni szeretne egy folyamatot a Tervezőben, válassza a Klónozás lehetőséget a felső menüsávon.
Az Azure Machine Learning-folyamatokról további információt a Gépi tanulási folyamatok című témakörben talál.
Újrafelhasználható szoftverkörnyezetek
Az Azure Machine Learning-környezetek biztosítják, hogy a buildek manuális szoftverkonfigurációk használata nélkül reprodukálhatóak legyenek. A környezetek nyomon követhetik és reprodukálhatják a projektek pip- és conda szoftverfüggőségeit.
A környezeteket modellbetanításhoz és üzembe helyezéshez használhatja. További információ a környezetekről: Azure Machine Learning-környezetek.
Modellregisztráció, csomagolás és üzembe helyezés
Az Azure Machine Learning bárhonnan használhatja az MLOps-t modellek regisztrálásához, csomagolásához és üzembe helyezéséhez.
Modellek regisztrálása és nyomon követése
A modellregisztráció tárolja és verziószámozza a modelleket az Azure Machine Learning-munkaterületen az Azure-felhőben. A modellregisztrációs adatbázis megkönnyíti a betanított modellek rendszerezését és nyomon követését.
A regisztrált modell a modellt alkotó egy vagy több fájl logikai tárolója. Ha például a modell több fájlban van tárolva, a fájlokat egyetlen modellként regisztrálhatja az Azure Machine Learning-munkaterületen. A regisztráció után letöltheti vagy üzembe helyezheti a regisztrált modellt, és megkaphatja az összes összetevőfájlt.
Az Azure Machine Learningen kívül betanított modelleket is regisztrálhat. Az Azure Machine Learning minden olyan modellt támogat, amely a Python 3.5.2 vagy újabb verziójával tölthető be.
A regisztrált modelleket név és verzió alapján azonosíthatja. Amikor egy meglévő modell nevével megegyező nevű modellt regisztrál, a beállításjegyzék növeli a verziószámot.
A regisztráció során metaadatcímkéket adhat meg, és ezekkel a címkék használatával kereshet egy modellt.
Fontos
Az aktív üzembe helyezés során használt regisztrált modell nem törölhető.
A modellek Azure Machine Learningben való használatáról további információt a Modellek használata az Azure Machine Learningben című témakörben talál.
Csomagok és hibakeresési modellek
Ha éles környezetben szeretne üzembe helyezni egy modellt, először be kell csomagolnia egy Docker-rendszerképbe. 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 azonban manuálisan is megadhatja.
Érdemes először a helyi fejlesztési környezetben üzembe helyezni, hogy hibaelhárítást és hibakeresést végezzen a felhőben való üzembe helyezés előtt. Ez a gyakorlat segíthet elkerülni az Azure Machine Learningben való üzembe helyezéssel kapcsolatos problémákat. A gyakori üzembe helyezési problémák megoldásáról további információt az online végpontok hibaelhárítása című témakörben talál.
Modellek konvertálása és optimalizálása
A modell átalakítható Open Neural Network Exchange (ONNX) értékre a teljesítmény javítása érdekében. Az ONNX-re való konvertálás általában megduplázhatja a teljesítményt.
Az ONNX-ről és az Azure Machine Learningről további információt a gépi tanulási modellek létrehozása és felgyorsítása című témakörben talál.
Modellek üzembe helyezése végpontként
A betanított gépi tanulási modelleket üzembe helyezheti végpontként helyben vagy a felhőben. Az üzemelő példányok processzorokat és GPU-kat használnak a következtetéshez.
A modell végpontként való üzembe helyezéséhez a következő információkat kell megadnia:
- A szolgáltatásnak vagy eszköznek küldött adatok pontozására használt modell .
- Egy olyan belépési szkript, más néven pontozási szkript, amely fogadja a kéréseket, a modellek használatával pontozza az adatokat, és választ ad vissza.
- A modellek és a belépési szkript által igényelt pip- és condafüggőségeket leíró környezet .
- A modell és a beviteli szkript által igényelt egyéb eszközök, például a szöveg és az adatok.
Fontos
MLflow-modell üzembe helyezésekor nem kell belépési szkriptet vagy környezetet megadnia az üzembe helyezéshez. Az MLflow-modellek üzembe helyezéséről további információt az MLflow-modellek üzembe helyezésének irányelvei című témakörben talál.
Emellett megadja a cél üzembehelyezési platform konfigurációját is, például a virtuális gép (VM) családtípusát, a rendelkezésre álló memóriát és a magok számát. Amikor az Azure Machine Learning létrehozza a rendszerképet, minden szükséges összetevőt hozzáad, például a webszolgáltatás futtatásához szükséges eszközöket.
Kötegelt pontozás kötegelt végpontokkal
A kötegelt pontozás kötegelt végpontokon keresztül támogatott. A kötegelt pontozással kapcsolatos további információkért lásd : Batch-végpontok.
Valós idejű pontozás online végpontokkal
A modelleket online végpontokkal is használhatja valós idejű pontozáshoz. Az online végpontok számítási céljai lehetnek helyi fejlesztési környezetek, felügyelt online végpontok vagy Azure Kubernetes Service (AKS).
Ha egy modellt online végponton szeretne üzembe helyezni, a következő információkat 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 és a conda függőségeket.
- A modell üzembe helyezésének módját és helyét leíró üzembehelyezési konfiguráció.
A valós idejű pontozás üzembe helyezésével kapcsolatos további információkért lásd: Online végpontok üzembe helyezése.
Szabályozott bevezetés online végpontokhoz
Online végponton való üzembe helyezéskor a szabályozott bevezetéssel engedélyezheti a következő forgatókönyveket:
- Hozzon létre egy végpont több verzióját egy üzembe helyezéshez.
- A/B-tesztelés végrehajtásához irányozza a forgalmat a végpont különböző üzemelő példányaihoz.
- Váltson a végponttelepítések között a végpontkonfiguráció forgalmi százalékának frissítésével.
A szabályozott bevezetést használó üzembe helyezéssel kapcsolatos további információkért tekintse meg az új üzembe helyezések biztonságos üzembe helyezését valós idejű következtetés céljából.
Metaadatok a gépi tanulási életciklus szabályozásához
Az Azure Machine Learning lehetővé teszi, hogy metaadatok használatával nyomon kövesse az összes gépi tanulási eszköz teljes körű auditnaplóját. Példa:
- Az Azure Machine Learning adategységei segítenek nyomon követni, profilt és verzióadatokat követni.
- A modellé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 meg egy adott bemenet eredményéhez.
- Az Azure Machine Learning-feladatelőzmények 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-modell regisztrációja rögzíti a modellhez társított összes metaadatot. Például melyik kísérlet képezte be a modellt, hol van üzembe helyezve a modell, és hogy a modell üzembe helyezése kifogástalan-e.
- Az Azure-ral való integráció lehetővé teszi a gépi tanulási életciklus eseményeit, például a modellregisztrációt, az üzembe helyezést, az adateltolódást és a betanítási feladatok eseményeit.
A modellekkel és adategységekkel kapcsolatos egyes információk automatikusan rögzítésre kerülnek, de címkék használatával további információkat adhat hozzá. Ha regisztrált modelleket és adategységeket keres a munkaterületen, címkéket használhat szűrőkként.
Feljegyzés
Ha az Azure Machine Learning Studio Modellek lapján a Szűrés lehetőség címkéket használja, ne szóközöket, hanem TagName : TagValue
szóközöket használjonTagName=TagValue
.
Gépi tanulási életciklus eseményértesítések és riasztások
Az Azure Machine Learning közzéteszi a legfontosabb eseményeket az Azure Event Gridben, amely a gépi tanulási életciklus eseményeinek értesítésére és automatizálására használható. Az eseményvezérelt folyamatok Azure Machine Learning-eseményeken alapuló beállításáról további információt az egyéni CI/CD és az eseményvezérelt munkafolyamatok című témakörben talál.
Gépi tanulási életciklus automatizálása
A Git és az Azure Pipelines használatával olyan folyamatos integrációs folyamatot hozhat létre, amely betanít egy gépi tanulási modellt. Egy tipikus forgatókönyvben, amikor egy adatelemző ellenőrzi a projekt Git-adattárában történt változást, az Azure Pipelines elindítja a betanítási feladatot.
A feladat eredményeit megvizsgálva megtekintheti a betanított modell teljesítményjellemzőit. 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 Pipelines kezelését. A bővítmény az alábbi fejlesztéseket biztosítja az Azure Pipelineshoz:
- Lehetővé teszi az Azure Machine Learning-munkaterület kiválasztását szolgáltatáskapcsolat definiálásakor.
- Lehetővé teszi a betanított modellek létrehozását egy betanítási folyamatban, hogy üzembe helyezést indítson el az Azure Pipelinesban.
Az Azure Pipelines és az Azure Machine Learning használatával kapcsolatos további információkért lásd: Azure Pipelines használata az Azure Machine Learningdel.
Elemzés
A Microsoft Power BI támogatja a gépi tanulási modellek használatát az adatelemzéshez. További információkért tekintse meg az adatfolyamokkal rendelkező AI-t.