MLOps: Modellkezelés, üzembe helyezés és monitorozás az Azure Machine Tanulás
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
Ebben a cikkben megismerheti az Azure Machine Tanulás gépi tanulási műveleteinek (MLOps) eljárásait 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 a munkafolyamatok hatékonyságát növelő DevOps-alapelveken és gyakorlatokon alapul. Ezek az alapelvek közé tartozik a folyamatos integráció, a teljesítés és az üzembe helyezés. Az MLOps ezeket az alapelveket alkalmazza a gépi tanulási életciklusra a következő céllal:
- 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 vonalkövetés.
Az MLOps a következő képességeket biztosítja a gépi tanulási folyamathoz:
- Reprodukálható gépi tanulási folyamatok létrehozása. Gépi tanulási folyamatokkal megismételhető és újrafelhasználható lépéseket határozhat meg 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ó metaadatok nyomon követése.
- A teljes körű gépi tanulási életciklus szabályozási adatainak rögzítése. A naplózott életútadatok tartalmazhatják, 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ények közé tartozik a kísérlet befejezése, a modellregisztráció, a modell üzembe helyezése és az adateltolódás-észlelés.
- 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 körű gépi tanulási életciklust gépi tanulással és Azure-folyamatokkal. A modellek gyakori teszteléséhez és frissítéséhez használjon folyamatokat. 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: Gépi tanulási műveletek.
Reprodukálható gépi tanulási folyamatok létrehozása
Az Azure Machine Tanulás folyamatokkal összefűzheti a modell betanítási folyamatának összes lépését. A gépi tanulási folyamatok tartalmazhatnak olyan lépéseket, amelyek magukban foglalják az adatok előkészítését, a funkciók kinyerését, a hiperparaméterek finomhangolását és a modell kiértékelését.
Ha az Azure Machine Tanulás tervezőjével hoz létre egy gépi tanulási folyamatot, klónozhatja a folyamatot, hogy a régi verziók elvesztése nélkül iteráljon a terven. Ha bármikor klónozni szeretne egy folyamatot a tervezőben, a jobb felső sarokban válassza a ...>Klónozás.
Az Azure Machine Tanulás folyamatokkal kapcsolatos további információkért tekintse meg a gépi tanulási folyamatokat.
Újrafelhasználható szoftverkörnyezetek létrehozása
Az Azure Machine Tanulás 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 környezeteket modellbetanításhoz és üzembe helyezéshez használhatja. További információ a környezetekről: Mik az Azure Machine Tanulás 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.
A regisztrált modell a modellt alkotó egy vagy több fájl logikai tárolója. Ha például több fájlban tárolt modellel rendelkezik, a fájlokat egyetlen modellként regisztrálhatja az Azure Machine Tanulás-munkaterületen. A regisztráció után letöltheti vagy üzembe helyezheti a regisztrált modellt, és megkaphatja az összes összetevőfájlt.
A regisztrált modelleket név és verzió alapján is 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 ezeket a címkéket használhatja a modell keresésekor. Az Azure Machine Tanulás támogatja a Python 3.5.2 vagy újabb verziójával betölthető modelleket.
Tipp.
Az Azure Machine-Tanulás kívül betanított modelleket is regisztrálhat.
Fontos
- Ha az Azure Machine Tanulás Studio Modellek lapján a Filter by (Szűrés)
Tags
lehetőséget használja ahelyett,TagName : TagValue
hogy szóközöket használnálTagName=TagValue
. - Az aktív üzembe helyezés során használt regisztrált modell nem törölhető.
A modellek Azure Machine-Tanulás való használatáról további információt az Azure Machine Tanulás modellek használata című témakörben talál.
Csomagok és hibakeresési modellek
Mielőtt üzembe helyeznénk egy modellt az éles környezetben, azt egy Docker-rendszerképbe kell csomagolni. A legtöbb esetben a rendszerképek létrehozása automatikusan történik a háttérben az üzembe helyezés során; azonban manuálisan is megadhatja a képet.
Érdemes először üzembe helyezni a helyi fejlesztési környezetben, 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 Tanulás üzembe helyezésével 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 és a Machine Tanulás használatával kapcsolatos további információkért lásd: Gépi tanulási modellek létrehozása és felgyorsítása.
Modellek üzembe helyezése
A betanított gépi tanulási modelleket üzembe helyezheti végpontként a felhőben vagy helyileg. Az üzembe helyezések a processzort és a GPU-t használják a következtetéshez.
A modell végpontként való üzembe helyezésekor a következő elemeket kell megadnia:
- A szolgáltatásnak vagy eszköznek küldött adatok pontozására használt modell .
- 1. bejegyzésszkript. Ez a szkript fogadja a kéréseket, a modellek használatával pontozza az adatokat, és választ ad vissza.
- Egy 2. 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 eszköz, például a modellek és a beviteli szkript által igényelt szöveg és adatok.
Meg kell adnia az üzembe helyezés célplatformjának konfigurációját is. Például a virtuális gép (VM) családtípusa, a rendelkezésre álló memória és a magok száma. A rendszerkép létrehozásakor az Azure Machine Tanulás által igényelt összetevők, például a webszolgáltatás futtatásához szükséges eszközök is hozzáadódnak.
1,2 MLflow-modell üzembe helyezésekor nem kell megadnia egy bejegyzésszkriptet, más néven pontozó szkriptet. Emellett nem kell környezetet biztosítania 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.
Kötegelt kiértékelés
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
A modelleket online végponttal is használhatja a valós idejű pontozáshoz. 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ő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.
- 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 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.
Analitika
A Microsoft Power BI támogatja a gépi tanulási modellek használatát az adatelemzéshez. További információ: Azure Machine Tanulás integráció a Power BI-ban.
Az MLOpshoz szükséges szabályozási adatok rögzítése
Az Azure Machine Tanulás lehetővé teszi az összes gépi tanulási eszköz teljes körű auditútvonalának nyomon követését metaadatok használatával. Példa:
- Az Azure Machine Tanulás adategységei segítenek az adatok nyomon követésében, a profilban és a verzióadatokban.
- 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 Tanulás feladatelőzményei 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 Tanulás modellregisztrációs adatbázisa 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, hogy a gépi tanulási életciklusban olyan eseményeket hajthat végre, mint 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 adategységekkel 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 adategységeket 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
Az Azure Machine Tanulás 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-Tanulás-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.
A gépi tanulási életciklus automatizálása
A GitHub és az Azure Pipelines használatával olyan folyamatos integrációs folyamatot hozhat létre, amely betanít egy 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í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 Tanulás 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:
- Szolgáltatáskapcsolat definiálásakor engedélyezi a munkaterület kiválasztását.
- Lehetővé teszi a kiadási folyamatok aktiválását egy betanítási folyamatban létrehozott betanított modellekkel.
Az Azure Pipelines és a Machine Tanulás használatával kapcsolatos további információkért lásd: Azure Pipelines használata az Azure Machine Tanulás.