Správa životního cyklu ML pomocí MLflow

Tento článek popisuje, jak se MLflow používá v Databricks pro správu životního cyklu strojového učení. Obsahuje také příklady, které představují jednotlivé komponenty MLflow a odkazy na obsah, který popisuje, jak jsou tyto komponenty hostované v Azure Databricks.

Správu životního cyklu ML v Databricks poskytuje spravovaný MLflow. Azure Databricks poskytuje plně spravovanou a hostovanou verzi MLflow, která je integrovaná s funkcemi podnikového zabezpečení, vysoké dostupnosti a dalšími funkcemi pracovních prostorů Azure Databricks, jako jsou experimenty, správa spuštění a zachytávání revizí poznámkových bloků.

Uživatelé by měli začít s experimenty MLflow, které demonstrují základní rozhraní API pro sledování MLflow.

Co je MLflow?

MLflow je open source platforma pro správu kompletního životního cyklu strojového učení. 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ů.
  • Projekty: Umožňuje zabalit kód ML do opakovaně použitelného, reprodukovatelného formátu, který můžete sdílet s dalšími datovými vědci nebo přenést do produkčního prostředí.
  • Registr modelů: Umožňuje centralizovat úložiště modelů pro správu přechodů úplné fáze životního cyklu modelů: od přípravy do produkčního prostředí s možnostmi správy verzí a přidávání poznámek. Databricks poskytuje spravovanou verzi registru modelů v katalogu Unity.
  • Obsluha modelů: Umožňuje hostovat modely MLflow jako koncové body REST. Databricks poskytuje jednotné rozhraní pro nasazení, řízení a dotazování vašich obsluhovaných modelů AI.

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

Data MLflow jsou šifrována službou Azure Databricks pomocí klíče spravovaného platformou. Šifrování pomocí klíčů spravovaných zákazníkem pro spravované služby se nepodporuje.

Sledování MLflow

MLflow v Azure Databricks nabízí integrované prostředí pro sledování a zabezpečení trénovacích běhů pro strojové učení a modely hlubokého učení.

Správa životního cyklu modelu

Registr modelů MLflow je centralizované úložiště modelů a uživatelské rozhraní a sada rozhraní API, která umožňují spravovat celý životní cyklus modelů MLflow. Databricks poskytuje hostované verze registru modelů MLflow v katalogu Unity. Katalog Unity poskytuje centralizované zásady správného řízení modelu, přístup mezi pracovními prostory, rodokmen a nasazení. Podrobnosti o správě životního cyklu modelu v katalogu Unity najdete v tématu Správa životního cyklu modelu v katalogu Unity.

Pokud váš pracovní prostor není povolený pro katalog Unity, můžete použít registr modelů pracovního prostoru.

Koncepty registru modelů

  • Model: Model MLflow protokolovaný z experimentu nebo spuštění, který je protokolován pomocí jedné z metod příchutě mlflow.<model-flavor>.log_model modelu. Po zaprotokolování modelu ho můžete zaregistrovat v registru modelů.
  • Registrovaný model: Model MLflow, který je zaregistrovaný v registru modelů. Registrovaný model má jedinečný název, verze, rodokmen modelu a další metadata.
  • Verze modelu: Verze registrovaného modelu. Když do registru modelů přidáte nový model, přidá se jako verze 1. Každý model zaregistrovaný do stejného názvu modelu zvýší číslo verze.
  • Alias modelu: Alias je proměnlivý, pojmenovaný odkaz na konkrétní verzi registrovaného modelu. Typickým použitím aliasů je určení verzí modelu nasazených v daném prostředí v pracovních postupech trénování modelu nebo zápisu úloh odvozování, které cílí na konkrétní alias. Například můžete přiřadit alias "Šampion" registrovaného modelu "Detekce podvodů" k verzi modelu, která by měla sloužit většině produkčního provozu, a pak napsat úlohy odvozování, které cílí na tento alias (to znamená provádět předpovědi pomocí verze Champion).
  • Fáze modelu (pouze registr modelů pracovního prostoru): Verzi modelu je možné přiřadit jednu nebo více fází. MLflow poskytuje předdefinované fáze pro běžné případy použití: žádné, pracovní, produkční a archivované. S odpovídajícími oprávněními můžete přecházet mezi fázemi modelu nebo můžete požádat o přechod fáze modelu. Fáze verzí modelu se v katalogu Unity nepoužívají.
  • Popis: Záměr modelu můžete komentovat, včetně popisu a všech relevantních informací užitečných pro tým, jako je popis algoritmu, použitá datová sada nebo metodologie.

Příklady poznámkových bloků

Příklad znázorňující použití registru modelů k vytvoření aplikace strojového učení, která předpovídá denní výkon větrné farmy, najdete v následujících tématech:

Nasazení modelu

Služba Databricks Model Serving poskytuje jednotné rozhraní pro nasazení, ří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é nebo klientské aplikace.

Obsluha modelu podporuje obsluhu:

  • Vlastní modely. Jedná se o modely Pythonu zabalené ve formátu MLflow. Můžou být zaregistrované buď v katalogu Unity, nebo v registru modelu pracovního prostoru. Mezi příklady patří modely scikit-learn, XGBoost, PyTorch a Hugging Face Transformer.
  • Nejmodernější otevřené modely, které zpřístupnilo rozhraní API základních modelů. Tyto modely jsou kurátorované základní architektury modelů, které podporují optimalizované odvozování. Základní modely, jako je Llama-2-70B-chat, BGE-Large a Mistral-7B, jsou k dispozici pro okamžité použití s cenami plateb za tokeny a úlohy, které vyžadují záruky výkonu a jemně vyladěné varianty modelů, je možné nasadit se zřízenou propustností.
  • Externí modely. Jedná se o modely hostované mimo Databricks. Mezi příklady patří základní modely, jako je GPT-4 OpenAI, Anthropic Clauda a další. Koncové body, které obsluhují externí modely, se dají centrálně řídit a zákazníci pro ně můžou stanovit omezení rychlosti a řízení přístupu.

Můžete také nasadit modely MLflow pro offline odvozování. Viz Nasazení modelů pro dávkové odvozování.