Udostępnij za pośrednictwem


MLflow dla aplikacji generatywnej AI i cyklu życia modelu

W tym artykule opisano sposób użycia platformy MLflow w usłudze Databricks do tworzenia wysokiej jakości agentów generacyjnych sztucznej inteligencji i modeli uczenia maszynowego.

Notatka

Jeśli dopiero zaczynasz pracę z usługą Azure Databricks, rozważ wypróbowanie biblioteki MLflow w usłudze Databricks Community Edition.

Co to jest MLflow?

MLflow to platforma typu open source do tworzenia modeli i generowania aplikacji sztucznej inteligencji. Ma ona następujące składniki podstawowe:

  • Śledzenie: umożliwia śledzenie eksperymentów w celu rejestrowania i porównywania parameters i wyników.
  • Modele: umożliwiają zarządzanie i wdrażanie modeli z różnych bibliotek uczenia maszynowego na różnych platformach do obsługi modeli i przeprowadzania wnioskowania.
  • Rejestr modeli: umożliwia zarządzanie procesem wdrażania modelu z etapu przejściowego do produkcyjnego z możliwościami przechowywania wersji modelu i adnotacji.
  • Ocena i śledzenie agentów sztucznej inteligencji: umożliwia opracowywanie wysokiej jakości agentów sztucznej inteligencji, pomagając porównywać, oceniać i rozwiązywać problemy z agentami.

Platforma MLflow obsługuje język Java, Python, R oraz interfejsy API REST.

MLflow zarządzany przez platformę Databricks

Usługa Databricks udostępnia w pełni zarządzaną i hostowaną wersję platformy MLflow, bazując na środowisku typu open source, aby uczynić ją bardziej niezawodną i skalowalną do użytku w przedsiębiorstwie.

Na poniższym diagramie pokazano, jak usługa Databricks integruje się z platformą MLflow w celu trenowania i wdrażania modeli uczenia maszynowego.

MLflow integruje się z usługą Databricks w celu zarządzania cyklem życia uczenia maszynowego.

Środowisko MLflow zarządzane przez usługę Databricks jest oparte na platformie Unity Catalog i usłudze Cloud Data Lake w celu ujednolicenia wszystkich danych i zasobów sztucznej inteligencji w cyklu życia uczenia maszynowego:

  1. Repozytorium cech: Zautomatyzowane wyszukiwanie cech w Databricks upraszcza integrację i ogranicza błędy.
  2. Trenowanie modeli: Użyj Mosaic AI do trenowania modeli lub dostrajania modeli bazowych.
  3. Tracking: MLflow śledzi proces treningowy poprzez logowanie parameters, metryk i artefaktów w celu oceny i porównywania efektywności modelu.
  4. "Rejestr Modeli : Rejestr Modeli MLflow zintegrowany z aparatem Unity Catalog centralizuje modele i artefakty sztucznej inteligencji."
  5. Model Serving: Mosaic AI Model Serving wdraża modele do punktu końcowego interfejsu API REST.
  6. Monitorowanie: usługa Mosaic AI Model Serving automatycznie przechwytuje żądania i odpowiedzi na monitorowanie i debugowanie modeli. Rozwiązanie MLflow rozszerza te dane o dane śledzenia dla każdego żądania.

Trenowanie modelu

Modele MLflow są podstawą opracowywania sztucznej inteligencji i uczenia maszynowego w usłudze Databricks. Modele MLflow to standardowy format tworzenia pakietów modeli uczenia maszynowego i generacyjnych agentów sztucznej inteligencji. Standardowy format zapewnia, że modele i agenci mogą być używane przez narzędzia podrzędne i przepływy pracy w usłudze Databricks.

  • Dokumentacja platformy MLflow — Models.

Usługa Databricks udostępnia funkcje ułatwiające trenowanie różnych rodzajów modeli uczenia maszynowego.

Śledzenie eksperymentów

Usługa Databricks używa eksperymentów MLflow jako jednostek organizacyjnych do monitorowania pracy podczas opracowywania modeli.

Śledzenie eksperymentów umożliwia rejestrowanie i zarządzanie parameters, metryk, artefaktów i wersji kodu podczas trenowania modeli uczenia maszynowego i rozwoju agentów. Organizowanie logów na eksperymenty i przebiegi umożliwia porównywanie modeli, analizowanie wydajności i łatwiejszą iterację.

Rejestr modelu w Unity Catalog

Rejestr modeli MLflow to scentralizowane repozytorium modeli, interfejs użytkownika i set interfejsów API do zarządzania procesem wdrażania modelu.

Usługa Databricks integruje Rejestr Modeli z platformą Unity Catalog, aby zapewniać scentralizowane zarządzanie modelami. Integracja Unity Catalog umożliwia dostęp do modeli pomiędzy obszarami roboczymi, śledzenie ich pochodzenia oraz odnajdywanie modeli do ponownego wykorzystania.

Obsługa modelu

Obsługa modeli usługi Databricks jest ściśle zintegrowana z rejestrem modeli MLflow i udostępnia ujednolicony, skalowalny interfejs do wdrażania, zarządzania i wykonywania zapytań dotyczących modeli sztucznej inteligencji. Każdy model, który udostępniasz, jest dostępny jako interfejs API REST, który można zintegrować z aplikacjami webowymi lub klientowymi.

Chociaż są to odrębne składniki, serwowanie modeli w dużym stopniu opiera się na rejestrze modeli MLflow do obsługi wersjonowania modeli, zarządzania zależnościami, walidacji i zarządzania.

Opracowywanie i ewaluacja agenta sztucznej inteligencji

W przypadku opracowywania agentów sztucznej inteligencji usługa Databricks integruje się z rozwiązaniem MLflow podobnie do tworzenia modeli uczenia maszynowego. Istnieje jednak kilka kluczowych różnic:

  • Aby utworzyć agentów sztucznej inteligencji w usłudze Databricks, użyj platformy Mosaic AI Agent Framework, która opiera się na platformie MLflow w celu śledzenia kodu agenta, metryk wydajności i śladów agenta.
  • Aby ocenić agentów na platformie Databricks, użyj Mosaic AI Agent Evaluation, która opiera się na platformie MLflow do śledzenia wyników oceny.
  • Śledzenie MLflow dla agentów obejmuje również śledzenie MLflow. Śledzenie MLflow umożliwia wyświetlenie szczegółowych informacji na temat wykonywania usług agenta. Śledzenie rejestruje dane wejściowe, wyjściowe i metadane skojarzone z każdym pośrednim krokiem żądania, co pozwala szybko znaleźć źródło nieoczekiwanego zachowania w agentach.

Na poniższym diagramie pokazano, jak usługa Databricks integruje się z platformą MLflow w celu tworzenia i wdrażania agentów sztucznej inteligencji.

MLflow integruje się z usługą Databricks w celu zarządzania cyklem życia aplikacji genAI.

Rozwiązanie MLflow zarządzane przez usługę Databricks jest oparte na platformie Unity Catalog i usłudze Cloud Data Lake w celu ujednolicenia wszystkich zasobów danych i sztucznej inteligencji w cyklu życia aplikacji genAI:

  1. Repozytorium cech Vector &: Automatyczne wyszukiwanie wektorów i cech przez Databricks upraszcza integrację i zmniejsza liczbę błędów.
  2. Tworzenie i ocenianie agentów sztucznej inteligencji: Framework agentów Mosaic AI oraz ocena agentów pomagają w tworzeniu agentów i ocenie wyników ich działania.
  3. śledzenie Śledzenie &: śledzenie MLflow przechwytuje szczegółowe informacje o wykonywaniu agenta w celu uzyskania rozszerzonej możliwości obserwacji genAI.
  4. Rejestr Modeli : Rejestr Modeli MLflow, zintegrowany z aparatem Unity Catalog, pozwala na centralizację modeli i artefaktów sztucznej inteligencji.
  5. Model Serving: Mosaic AI Model Serving wdraża modele do punktu końcowego interfejsu API REST.
  6. Monitorowanie: MLflow automatycznie przechwytuje żądania i odpowiedzi na monitorowanie i debugowanie modeli.

Funkcje open source kontra funkcje MLflow zarządzane przez Databricks

Ogólne pojęcia, interfejsy API i funkcje platformy MLflow udostępniane między wersjami typu open source i wersjami zarządzanymi przez usługę Databricks można znaleźć w dokumentacji platformy MLflow. Aby uzyskać informacje o funkcjach przeznaczonych wyłącznie dla platformy MLflow zarządzanej przez usługę Databricks, zobacz dokumentację usługi Databricks.

W poniższym table przedstawiono kluczowe różnice między MLflow open source i MLflow zarządzanym przez Databricks oraz linki do dokumentacji, które pomogą Ci dowiedzieć się więcej.

Cecha Dostępność w usłudze MLflow typu open source Dostępność biblioteki MLflow zarządzanej przez Databricks
Bezpieczeństwo Użytkownik musi zapewnić własną warstwę zarządzania zabezpieczeniami Bezpieczeństwo klasy korporacyjnej usługi Databricks
Odzyskiwanie po awarii Niedostępny odzyskiwanie po awarii w Databricks
Śledzenie eksperymentów interfejs API śledzenia MLflow Interfejs API śledzenia MLflow zintegrowany z zaawansowanym systemem śledzenia eksperymentów Databricks
Rejestr modeli Rejestr Modeli MLflow rejestr modeli MLflow zintegrowany z usługą Databricks Unity Catalog
Integracja Catalog z Unity Integracja open source z Unity Catalog Databricks Unity Catalog
Wdrożenie modelu Integracje skonfigurowane przez użytkownika z rozwiązaniami do obsługi zewnętrznej (SageMaker, Kubernetes, usługi kontenerów itd.) Obsługa modelu Databricks oraz rozwiązania do serwowania zewnętrznego
Agenci sztucznej inteligencji rozwój MLflow LLM Programowanie MLflow LLM zintegrowane z programem Mosaic AI Agent Framework i Agent Evaluation
Szyfrowanie Niedostępny Szyfrowanie przy użyciu kluczy zarządzanych przez klienta