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 : TagValuehogy 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.