MLflow a Azure Machine Learning
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)
Tento článek popisuje možnosti MLflow, opensourcové rozhraní navržené ke správě celého životního cyklu strojového učení. MLflow používá konzistentní sadu nástrojů k trénování a obsluhování modelů na různých platformách. MLflow můžete použít bez ohledu na to, jestli experimenty běží místně, nebo na vzdáleném cílovém výpočetním objektu, virtuálním počítači nebo výpočetní instanci služby Azure Machine Learning.
Pracovní prostory Azure Machine Learning jsou kompatibilní s MLflow, což znamená, že pracovní prostor Azure Machine Learning můžete použít stejným způsobem jako server MLflow. Tato kompatibilita má následující výhody:
- Azure Machine Learning nehostuje instance serverů MLflow, ale může přímo používat rozhraní API MLflow.
- Pracovní prostor Azure Machine Learning můžete použít jako sledovací server pro jakýkoli kód MLflow bez ohledu na to, jestli běží ve službě Azure Machine Learning. MLflow stačí nakonfigurovat tak, aby odkazovali na pracovní prostor, kde by mělo dojít ke sledování.
- Můžete spustit jakoukoli rutinu trénování, která používá MLflow ve službě Azure Machine Learning, aniž byste museli provádět změny.
Tip
Na rozdíl od sady Azure Machine Learning SDK verze 1 neexistuje žádná funkce protokolování v sadě Azure Machine Learning SDK v2. Protokolování MLflow můžete použít k zajištění, že vaše rutiny trénování jsou nezávislé na cloudu, přenosné a nemají žádnou závislost na Azure Machine Learning.
Co je sledování
Když pracujete s úlohami, Azure Machine Learning automaticky sleduje některé informace o experimentech, jako je kód, prostředí a vstupní a výstupní data. Modely, parametry a metriky jsou ale specifické pro daný scénář, takže tvůrci modelů musí nakonfigurovat sledování.
Uložená metadata sledování se liší podle experimentu a můžou zahrnovat:
- Kód
- Podrobnosti o prostředí, jako jsou verze operačního systému a balíčky Pythonu
- Vstupní data
- Konfigurace parametrů
- Modely
- Metriky vyhodnocení
- Vizualizace vyhodnocení, jako jsou matrice nejasnosti a diagramy důležitosti
- Výsledky vyhodnocení, včetně některých předpovědí vyhodnocení
Výhody sledování experimentů
Ať už modely trénujete pomocí úloh ve službě Azure Machine Learning nebo interaktivně v poznámkových blocích, pomůže vám sledování experimentů:
- Uspořádejte všechny experimenty strojového učení na jednom místě. Pak můžete experimenty prohledávat a filtrovat a procházet k podrobnostem o předchozích experimentech.
- Snadno porovnávat experimenty, analyzovat výsledky a ladit trénování modelů.
- Reprodukujte nebo znovu spusťte experimenty, abyste ověřili výsledky.
- Vylepšete spolupráci, protože můžete zjistit, co dělají ostatní členové týmu, sdílet výsledky experimentů a přistupovat k datům experimentů prostřednictvím kódu programu.
Sledování pomocí MLflow
Pracovní prostory Azure Machine Learning jsou kompatibilní s MLflow. Tato kompatibilita znamená, že pomocí MLflow můžete sledovat běhy, metriky, parametry a artefakty v pracovních prostorech, aniž byste museli měnit trénovací rutiny nebo vkládat jakoukoli syntaxi specifickou pro cloud. Informace o používání MLflow ke sledování experimentů a spuštění v pracovních prostorech Azure Machine Learning najdete v tématu Sledování experimentů a modelů pomocí MLflow.
Azure Machine Learning používá sledování MLflow k protokolování metrik a ukládání artefaktů pro experimenty. Když jste připojení ke službě Azure Machine Learning, všechny sledovací materiály MLflow se v pracovním prostoru, ve kterém pracujete, materializuje.
Informace o tom, jak povolit protokolování pro monitorování metrik spuštění v reálném čase pomocí MLflow, najdete v tématu Metriky protokolu, parametry a soubory pomocí MLflow. Můžete také dotazovat a porovnávat experimenty a spuštění pomocí MLflow.
MLflow ve službě Azure Machine Learning nabízí způsob, jak centralizovat sledování. MLflow můžete připojit k pracovním prostorům Azure Machine Learning i v případě, že pracujete místně nebo v jiném cloudu. Pracovní prostor Azure Machine Learning poskytuje centralizované, zabezpečené a škálovatelné umístění pro ukládání trénovacích metrik a modelů.
MLflow ve službě Azure Machine Learning může:
- Sledujte experimenty a modely strojového učení spuštěné místně nebo v cloudu.
- Sledování experimentů strojového učení Azure Databricks
- Sledování experimentů strojového učení azure Synapse Analytics
Sledování pomocí MLflow v R
Podpora MLflow v R má následující omezení:
- Sledování MLflow je omezené na sledování metrik experimentů, parametrů a modelů v úlohách Azure Machine Learning.
- Interaktivní školení pro RStudio, Posit (dříve RStudio Workbench) nebo poznámkové bloky Jupyter s jádry R se nepodporují.
- Správa modelů a registrace se nepodporují. K registraci a správě modelů použijte rozhraní příkazového řádku služby Azure Machine Learning nebo studio Azure Machine Learning.
Příklady použití klienta pro sledování MLflow s modely R ve službě Azure Machine Learning najdete v tématu Trénování modelů R pomocí azure Machine Learning CLI (v2).
Sledování pomocí MLflow v Javě
Podpora MLflow v Javě má následující omezení:
- Sledování MLflow je omezené na sledování metrik experimentů a parametrů v úlohách Azure Machine Learning.
- Artefakty a modely nelze sledovat. Místo toho použijte metodu
mlflow.save_model
se složkououtputs
v úlohách k ukládání modelů nebo artefaktů, které chcete zachytit.
Příklad Javy, který používá klienta pro sledování MLflow se serverem pro sledování služby Azure Machine Learning, najdete v tématu azuremlflow-java.
Ukázkové poznámkové bloky pro sledování MLflow
- Trénování a sledování klasifikátoru XGBoost pomocí MLflow ukazuje, jak pomocí MLflow sledovat experimenty, modely protokolů a kombinovat více příchutí do kanálů.
- Trénování a sledování klasifikátoru XGBoost pomocí MLflow pomocí ověřování instančního objektu ukazuje, jak pomocí MLflow sledovat experimenty z výpočetních prostředků spuštěných mimo Azure Machine Learning. Příklad ukazuje, jak se ověřovat ve službách Azure Machine Learning pomocí instančního objektu.
- Optimalizace hyperparametrů pomocí HyperOptu a vnořených spuštění v MLflow ukazuje, jak pomocí podřízených spuštění provést optimalizaci hyperparametrů pro modely pomocí oblíbené knihovny HyperOpt. Příklad ukazuje, jak přenést metriky, parametry a artefakty z podřízených spuštění do nadřazených spuštění.
- Protokolování modelů pomocí MLflow ukazuje, jak používat koncept modelů místo artefaktů s MLflow. Příklad také ukazuje, jak vytvořit vlastní modely.
- Správa spuštění a experimentů pomocí MLflow ukazuje, jak pomocí MLflow dotazovat experimenty, běhy, metriky, parametry a artefakty ze služby Azure Machine Learning.
Registrace modelu pomocí MLflow
Azure Machine Learning podporuje MLflow pro správu modelů. Tato podpora je pohodlný způsob, jak uživatelům, kteří jsou obeznámeni s klientem MLflow, spravovat celý životní cyklus modelu. Další informace o správě modelů pomocí rozhraní API MLflow ve službě Azure Machine Learning najdete v tématu Správa registrů modelů ve službě Azure Machine Learning pomocí MLflow.
Ukázkový poznámkový blok pro registraci modelu MLflow
Správa modelů pomocí MLflow ukazuje, jak spravovat modely v registrech.
Nasazení modelu pomocí MLflow
Modely MLflow můžete nasadit do služby Azure Machine Learning, abyste mohli využívat vylepšené prostředí. Azure Machine Learning podporuje nasazení modelů MLflow do koncových bodů v reálném čase i dávkových koncových bodů bez nutnosti zadat prostředí nebo bodovací skript.
Sada MLflow SDK, Azure Machine Learning CLI, Sada Azure Machine Learning SDK pro Python a studio Azure Machine Learning všechna podporují nasazení modelu MLflow. Další informace o nasazení modelů MLflow do služby Azure Machine Learning pro odvozování v reálném čase i dávkovém odvozování najdete v tématu Pokyny pro nasazení modelů MLflow.
Ukázkové poznámkové bloky pro nasazení modelu MLflow
- Nasazení MLflow do online koncových bodů ukazuje, jak nasadit modely MLflow do online koncových bodů pomocí sady MLflow SDK.
- Postupné zavedení nasazení MLflow ukazuje, jak nasadit modely MLflow do online koncových bodů pomocí sady MLflow SDK s progresivním zaváděním modelu. Příklad také ukazuje nasazení více verzí modelu do stejného koncového bodu.
- Nasazení modelů MLflow do starších webových služeb ukazuje, jak nasadit modely MLflow do starších webových služeb (Azure Container Instances nebo Azure Kubernetes Service v1) pomocí sady MLflow SDK.
- Trénování modelů v Azure Databricks a jejich nasazení ve službě Azure Machine Learning ukazuje, jak trénovat modely v Azure Databricks a nasazovat je ve službě Azure Machine Learning. Příklad také popisuje sledování experimentů s instancí MLflow v Azure Databricks.
Školení s projekty MLflow (Preview)
Upozorňující
MLproject
Podpora souborů (projektů MLflow) ve službě Azure Machine Learning bude v září 2026 plně vyřazena. MLflow je stále plně podporovaný a stále se doporučuje sledovat úlohy strojového učení ve službě Azure Machine Learning.
Při používání MLflow doporučujeme přejít ze MLproject
souborů na úlohy Azure Machine Learning pomocí Azure CLI nebo sady Azure Machine Learning SDK pro Python (v2). Další informace o úlohách Azure Machine Learning najdete v tématu Sledování experimentů a modelů ML pomocí MLflow.
Důležité
Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.
Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Úlohy trénování můžete odesílat do služby Azure Machine Learning pomocí projektů MLflow. Úlohy můžete odesílat místně pomocí sledování služby Azure Machine Learning nebo migrovat úlohy do cloudu prostřednictvím výpočetních prostředků služby Azure Machine Learning.
Informace o odesílání trénovacích úloh, které používají projekty MLflow do pracovních prostorů Azure Machine Learning ke sledování, najdete v tématu Trénování s projekty MLflow ve službě Azure Machine Learning (Preview).
Ukázkové poznámkové bloky pro projekty MLflow
- Trénujte s projekty MLflow na místním výpočetním prostředí.
- Trénujte s projekty MLflow ve výpočetních prostředcích Azure Machine Learning.
MLflow vs. možnosti klientských nástrojů služby Azure Machine Learning
Následující tabulka ukazuje operace životního cyklu strojového učení, které jsou možné pomocí sady MLflow SDK a klientských nástrojů služby Azure Machine Learning.
Funkce | MLflow SDK | Azure Machine Learning CLI/SDK v2 | Studio Azure Machine Learning |
---|---|---|---|
Sledování a protokolování metrik, parametrů a modelů | ✓ | ||
Načtení metrik, parametrů a modelů | ✓ | Stáhnout je možné pouze artefakty a modely. | ✓ |
Odeslání trénovacích úloh | Možné pomocí projektů MLflow (Preview). | ✓ | ✓ |
Odesílání trénovacích úloh pomocí datových prostředků služby Azure Machine Learning | ✓ | ✓ | |
Odesílání trénovacích úloh pomocí kanálů strojového učení | ✓ | ✓ | |
Správa experimentů a spuštění | ✓ | ✓ | ✓ |
Správa modelů MLflow | Některé operace nemusí být podporované.1 | ✓ | ✓ |
Správa modelů bez MLflow | ✓ | ✓ | |
Nasazení modelů MLflow do služby Azure Machine Learning (online a batch) | Nasazení modelů MLflow pro dávkové odvozování se v současné době nepodporuje.2 | ✓ | ✓ |
Nasazení modelů bez MLflow do Azure Machine Learning | ✓ | ✓ |
1 Další informace najdete v tématu Správa registrů modelů ve službě Azure Machine Learning pomocí MLflow.
2 Alternativní řešení najdete v tématu Nasazení a spuštění modelů MLflow v úlohách Sparku.