MLflow és Azure Machine Learning
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
Az MLflow egy nyílt forráskódú keretrendszer, amely a teljes gépi tanulási életciklus kezelésére lett kialakítva. A modellek különböző platformokon való betanítása és kiszolgálása lehetővé teszi, hogy konzisztens eszközkészletet használjon, függetlenül attól, hogy hol futnak a kísérletek: akár helyileg a számítógépen, egy távoli számítási célon, egy virtuális gépen vagy egy Azure Machine Tanulás számítási példányon.
Az Azure Machine Tanulás-munkaterületek MLflow-kompatibilisek, ami azt jelenti, hogy az Azure Machine Tanulás munkaterületeket ugyanúgy használhatja, mint egy MLflow-kiszolgálót. Ez a kompatibilitás a következő előnyökkel jár:
- Az Azure Machine Tanulás nem üzemeltet MLflow-kiszolgálópéldányokat a motorháztető alatt; a munkaterület inkább az MLflow API nyelvét beszéli.
- Az Azure Machine Tanulás-munkaterületeket bármilyen MLflow-kód nyomkövetési kiszolgálójaként használhatja, függetlenül attól, hogy az Azure Machine-Tanulás fut-e. Csak úgy kell konfigurálnia az MLflow-t, hogy arra a munkaterületre mutasson, ahol a nyomon követésnek történnie kell.
- Minden olyan betanítási rutint futtathat, amely az MLflow-t használja az Azure Machine Tanulás változtatás nélkül.
Tipp.
Az Azure Machine Tanulás SDK 1-ben nem található naplózási funkció az SDK 2-ben. Javasoljuk, hogy az MLflow-t használja a naplózáshoz, hogy a betanítási rutinok felhőbeliek és hordozhatóak legyenek – ezzel eltávolítva a kód azure-beli Tanulás függőségeit.
Nyomon követés az MLflow használatával
Az Azure Machine Tanulás MLflow-nyomkövetést használ a metrikák naplózásához és az összetevők tárolásához a kísérletekhez. Amikor csatlakozik az Azure Machine Tanulás, az MLflow használatával végzett összes nyomon követés a munkaterületen lesz materializálva. Ha többet szeretne megtudni arról, hogyan állíthatja be kísérleteit az MLflow használatával a kísérletek és a betanítási rutinok nyomon követésére, tekintse meg az MLflow-ral rendelkező naplómetrikákat, paramétereket és fájlokat. Az MLflow használatával is lekérdezheti és összehasonlíthatja a kísérleteket és a futtatásokat.
Az MLflow az Azure Machine Tanulás lehetővé teszi a nyomon követés központosítását. Az MLflow-t akkor is csatlakoztathatja az Azure Machine Tanulás-munkaterületekhez, ha helyileg vagy egy másik felhőben dolgozik. A munkaterület központosított, biztonságos és méretezhető helyet biztosít a betanítási metrikák és modellek tárolásához.
Az MLflow használata az Azure Machine Tanulás a következőket nyújtja:
- Nyomon követheti a helyileg vagy a felhőben futó gépi tanulási kísérleteket és modelleket.
- Kövesse nyomon az Azure Databricks gépi tanulási kísérleteit.
- Kövesse nyomon az Azure Synapse Analytics gépi tanulási kísérleteit.
Példajegyzetfüzetek
- XGBoost-osztályozó betanítása és nyomon követése az MLflow használatával: Bemutatja, hogyan követheti nyomon a kísérleteket MLflow, naplómodellek használatával, és hogyan kombinálhat több ízt a folyamatokban.
- XGBoost-osztályozó betanítása és nyomon követése az MLflow használatával szolgáltatásnév-hitelesítéssel: Bemutatja, hogyan követheti nyomon a kísérleteket az Azure Machine-Tanulás kívül futó számításból származó MLflow használatával. A példa bemutatja, hogyan hitelesíthető az Azure Machine Tanulás szolgáltatásnevek használatával.
- Hyper-parameter optimization using HyperOpt and nested runs in MLflow: How to use child runs in MLflow to do hyper-parameter optimization for models by using the popular library
Hyperopt
. A példa bemutatja, hogyan továbbíthat metrikákat, paramétereket és összetevőket a gyermekfuttatásokból a szülőfuttatásokra. - Modellek naplózása MLflow használatával: Bemutatja, hogyan használhatja a modellek fogalmát összetevők helyett az MLflow használatával. A példa azt is bemutatja, hogyan hozhat létre egyéni modelleket.
- Futtatások és kísérletek kezelése az MLflow használatával: Bemutatja, hogyan kérdezhet le kísérleteket, futtatásokat, metrikákat, paramétereket és összetevőket az Azure Machine-Tanulás az MLflow használatával.
Nyomon követés MLflow-val az R-ben
Az R MLflow-támogatása a következő korlátozásokkal rendelkezik:
- Az MLflow-nyomkövetés a kísérletmetrikák, paraméterek és modellek nyomon követésére korlátozódik az Azure Machine Tanulás-feladatokon.
- Az RStudio, a Posit (korábbi nevén RStudio Workbench) vagy az R kernelekkel rendelkező Jupyter-jegyzetfüzetek interaktív betanítása nem támogatott.
- A modellkezelés és a regisztráció nem támogatott az MLflow R SDK használatával. Ehelyett használja az Azure Machine Tanulás CLI-t vagy az Azure Machine Tanulás Studiót a modellregisztrációhoz és -kezeléshez.
Az MLflow-követési ügyfél Azure Machine Tanulás használatával való használatáról az Azure Machine Tanulás PARANCSSOR (v2) használatával az R-modellek betanítása című témakörben található példákat tekintheti meg.
Nyomon követés az MLflow használatával a Javában
A Java MLflow-támogatása a következő korlátozásokkal rendelkezik:
- Az MLflow-nyomkövetés az Azure Machine Tanulás-feladatok kísérletmetrikáinak és paramétereinek nyomon követésére korlátozódik.
- Az összetevők és modellek nem követhetők nyomon az MLflow Java SDK használatával. Ehelyett használja a
Outputs
feladatmappát a metódussal együtt amlflow.save_model
rögzíteni kívánt modellek (vagy összetevők) mentéséhez.
Az MLflow-követő ügyfél Azure Machine-Tanulás használatával kapcsolatos információkért tekintse meg az MLflow-követő ügyfelet az Azure Machine Tanulás használó Java-példát.
Modellregisztrációs adatbázisok az MLflow használatával
Az Azure Machine Tanulás támogatja az MLflow-t a modellkezeléshez. Ez a támogatás kényelmes módot jelent az MLflow-ügyfelet ismerő felhasználók teljes modelléletciklusának támogatására.
Ha többet szeretne megtudni arról, hogyan kezelheti a modelleket az MLflow API-val az Azure Machine Tanulás-ban, tekintse meg az Azure Machine Tanulás modellregisztrációs adatbázisainak kezelése az MLflow használatával című témakört.
Példajegyzetfüzet
- Modellregisztrációs adatbázisok kezelése az MLflow használatával: Bemutatja, hogyan kezelheti a modelleket a regisztrációs adatbázisokban az MLflow használatával.
Modell üzembe helyezése az MLflow használatával
MLflow-modelleket helyezhet üzembe az Azure Machine Tanulás, és kihasználhatja a továbbfejlesztett felhasználói élményt az MLflow-modellek használatakor. Az Azure Machine Tanulás támogatja az MLflow-modellek valós idejű és kötegelt végpontokon való üzembe helyezését anélkül, hogy környezetet vagy pontozószkriptet kellene megadnia. Az üzembe helyezés az MLflow SDK, az Azure Machine Tanulás CLI, a Pythonhoz készült Azure Machine Tanulás SDK vagy az Azure Machine Tanulás studio használatával támogatott.
Ha többet szeretne megtudni az MLflow-modellek Azure Machine-Tanulás való üzembe helyezéséről valós idejű és kötegelt következtetés céljából, tekintse meg az MLflow-modellek üzembe helyezésének irányelveit.
Példajegyzetfüzetek
- MLflow üzembe helyezése online végpontokon: Bemutatja, hogyan helyezhet üzembe modelleket MLflow formátumban az online végpontokon az MLflow SDK használatával.
- MLflow üzembe helyezése online végpontokon biztonságos bevezetéssel: Bemutatja, hogyan helyezhet üzembe modelleket MLflow formátumban online végpontokon az MLflow SDK használatával a modellek fokozatos bevezetése mellett. A példa azt is mutatja, hogy a modell több verziója is ugyanarra a végpontra van üzembe helyezve.
- MLflow üzembe helyezése webszolgáltatásokban (V1): Bemutatja, hogyan helyezhet üzembe modelleket MLflow formátumban a webszolgáltatásokban (ACI/AKS v1) az MLflow SDK használatával.
- Az Azure Databricksben betanított modellek üzembe helyezése az Azure Machine Tanulás az MLflow használatával: Bemutatja, hogyan taníthat be modelleket az Azure Databricksben, és hogyan helyezheti üzembe őket az Azure Machine Tanulás. A példa azt is ismerteti, hogyan kezelheti azokat az eseteket, amikor az Azure Databricks MLflow-példányával végzett kísérleteket is nyomon szeretné követni.
Betanítás MLflow-projektekkel (előzetes verzió)
Fontos
A cikkben megjelölt (előzetes verziójú) elemek 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, és éles számítási feladatokhoz nem ajánlott. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. For more information, see Supplemental Terms of Use for Microsoft Azure Previews.
A betanítási feladatokat MLflow-projektek (előzetes verzió) használatával küldheti el az Azure Machine Tanulás. Feladatokat küldhet be helyileg az Azure Machine Tanulás nyomon követésével vagy a feladatok felhőbe való migrálásával az Azure Machine Tanulás compute használatával.
Ha tudni szeretné, hogyan küldhet be betanítási feladatokat az Azure Machine Tanulás-munkaterületeket követő MLflow-projektekkel, olvassa el A gépi tanulási modellek betanítása MLflow-projektekkel és Azure Machine-Tanulás című témakört.
Példajegyzetfüzetek
- MLflow-projekt nyomon követése az Azure Machine Tanulás-munkaterületeken.
- MLflow-projekt betanítása és futtatása az Azure Machine Tanulás-feladatokon.
MLflow SDK, Azure Machine Tanulás v2 és Azure Machine Tanulás studio képességek
Az alábbi táblázat a gépi tanulási életciklusban elérhető összes ügyféleszköz használatával mutatja be a lehetséges műveleteket.
Funkció | MLflow SDK | Azure Machine Tanulás CLI/SDK | Azure Machine Learning Studio |
---|---|---|---|
Metrikák, paraméterek és modellek nyomon követése és naplózása | ✓ | ||
Metrikák, paraméterek és modellek lekérése | ✓ | 1 | ✓ |
Betanítási feladatok elküldése | ✓2 | ✓ | ✓ |
Betanítási feladatok elküldése az Azure Machine Tanulás adategységekkel | ✓ | ✓ | |
Betanítási feladatok elküldése gépi tanulási folyamatokkal | ✓ | ✓ | |
Kísérletek és futtatások kezelése | ✓ | ✓ | ✓ |
MLflow-modellek kezelése | ✓3 | ✓ | ✓ |
Nem MLflow-modellek kezelése | ✓ | ✓ | |
MLflow-modellek üzembe helyezése az Azure Machine Tanulás (Online > Batch) | ✓4 | ✓ | ✓ |
Nem MLflow-modellek üzembe helyezése az Azure Machine-Tanulás | ✓ | ✓ |
Megjegyzés:
- 1 Csak összetevők és modellek tölthetők le.
- 2 MLflow-projektek (előzetes verzió) használatával lehetséges.
- 3 Előfordulhat, hogy egyes műveletek nem támogatottak. Részletekért tekintse meg az Azure Machine Tanulás modellregisztrációs adatbázisainak kezelését az MLflow használatával.
- 4 Az MLflow-modellek üzembe helyezése kötegelt következtetéshez az MLflow SDK használatával jelenleg nem lehetséges. Alternatív megoldásként tekintse meg az MLflow-modellek üzembe helyezését és futtatását a Spark-feladatokban.
Kapcsolódó tartalom
- Az összetevőktől a modellekig az MLflow-ban.
- Az MLflow konfigurálása az Azure Machine Tanulás számára.
- Naplózás migrálása az SDK 1-ből az MLflow-ba
- Ml-kísérletek és modellek nyomon követése az MLflow használatával.
- MLflow-modellek naplózása.
- Útmutató az MLflow-modellek üzembe helyezéséhez.