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 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. 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 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í.