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:
- Gépi tanulási modellek folyamatos integrációja és üzembe helyezése az Azure Pipelines használatával
- Azure Machine Learning MLOps-adattár
- Azure Machine Learning MLOpsPython-adattár
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.
Kapcsolódó tartalom
További információ az alábbi források elolvasásával és feltárásával:
- Gépi tanulási modellek üzembe helyezése az Azure-ban
- Oktatóanyag: Képbesorolási modell betanítása és üzembe helyezése egy Jupyter Notebook-példával
- Gépi tanulási műveletek – példák adattárra
- Az Azure Pipelines használata az Azure Machine Learning használatával
- Azure Machine Learning-modell felhasználása webszolgáltatásként
- Mesterségesintelligencia-architektúra tervezése
- Minták, referenciaarchitektúrák és ajánlott eljárások