Sdílet prostřednictvím


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:

Příklady poznámkových bloků

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 metodou mlflow.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

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ů

Š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ů

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: