Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A nyomon követés a kísérletekre vonatkozó releváns információk mentésének folyamata. Ebből a cikkből megtudhatja, hogyan használhatja az MLflow-t a kísérletek nyomon követéséhez és az Azure Machine Learning-munkaterületeken való futtatáshoz.
Előfordulhat, hogy az MLflow API-ban elérhető egyes metódusok nem érhetők el az Azure Machine Learninghez való csatlakozáskor. A támogatott és nem támogatott műveletekről további információt a futtatások és kísérletek lekérdezésének támogatási mátrixában talál. Az MLflow és az Azure Machine Learning című cikkből megismerheti az Azure Machine Learning támogatott MLflow funkcióit is.
Feljegyzés
- Az Azure Databricksen futó kísérletek nyomon követéséhez tekintse meg az Azure Databricks ML-kísérletek nyomon követését az MLflow és az Azure Machine Learning használatával.
- Az Azure Synapse Analyticsben futó kísérletek nyomon követéséhez tekintse meg az Azure Synapse Analytics ML-kísérletek nyomon követését az MLflow és az Azure Machine Learning használatával.
Előfeltételek
Azure-előfizetéssel rendelkezik az Azure Machine Learning ingyenes vagy fizetős verziójával.
Az Azure CLI- és Python-parancsok futtatásához telepítse az Azure CLI v2-t és a Pythonhoz készült Azure Machine Learning SDK v2-t. Az
ml
Azure CLI bővítménye automatikusan telepíti az Azure Machine Learning CLI-parancs első futtatásakor.
Telepítse az MLflow SDK-csomagot
mlflow
és az MLflow-hoz készült Azure Machine Learningazureml-mlflow
beépülő modult az alábbiak szerint:pip install mlflow azureml-mlflow
Tipp.
Használhatja a
mlflow-skinny
csomagot, amely egy egyszerű MLflow-csomag SQL Storage, kiszolgáló, felhasználói felület vagy adatelemzési függőségek nélkül. Ez a csomag azoknak a felhasználóknak ajánlott, akiknek elsősorban az MLflow nyomkövetési és naplózási képességeire van szükségük anélkül, hogy importálni kellene a funkciók teljes csomagját, beleértve az üzembe helyezéseket is.Azure Machine Learning-munkaterület létrehozása. Munkaterület létrehozásához tekintse meg az első lépésekhez szükséges erőforrások létrehozását ismertető témakört. Tekintse át az MLflow-műveletek munkaterületen való végrehajtásához szükséges hozzáférési engedélyeket .
Ha távoli nyomkövetést szeretne végezni, vagy nyomon szeretné követni az Azure Machine Learningen kívül futó kísérleteket, konfigurálja az MLflow-t úgy, hogy az az Azure Machine Learning-munkaterület nyomkövetési URI-jára mutasson. Az MLflow munkaterülethez való csatlakoztatásáról további információt az MLflow konfigurálása az Azure Machine Learninghez című témakörben talál.
A kísérlet konfigurálása
Az MLflow a kísérletekben és a futtatásokban rendszerezi az információkat. A futtatásokat feladatnak nevezzük az Azure Machine Learningben. Alapértelmezés szerint futtatja a naplót egy automatikusan létrehozott, Alapértelmezett nevű kísérletbe, de konfigurálhatja, hogy melyik kísérletet kövesse nyomon.
Interaktív betanításhoz, például Jupyter-jegyzetfüzetekben, használja az MLflow parancsot mlflow.set_experiment()
. A következő kódrészlet például konfigurál egy kísérletet:
experiment_name = 'hello-world-example'
mlflow.set_experiment(experiment_name)
A futtatás konfigurálása
Az Azure Machine Learning nyomon követi a betanítási feladatokat, amit az MLflow futásoknak nevez. Futtatásokkal rögzítheti a feladat által végrehajtott összes feldolgozást.
Ha interaktívan dolgozik, az MLflow azonnal nyomon követi képzési rutinját, amint olyan információt naplóz, amely aktív futtatást igényel. Ha például a Mlflow autologging funkciója engedélyezve van, az MLflow nyomon követése akkor indul el, amikor naplóz egy metrikát vagy paramétert, vagy elindít egy betanítási ciklust.
Általában azonban hasznos a futtatás explicit elindítása, különösen akkor, ha a kísérlet teljes idejét szeretné rögzíteni az Időtartam mezőben. A futtatás explicit elindításához használja a következőt mlflow.start_run()
: .
Akár manuálisan indítja el a futtatást, akár nem, végül le kell állítania a futtatást, hogy az MLflow tudja, hogy a kísérlet futtatása befejeződött, és befejezettként megjelölheti a futtatás állapotát. A futtatás leállításához használja a következőt mlflow.end_run()
.
A következő kód manuálisan indítja el a futtatásokat, és a jegyzetfüzet végén végződik:
mlflow.start_run()
# Your code
mlflow.end_run()
A legjobb, ha manuálisan indítja el a futtatásokat, hogy ne felejtse el befejezni őket. Használhatja a környezetkezelőt, hogy segítsen emlékezni a futás befejezésére.
with mlflow.start_run() as run:
# Your code
Amikor új futtatásba kezd a mlflow.start_run()
, hasznos lehet megadni a run_name
paramétert, amely később az Azure Machine Learning felhasználói felületén a futtatás nevét fogja jelenteni. Ez a gyakorlat segít a futtatás gyorsabb azonosításában.
with mlflow.start_run(run_name="hello-world-example") as run:
# Your code
Az MLflow automatikus naplózásának engedélyezése
A metrikákat, paramétereket és fájlokat manuálisan naplózhatja az MLflow használatával, és az MLflow automatikus naplózási funkciójára is támaszkodhat. Az MLflow által támogatott összes gépi tanulási keretrendszer meghatározza, hogy mit kövessen nyomon automatikusan.
Az automatikus naplózás engedélyezéséhez szúrja be a következő kódot a betanítási kód elé:
mlflow.autolog()
Metrikák és összetevők megtekintése a munkaterületen
Az MLflow naplózásából származó metrikákat és összetevőket a rendszer nyomon követi a munkaterületen. Megtekintheti és elérheti őket az Azure Machine Learning Studióban, vagy programozott módon is elérheti őket az MLflow SDK-val.
Metrikák és elemek megtekintése a stúdióban:
A munkaterület Feladatok lapján válassza ki a kísérlet nevét.
A kísérlet részletei lapon válassza a Metrikák lapot.
A jobb oldalon lévő diagramok megjelenítéséhez válassza ki a naplózott metrikákat. A diagramokat simítással, színmódosítással vagy több metrika egyetlen gráfon való ábrázolásával testre szabhatja. Az elrendezés átméretezhető és átrendezhető.
Miután létrehozta a kívánt nézetet, mentse későbbi használatra, és ossza meg a csapattagokkal egy közvetlen hivatkozás használatával.
Ha a metrikákat, paramétereket és összetevőket programozott módon szeretné elérni vagy lekérdezni az MLflow SDK-n keresztül, használja a mlflow.get_run()-t.
import mlflow
run = mlflow.get_run("<RUN_ID>")
metrics = run.data.metrics
params = run.data.params
tags = run.data.tags
print(metrics, params, tags)
Tipp.
Az előző példa csak egy adott metrika utolsó értékét adja vissza. Egy adott metrika összes értékének lekéréséhez használja a metódust mlflow.get_metric_history
. A metrikák értékeinek lekéréséről további információt a paramok és metrikák lekérése futtatásból című témakörben talál.
A naplózott összetevők, például fájlok és modellek letöltéséhez használja a mlflow.artifacts.download_artifacts()-t.
mlflow.artifacts.download_artifacts(run_id="<RUN_ID>", artifact_path="helloworld.txt")
Az Azure Machine Learningben az MLflow használatával végzett kísérletek és futtatások adatainak lekéréséről és összehasonlításáról további információt a Query & compare experiments and runs with MLflow (Kísérletek és futtatások összehasonlítása az MLflow-tal) című témakörben talál.