MLflow a Azure Machine Learning
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)
Python SDK azure-ai-ml v2 (aktuální)
MLflow je opensourcová architektura navržená pro správu kompletního životního cyklu strojového učení. Jeho schopnost trénovat a obsluhovat modely na různých platformách umožňuje používat konzistentní sadu nástrojů bez ohledu na to, kde experimenty běží: ať už jsou místně na vašem počítači, ve vzdáleném cílovém výpočetním objektu, na virtuálním počítači nebo ve výpočetní instanci Služby Azure Machine Learning.
Pracovní prostory Azure Machine Learning jsou kompatibilní s MLflow, což znamená, že pracovní prostory Azure Machine Learning můžete používat stejným způsobem jako server MLflow. Tato kompatibilita má následující výhody:
- Azure Machine Learning nehostuje instance serverů MLflow pod kapotou; místo toho může pracovní prostor mluvit jazykem rozhraní API MLflow.
- Pracovní prostory 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, nebo ne. 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 bez jakýchkoli změn.
Tip
Na rozdíl od sady Azure Machine Learning SDK verze 1 neexistuje žádná funkce protokolování v sadě SDK verze 2. Pro protokolování doporučujeme používat MLflow, aby vaše rutiny trénování byly nezávislé na cloudu a přenosné – odebrání jakékoli závislosti, kterou váš kód obsahuje ve službě Azure Machine Learning.
Sledování 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, veškeré sledování prováděné pomocí MLflow je materializováno v pracovním prostoru, na kterém pracujete. Další informace o tom, jak nastavit experimenty tak, aby používaly MLflow ke sledování experimentů a trénovacích rutin, najdete v tématu Metriky protokolu, parametry a soubory pomocí MLflow. MLflow můžete také použít k dotazování a porovnání experimentů a spuštění.
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 poskytuje centralizované, zabezpečené a škálovatelné umístění pro ukládání trénovacích metrik a modelů.
Použití MLflow ve službě Azure Machine Learning zahrnuje tyto možnosti:
- 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
Příklady poznámkových bloků
- Trénování a sledování klasifikátoru XGBoost pomocí MLflow: Ukazuje, jak sledovat experimenty pomocí MLflow, modelů protokolů a kombinování 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 sledovat experimenty pomocí MLflow 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 používat podřízená spuštění v MLflow k 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 dotazovat experimenty, běhy, metriky, parametry a artefakty ze služby Azure Machine Learning pomocí MLflow.
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í trénování pro RStudio, Posit (dříve RStudio Workbench) nebo poznámkové bloky Jupyter s jádry R se nepodporuje.
- Správa modelů a registrace se nepodporují pomocí sady MLflow R SDK. Místo toho použijte rozhraní příkazového řádku služby Azure Machine Learning nebo studio Azure Machine Learning k registraci a správě modelů.
Další informace o používání klienta pro sledování MLflow se službou Azure Machine Learning najdete v příkladech v modelech 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 pomocí sady Java SDK MLflow. Místo toho použijte
Outputs
složku v úlohách spolu s metodoumlflow.save_model
k ukládání modelů (nebo artefaktů), které chcete zachytit.
Další informace o použití klienta pro sledování MLflow se službou Azure Machine Learning najdete v příkladu Javy, který používá klienta pro sledování MLflow se službou Azure Machine Learning.
Modelové registry pomocí MLflow
Azure Machine Learning podporuje MLflow pro správu modelů. Tato podpora představuje pohodlný způsob, jak podporovat celý životní cyklus modelu pro uživatele, kteří jsou obeznámeni s klientem MLflow.
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.
Příklad poznámkového bloku
- Správa registrů modelů pomocí MLflow: Ukazuje, jak spravovat modely v registrech pomocí MLflow.
Nasazení modelu pomocí MLflow
Modely MLflow můžete nasadit do služby Azure Machine Learning a využívat vylepšené prostředí při používání modelů MLflow. 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. Nasazení se podporuje pomocí sady MLflow SDK, Azure Machine Learning CLI, sady Azure Machine Learning SDK pro Python nebo studio Azure Machine Learning.
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.
Příklady poznámkových bloků
- Nasazení MLflow do online koncových bodů: Ukazuje, jak nasadit modely ve formátu MLflow do online koncových bodů pomocí sady SDK MLflow.
- Nasazení MLflow do online koncových bodů s bezpečným uvedením: Ukazuje, jak nasadit modely ve formátu MLflow do online koncových bodů pomocí sady MLflow SDK s progresivním zaváděním modelů. Příklad také ukazuje nasazení více verzí modelu do stejného koncového bodu.
- Nasazení MLflow do webových služeb (V1):: Ukazuje, jak nasadit modely ve formátu MLflow do webových služeb (ACI/AKS v1) pomocí MLflow SDK.
- Nasazení modelů natrénovaných v Azure Databricks do Azure Machine Learning pomocí MLflow: Ukazuje, jak trénovat modely v Azure Databricks a nasazovat je ve službě Azure Machine Learning. Tento příklad také popisuje, jak zpracovávat případy, kdy chcete také sledovat experimenty s instancí MLflow v Azure Databricks.
Školení s projekty MLflow (Preview)
Důležité
Položky označené (Preview) v tomto článku jsou aktuálně ve verzi Public Preview. Verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se 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.
Trénovací úlohy můžete odesílat do služby Azure Machine Learning pomocí projektů MLflow (Preview). Ú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 pomocí projektů MLflow, které ke sledování používají pracovní prostory Azure Machine Learning, najdete v tématu Trénování modelů strojového učení pomocí projektů MLflow a Azure Machine Learning.
Příklady poznámkových bloků
- Sledování projektu MLflow v pracovních prostorech Azure Machine Learning
- Trénujte a spusťte projekt MLflow v úlohách Azure Machine Learning.
MLflow SDK, Azure Machine Learning verze 2 a možnosti studio Azure Machine Learning
V následující tabulce jsou uvedeny operace, které jsou možné, pomocí jednotlivých klientských nástrojů dostupných v životním cyklu strojového učení.
Funkce | MLflow SDK | Azure Machine Learning CLI/SDK | Studio Azure Machine Learning |
---|---|---|---|
Sledování a protokolování metrik, parametrů a modelů | ✓ | ||
Načtení metrik, parametrů a modelů | ✓ | 1 | ✓ |
Odeslání trénovacích úloh | – 2 | ✓ | ✓ |
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 | {3 | ✓ | ✓ |
Správa modelů bez MLflow | ✓ | ✓ | |
Nasazení modelů MLflow do služby Azure Machine Learning (Online &Batch) | {4 | ✓ | ✓ |
Nasazení modelů bez MLflow do Azure Machine Learning | ✓ | ✓ |
Poznámka:
- 1 Lze stáhnout pouze artefakty a modely.
- 2 Možné pomocí projektů MLflow (Preview).
- 3 Některé operace nemusí být podporovány. Podrobnosti najdete v článku Správa registrů modelů ve službě Azure Machine Learning pomocí MLflow .
- 4 Nasazení modelů MLflow pro dávkové odvozování pomocí sady MLflow SDK v tuto chvíli není možné. Alternativně si přečtěte téma Nasazení a spuštění modelů MLflow v úlohách Sparku.
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro