Megosztás a következőn keresztül:


MLOps: Modellkezelés, üzembe helyezés, leállás és monitorozás az Azure Machine Learning 1-es verzióval

ÉRVÉNYES:Azure CLI ml-bővítmény v1Python SDK azureml v1

Ebből a cikkből megtudhatja, hogyan alkalmazhat gépi tanulási műveleteket (MLOps) az Azure Machine Learningben a modellek életciklusának kezelésére. A gépi tanulási üzemeltetési eljárások javíthatják a gépi tanulási megoldások minőségét és konzisztenciáját.

Fontos

A cikk előzetes verzióként megjelölt elemei jelenleg nyilvános előzetes verzióban érhetők el. Az előzetes verzió szolgáltatásszint-szerződés nélkül érhető el. Éles számítási feladatok előzetes verziójú funkcióit nem javasoljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik.

További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Mi az a gépi tanulási művelet?

A DevOps alapelvei és gyakorlatai alapján a gépi tanulási műveletek (MLOps) növelik a munkafolyamatok hatékonyságát. Például folyamatos integráció, teljesítés és üzembe helyezés. A gépi tanulási műveletek az alábbi alapelveket alkalmazzák a gépi tanulási folyamatra 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

MLOps az Azure Machine Learningben

Az Azure Machine Learning a következő gépi tanulási műveleteket biztosítja:

  • Reprodukálható gépi tanulási folyamatok létrehozása. A Machine Learning-folyamatok lehetővé teszik az adatelőkészítési, betanítási és pontozási folyamatok megismételhető és újrafelhasználható lépéseinek meghatározását.
  • Újrahasználható szoftverkörnyezetek létrehozása modellek betanításához és üzembe helyezéséhez.
  • 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 teljes körű gépi tanulási életciklus szabályozási adatait. A naplózott életútadatok tartalmazhatják a modellek közzétételének, a módosítások okainak, valamint a modellek üzembe helyezésének vagy éles környezetben való felhasználásának a adatait.
  • Értesítés és riasztás a gépi tanulási életciklus eseményeiről. Ilyen például a kísérlet befejezése, a modellregisztráció, a modell üzembe helyezése és az adateltolódás észlelése.
  • Gépi tanulási alkalmazások figyelése üzemeltetési és gépi tanulási problémák esetén. Hasonlítsa össze a modell bemeneteit a betanítás és a következtetés között, vizsgálja meg a modellspecifikus metrikákat, és biztosítson monitorozást és riasztásokat a gépi tanulási infrastruktúrán.
  • Automatizálja a teljes körű gépi tanulási életciklust az Azure Machine Learning és az Azure Pipelines használatával. A folyamatok használatával gyakran frissíthet modelleket, tesztelhet új modelleket, és folyamatosan új gépi tanulási modelleket hozhat létre a többi alkalmazással és szolgáltatással együtt.

A gépi tanulási műveletekről további információt a Gépi tanulási műveletek című témakörben talál.

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

Az Azure 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 adatelőkészítéstől a funkciókinyerésen át a hiperparaméter-finomhangoláson át a modellértékelésig számos lépést tartalmazhatnak. További információ: Azure Machine Learning-folyamatok.

Ha a Tervező használatával hozza létre a gépi tanulási folyamatokat, jelölje ki a három pontot (...) a Tervező oldal jobb felső sarkában, majd válassza a Klónozás lehetőséget. A folyamat klónozásával iterálhatja a folyamattervet anélkül, hogy elveszítené a régi verziókat.

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

Az Azure Machine Learning-környezetekkel nyomon követheti és reprodukálhatja a projektek szoftverfüggőségeit a fejlődésük során. A környezetek lehetővé teszik, hogy a buildek manuális szoftverkonfigurációk nélkül reprodukálhatóak legyenek.

A környezetek a projektek pip- és Conda-függőségeit írják le. A környezetek a modellek betanításához és üzembe helyezéséhez egyaránt használhatók. További információ: Mik azok az Azure Machine Learning-környezetek.

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

Bárhonnan regisztrálhat, csomagolhat és helyezhet üzembe modelleket.

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

A modellregisztráció lehetővé teszi a modellek tárolását és verziószámozását a 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.

Tipp.

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, regisztrálhatja őket egyetlen modellként az Azure 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 név és a verzió azonosítja a regisztrált modelleket. 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 más metaadatcímkéket is megadhat. Ezeket a címkéket ezután a rendszer a modell keresésekor használja. Az Azure Machine Learning minden olyan modellt támogat, amely a Python 3.5.2-s vagy újabb verziójával tölthető be.

Tipp.

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

Az aktív üzemelő példányban használt regisztrált modell nem törölhető. További információ: A modell regisztrálása.

Fontos

Ha az Azure Machine Learning Studio Modellek lapján a szűrőt Tags használja ahelyett, hogy TagName=TagValue használnál TagName : TagValue (szóköz nélkül).

Csomagok és hibakeresési modellek

Mielőtt üzembe helyeznénk egy modellt az éles környezetben, egy Docker-rendszerképbe csomagoljuk. 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ó: Gépi tanulási modellek üzembe helyezése az Azure-ban és a távoli modellek üzembe helyezésének hibaelhárítása.

Modellek konvertálása és optimalizálása

A modell átalakítása nyílt neurális hálózati exchange -zé (ONNX) javíthatja a teljesítményt. Az ONNX-re való konvertálás átlagosan 2-szeres teljesítménynövekedést eredményezhet.

További információ: ONNX és Azure Machine Learning.

Modellek használata

A betanított gépi tanulási modellek webszolgáltatásként vannak üzembe helyezve a felhőben vagy helyileg. Az üzembe helyezések a processzort vagy a GPU-t használják a következtetéshez. A Power BI-ból is használhat modelleket.

Ha egy modellt webszolgáltatásként használ, adja meg a következő elemeket:

  • A szolgáltatásnak vagy eszköznek küldött adatok pontozásához használt modellek.
  • Egy bejegyzésparancsfájl. Ez a szkript fogadja a kéréseket, a modellek használatával pontozza az adatokat, és választ ad vissza.
  • Egy Azure Machine Learning-környezet, amely leírja a modellekhez és a belépési szkripthez szükséges Pip- és Conda-függőségeket.
  • A modellekhez és a beviteli szkripthez szükséges egyéb eszközök, például a szöveg vagy az adatok.

Meg kell adnia az üzembe helyezés célplatformjának konfigurációját is. Például a virtuális gép családtípusa, a rendelkezésre álló memória és a magok száma az Azure Kubernetes Service-ben való üzembe helyezéskor.

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.

Kötegelt kiértékelés

A kötegelt pontozást gépi tanulási folyamatok támogatják. További információ : Oktatóanyag: Azure Machine Learning-folyamat létrehozása képosztályozáshoz.

Valós idejű webszolgáltatások

A modellek webszolgáltatásokban a következő számítási célokkal használhatók:

  • Azure Container Instance
  • Azure Kubernetes Service
  • Helyi fejlesztőkörnyezet

A modell webszolgáltatásként 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. Például egy szkript, amely fogadja a kéréseket, és meghívja a modellt vagy a conda függőségeket.
  • A modell üzembe helyezésének módját és helyét leíró üzembehelyezési konfiguráció.

További információ: Gépi tanulási modellek üzembe helyezése az Azure-ban.

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.

A gépi tanulási műveletekhez szükséges szabályozási adatok rögzítése

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.

  • Az Azure Machine Learning integrálható a Gittel annak nyomon követéséhez, hogy melyik adattárból, ágból és véglegesítésből származik a kód.
  • Az Azure Machine Learning-adatkészletek 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 eredményre az adott bemenethez.
  • Az Azure Machine Learning Run elő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 Learning Model Registry rögzíti a modellhez társított összes metaadatot. Ez a metaadat tartalmazza, hogy melyik kísérlet képezte be, hol helyezi üzembe, és hogy az üzemelő példányai kifogástalan állapotban vannak-e.
  • Az Azure-ral való integráció lehetővé teszi a gépi tanulási életciklus eseményeinek feldolgozását. Például modellregisztráció, üzembe helyezés, adateltolódás és betanítási (futtatási) események.

Tipp.

A rendszer automatikusan rögzíti a modellekre és adatkészletekre vonatkozó egyes információkat. További információkat címkékkel adhat hozzá. Ha regisztrált modelleket és adatkészleteket keres a munkaterületen, címkéket használhat szűrőként.

Az adatkészletek regisztrált modellel való társítása nem kötelező lépés. A modell regisztrálásakor az adatkészletekre való hivatkozással kapcsolatos információkért tekintse meg a Modellosztály referenciát.

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

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ó. További információ: Alkalmazások, folyamatok vagy CI/CD-munkafolyamatok aktiválása Azure Machine Learning-események alapján.

Működési és gépi tanulási problémák monitorozása

A monitorozással megismerheti, hogy milyen adatokat küldenek a modellnek, és milyen előrejelzéseket ad vissza.

Ezek az információk segítenek megérteni a modell használatát. Az összegyűjtött bemeneti adatok a modell későbbi verzióinak betanításában is hasznosak lehetnek.

További információ: Adatok gyűjtése éles modellekből.

Modell újratanítása új adatokon

Gyakran érdemes ellenőrizni a modellt, frissíteni, vagy akár újratanulni az alapoktól, amikor új információkat kap. Néha az új adatok fogadása a tartomány elvárt része. Más esetekben a modell teljesítménye csökkenhet egy adott érzékelő változásai, a természetes adatváltozások, például a szezonális hatások vagy az egyéb funkciókhoz képest eltolódó funkciók miatt. További információ: Adathalmazok adateltolódásának észlelése (előzetes verzió).

Nincs univerzális válasz arra, hogy "Hogyan tudom, hogy újratanulnom kell-e?", de az Azure Machine Learning eseményei és a korábban tárgyalt monitorozási eszközök jó kiindulópontok az automatizáláshoz. Miután úgy döntött, hogy újratanítást választ, a következőt kell választania:

  • Adatok előfeldolgozása megismételhető, automatizált folyamattal
  • Az új modell betanítása
  • Hasonlítsa össze az új modell kimeneteit a régi modell kimenetével
  • Előre definiált feltételek használata annak eldöntéséhez, hogy lecseréli-e a régi modellt

A fenti lépések egyik témája, hogy az újratanítást automatizálni kell, nem rögtönözni. Az Azure Machine Learning-folyamatok jó megoldást jelentenek az adatok előkészítésével, betanításával, érvényesítésével és üzembe helyezésével kapcsolatos munkafolyamatok létrehozásához. Olvassa el a folyamatparaméterek használatával a modellek újratanítását a tervezőben , hogy lássa, hogyan illeszkednek a folyamatok és az Azure Machine Learning-tervező egy újratanítási forgatókönyvbe.

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 adattudós egy projekt Git-adattárának változását ellenőrzi, az Azure Pipeline elindít egy betanítási futtatásokat. A futtatás 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.

Az Azure Machine Learning bővítmény megkönnyíti az Azure Pipelines kezelését. A következő fejlesztéseket biztosítja az Azure Pipelineshoz:

  • Lehetővé teszi a munkaterület kiválasztását szolgáltatáskapcsolat definiálásakor.
  • 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 az Azure Machine Learning használatával kapcsolatos további információkért tekintse meg a következő erőforrásokat:

Az Azure Data Factory használatával olyan adatbetöltési folyamatot is létrehozhat, amely előkészíti az adatokat a betanításhoz való használatra. További információ: DevOps egy adatbetöltési folyamathoz.

További információ az alábbi források elolvasásával és feltárásával: