Sdílet prostřednictvím


MLflow pro životní cyklus modelu ML

Tento článek popisuje, jak se MLflow v Databricks používá k vývoji vysoce kvalitních agentů a modelů strojového učení generující AI.

Poznámka

Pokud teprve začínáte s Azure Databricks, zvažte možnost vyzkoušet MLflow v edici Databricks Free Edition.

Co je MLflow?

MLflow je opensourcová platforma pro vývoj modelů a generování aplikací umělé inteligence. Má následující primární součásti:

  • Sledování: Umožňuje sledovat experimenty a zaznamenávat a porovnávat parametry a výsledky.
  • Modely: Umožňuje spravovat a nasazovat modely z různých knihoven ML do různých platforem pro obsluhu a odvozování modelů.
  • Registr modelů: Umožňuje spravovat proces nasazení modelu z přípravného do produkčního prostředí s možnostmi správy verzí modelu a poznámek.
  • Vyhodnocení a trasování agentů AI: Umožňuje vyvíjet vysoce kvalitní agenty AI tím, že vám pomůže porovnat, vyhodnotit a řešit potíže s agenty.

MLflow podporuje Javu, Python, R a rozhraní REST API.

MLflow 3

MLflow 3 v Azure Databricks poskytuje nejmodernější sledování experimentů, pozorovatelnost a hodnocení výkonu pro modely strojového učení, generování aplikací AI a agentů v Databricks Lakehouse. Pomocí MLflow 3 v Azure Databricks můžete:

  • Centrálně sledujte a analyzujte výkon vašich modelů, aplikací AI a agentů ve všech prostředích, od interaktivních dotazů ve vývojovém poznámkovém bloku až po produkční dávkové zpracování nebo nasazení v reálném čase.

    Uživatelské rozhraní pro sledování modelů

  • Orchestrujte pracovní postupy vyhodnocení a nasazení pomocí katalogu Unity a získejte přístup k komplexním protokolům stavu pro každou verzi modelu, aplikace AI nebo agenta.

    Složitá úloha nasazení, která zahrnuje postupné zavedení a shromažďování metrik.

  • Zobrazení a přístup k metrikám a parametrům modelu ze stránky verze modelu v katalogu Unity a z rozhraní REST API

    Stránka verze modelu v katalogu Unity zobrazující metriky z několika spuštění

  • Přidávání poznámek k žádostem a odpovědím (trasování) pro všechny aplikace a agenty genové umělé inteligence, což umožňuje odborníkům a automatizovaným technikám (jako je LLM jako soudce) poskytovat bohatou zpětnou vazbu. Tuto zpětnou vazbu můžete využít k posouzení a porovnání výkonu verzí aplikací a k vytváření datových sad pro zlepšení kvality.

    Karta stop na stránce modelu ukazující podrobnosti více stop.

Tyto funkce zjednodušují a usnadňují vyhodnocování, nasazování, ladění a monitorování pro všechny vaše iniciativy a projekty umělé inteligence.

MLflow 3 také představuje koncepty protokolovaných modelů a úloh nasazení.

  • Protokolované modely pomáhají sledovat průběh modelu v průběhu jeho životního cyklu. Při zaznamenávání modelu pomocí log_model() se vytvoří LoggedModel, který se uchovává po celou dobu životního cyklu modelu, napříč různými prostředími a jednotlivými běhy, a obsahuje odkazy na artefakty, jako jsou metadata, metriky, parametry a kód použitý pro generování modelu. Protokolovaný model můžete použít k porovnání modelů mezi sebou, vyhledání nejvýkonnějšího modelu a sledování informací během ladění.
  • Úlohy nasazení se dají použít ke správě životního cyklu modelu, včetně kroků, jako je vyhodnocení, schválení a nasazení. Tyto pracovní postupy modelu se řídí katalogem Unity a všechny události se ukládají do protokolu aktivit, který je k dispozici na stránce verze modelu v katalogu Unity.

Pokud chcete nainstalovat A začít používat MLflow 3, přečtěte si následující články.

MLflow spravovaný službou Databricks

Databricks poskytuje plně spravovanou a hostované verzi MLflow, která je založená na opensourcovém prostředí, aby byla robustnější a škálovatelnější pro podnikové použití.

Následující diagram znázorňuje integraci Databricks s MLflow za účelem trénování a nasazování modelů strojového učení.

MLflow se integruje s Databricks za účelem správy životního cyklu ML.

MLflow spravovaný službou Databricks je založený na katalogu Unity a v Cloud Data Lake za účelem sjednocení všech vašich dat a prostředků AI v životním cyklu ML:

  1. Úložiště pro funkce: Automatizované vyhledávání funkcí v Databricks zjednodušuje integraci a snižuje výskyt chyb.
  2. Trénování modelů: Pomocí Umělé inteligence (AI) vytrénujte modely nebo dolaďte základní modely.
  3. sledování: MLflow sleduje trénování zaznamenáváním parametrů, metrik a artefaktů k vyhodnocení a porovnání výkonu modelu.
  4. Registr modelů : Registr modelů MLflow, integrovaný s katalogem Unity, centralizuje modely a artefakty AI.
  5. Nasazení modelu: Mosaic AI Model Serving nasazuje modely do koncového bodu REST API.
  6. monitorování : Obsluha modelu AI v systému Mosaic automaticky zaznamenává požadavky a odpovědi na monitorování a ladění modelů. MLflow rozšiřuje tato data o sledovací data pro každý požadavek.

Trénování modelů

Modely MLflow jsou jádrem vývoje AI a ML v Databricks. Modely MLflow jsou standardizovaný formát pro balení modelů strojového učení a generování agentů AI. Standardizovaný formát zajišťuje, aby modely a agenti mohli používat podřízené nástroje a pracovní postupy v Databricks.

  • Dokumentace k MLflow - modely.

Databricks poskytuje funkce, které vám pomůžou trénovat různé druhy modelů ML.

Sledování experimentů

Databricks používá experimenty MLflow jako organizační jednotky ke sledování práce při vývoji modelů.

Sledování experimentů umožňuje protokolovat a spravovat parametry, metriky, artefakty a verze kódu během trénování strojového učení a vývoje agentů. Uspořádání protokolů do experimentů a běhů umožňuje snadněji porovnávat modely, analyzovat výkon a iterovat.

Registr modelů s katalogem Unity

Registr modelů MLflow je centralizované úložiště modelů, uživatelské rozhraní a sada rozhraní API pro správu procesu nasazení modelu.

Databricks integruje registr modelů s katalogem Unity, aby poskytoval centralizované zásady správného řízení pro modely. Integrace katalogu Unity umožňuje přístup k modelům napříč pracovními prostory, sledování rodokmenu modelů a zjišťování modelů pro opakované použití.

Poskytnutí Modelu

Služba Databricks Model Serving je úzce integrovaná s registrem modelů MLflow a poskytuje jednotné, škálovatelné rozhraní pro nasazování, řízení a dotazování modelů AI. Každý model, který používáte, je k dispozici jako rozhraní REST API, které můžete integrovat do webových nebo klientských aplikací.

Přestože se jedná o odlišné komponenty, služba Model Obsluha silně spoléhá na registr modelů MLflow, který zpracovává správu verzí modelu, správu závislostí, ověřování a zásady správného řízení.

Vývoj a vyhodnocení agenta AI

Pro vývoj agentů AI se Databricks integruje s MLflow podobně jako vývoj modelů ML. Existuje však několik klíčových rozdílů:

  • Pokud chcete vytvořit agenty AI v Databricks, použijte Mosaic AI Agent Framework, který využívá MLflow ke sledování kódu agenta, metrik výkonu a sledování agentů.
  • Pokud chcete vyhodnotit agenty v Databricks, použijte hodnocení agenta Mosaic AI , které spoléhá na MLflow ke sledování výsledků vyhodnocení.
  • Sledování MLflow pro agenty zahrnuje také trasování MLflow. Trasování MLflow umožňuje zobrazit podrobné informace o provádění služeb vašeho agenta. Trasování zaznamenává vstupy, výstupy a metadata přidružená ke každému přechodnému kroku požadavku a umožňuje rychle najít zdroj neočekávaného chování v agentech.

Následující diagram znázorňuje integraci Databricks s MLflow za účelem vytvoření a nasazení agentů AI.

MLflow se integruje s Databricks pro správu životního cyklu aplikace pro generativní AI.

MLflow spravovaný službou Databricks je postaven na Unity Catalog a Cloud Data Lake, aby sjednotil všechna vaše data a AI aktiva v životním cyklu aplikace generativního AI.

  1. Vector & úložiště charakteristik: automatizované vyhledávání vektorů a charakteristik Databricks zjednodušuje integraci a snižuje chyby.
  2. Vytváření a hodnocení agentů AI: Rámec Mosaic AI Agent a Hodnocení agentů vám pomáhají vytvářet agenty a hodnotit jejich výstup.
  3. trasování sledování &: trasování MLflow zaznamenává podrobné informace o spuštění agenta pro lepší pozorovatelnost generování AI.
  4. Registr modelů : Registr modelů MLflow, integrovaný s katalogem Unity, centralizuje modely a artefakty AI.
  5. Nasazení modelu: Mosaic AI Model Serving nasazuje modely do koncového bodu REST API.
  6. monitorování : MLflow automaticky zaznamenává požadavky a odpovědi na monitorování a ladění modelů.

Open source a funkce MLflow spravované službou Databricks

Obecné koncepty, rozhraní API a funkce MLflow sdílené mezi opensourcovými verzemi a verzemi spravovanými službou Databricks najdete v dokumentaci k MLflow. Funkce, které jsou exkluzivní pro MLflow spravované službou Databricks, najdete v dokumentaci k Databricks.

Následující tabulka uvádí hlavní rozdíly mezi opensourcovým MLflow a MLflow spravovaným databricks a obsahuje odkazy na dokumentaci, které vám pomůžou získat další informace:

Funkce Dostupnost v open source MLflow Dostupnost v MLflow spravovaném službou Databricks
Zabezpečení Uživatel musí zadat vlastní vrstvu zásad správného řízení zabezpečení. Podnikové zabezpečení Databricks
Zotavení po havárii Nedostupný zotavení po havárii Databricks
Sledování experimentů API pro sledování MLflow Rozhraní API pro sledování MLflow integrované s Databricks pro pokročilé sledování experimentů
Registr modelů Registr modelů MLflow registr modelů MLflow integrovaný s katalogem Databricks Unity
Integrace katalogu Unity Opensourcová integrace s katalogem Unity Katalog Unity Databricks
Nasazení modelu Integrace nakonfigurované uživatelem s externími obslužnými řešeními (SageMaker, Kubernetes, kontejnerové služby atd.) Nasazování modelů Databricks a externí řešení pro nasazování modelů
Agenti umělé inteligence Vývoj LLM s MLflow Vývoj MLflow LLM integrovaný s Mosaic AI Agent Framework a Agent Evaluation
Šifrování Nedostupný Šifrování pomocí klíčů spravovaných zákazníkem

Poznámka

V MLflow 3.2.0 se zavedla kolekce telemetrie open source a ve výchozím nastavení je v Databricks zakázaná. Další podrobnosti najdete v dokumentaci ke sledování využití MLflow.