MLflow na Databricks

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 největší opensourcová technická platforma AI pro agenty, LLM a modely ML. MLflow umožňuje týmům všech velikostí ladit, vyhodnocovat, monitorovat a optimalizovat aplikace umělé inteligence v produkční kvalitě a současně řídit náklady a spravovat přístup k modelům a datům. Díky více než 30 milionům měsíčních stahování se tisíce organizací každý den spoléhají na MLflow a dodávají AI do produkce s jistotou.

Komplexní sada funkcí MLflow pro agenty a aplikace LLM zahrnuje sledovatelnost, vyhodnocení, správu promptů, AI Gateway pro správu nákladů a přístupu k modelům a další.

Pro vývoj modelů strojového učení (ML) nabízí MLflow sledování experimentů, možnosti vyhodnocení modelů, registr produkčního modelu a nástroje pro nasazení modelů.

MLflow podporuje libovolného poskytovatele LLM, rozhraní agenta, knihovnu ML a programovací jazyk. MLflow poskytuje nativní sady SDK pro Python, TypeScript/JavaScript, Java a R.

MLflow 3

MLflow 3 v Azure Databricks poskytuje nejmodernější pozorovatelnost, hodnocení a správu výzev pro agenty a aplikace LLM. Pro vývoj modelů ML nabízí MLflow 3 sledování experimentů, hodnocení modelů, registr produkčního modelu a nástroje pro nasazení modelů. 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í.

Agenti a aplikace LLM

MLflow v Databricks poskytuje kompletní platformu pro vývoj, vyhodnocování a monitorování agentů a aplikací LLM.

  • Observability:MLflow Tracing 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.
  • Hodnocení: Použijte Hodnocení agenta Mosaic AI k měření a zlepšení kvality agenta, které je poháněno hodnocením MLflow.
  • Správa promptů: Verzování, správa a iterace šablon promptů používaných v aplikacích AI
  • Vývoj agentů: Použijte Mosaic AI Agent Framework k vytvoření agentů, které spoléhají na MLflow pro sledování kódu agenta, metrik výkonu a tras.
  • Interaktivní ladění: Použijte Genie Code pro pozorovatelnost a vyhodnocení agentů a získejte přístup k trasám, běhům vyhodnocení, hodnotitelům a dalším funkcím pomocí přirozeného jazyka v rámci vašeho experimentu v MLflow.

Vývoj modelů ML

MLflow v Databricks poskytuje sledování experimentů, vyhodnocování modelů, registr produkčních modelů a nástroje pro nasazení modelů pro vývoj modelů ML.

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 a vyvíjí a nasazuje modely ML.

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

  1. Úložiště funkcí: Vyhledávání automatizovaných funkcí Databricks zjednodušuje integraci a snižuje chyby.
  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í.

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.