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ů.
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 parameters 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 Unity Catalog.
- 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 MLflow modelů je centralizované úložiště modelů, uživatelské rozhraní a set rozhraní API, která umožňují spravovat celý životní cyklus modelů MLflow. Databricks poskytuje hostované verze registru modelů MLflow v Unity Catalog. Unity Catalog 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 Unity Catalognajdete v tématu Správa životního cyklu modelu v Unity Catalog.
Pokud není váš pracovní prostor povolen pro CatalogUnity, můžete použít registr modelu 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 Unity Catalognepouží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 poznámkového bloku, který znázorňuje použití registru modelů ke správě životního cyklu modelu, najdete v následujících tématech:
Nasazení modelu
Služba Rozhraní AI pro vytváření modelů SI pro architekturu AI poskytuje jednotné 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é nebo klientské aplikace.
Obsluha modelu podporuje obsluhu:
- Vlastní modely. Jedná se o modely Pythonu zabalené ve formátu MLflow. Dají se zaregistrovat buď v Unity Catalog, 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 Meta-Llama-3.1-70B-Instruct, BGE-Large a Mistral-7B, jsou k dispozici pro okamžité použití s cenami plateb za token 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ří generativní modely AI, jako jsou GPT-4 OpenAI, AnthropicŮv 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í.