Udostępnij za pośrednictwem


W jaki sposób usługa Databricks obsługuje ciągłą integrację/ciągłe wdrażanie na potrzeby uczenia maszynowego?

Ciągła integracja/ciągłe dostarczanie (ciągła integracja i ciągłe dostarczanie) odnosi się do zautomatyzowanego procesu tworzenia, wdrażania, monitorowania i obsługi aplikacji. Automatyzując kompilowanie, testowanie i wdrażanie kodu, zespoły programistyczne mogą dostarczać wydania częściej i niezawodnie niż procesy ręczne nadal rozpowszechniają się w wielu zespołach inżynierii danych i nauki o danych. Ciągła integracja/ciągłe wdrażanie na potrzeby uczenia maszynowego łączy techniki metodyki MLOps, metodyki DataOps, metodyki ModelOps i metodyki DevOps.

W tym artykule opisano, jak usługa Databricks obsługuje ciągłą integrację/ciągłe wdrażanie dla rozwiązań uczenia maszynowego. W aplikacjach uczenia maszynowego ciągła integracja/ciągłe wdrażanie jest ważne nie tylko dla zasobów kodu, ale jest również stosowane do potoków danych, w tym zarówno danych wejściowych, jak i wyników generowanych przez model.

Pełny diagram cyklu życia metodyki MLOps przedstawiający elementy ciągłej integracji/ciągłego wdrażania dla uczenia maszynowego.

Elementy uczenia maszynowego, które wymagają ciągłej integracji/ciągłego wdrażania

Jednym z wyzwań związanych z programowaniem uczenia maszynowego jest to, że różne zespoły posiadają różne części procesu. Zespoły mogą polegać na różnych narzędziach i mają różne harmonogramy wydania. Usługa Azure Databricks udostępnia pojedynczą, ujednoliconą platformę danych i uczenia maszynowego ze zintegrowanymi narzędziami w celu poprawy wydajności zespołów oraz zapewnienia spójności i powtarzalności potoków danych i uczenia maszynowego.

Ogólnie rzecz biorąc w przypadku zadań uczenia maszynowego należy śledzić następujące elementy w zautomatyzowanym przepływie pracy ciągłej integracji/ciągłego wdrażania:

  • Dane szkoleniowe, w tym jakość danych, zmiany schematu i zmiany dystrybucji.
  • Wejściowe potoki danych.
  • Kod do trenowania, walidacji i obsługi modelu.
  • Przewidywania i wydajność modelu.

Integrowanie usługi Databricks z procesami ciągłej integracji/ciągłego wdrażania

Metodyki MLOps, DataOps, ModelOps i DevOps odnoszą się do integracji procesów programistycznych z "operacjami" — dzięki czemu procesy i infrastruktura są przewidywalne i niezawodne. W tym zestawie artykułów opisano sposób integrowania zasad operacji ("ops") z przepływami pracy uczenia maszynowego na platformie Databricks.

Usługa Databricks obejmuje wszystkie składniki wymagane do cyklu życia uczenia maszynowego, w tym narzędzia do tworzenia "konfiguracji jako kodu", aby zapewnić powtarzalność i "infrastrukturę jako kod" w celu zautomatyzowania aprowizacji usług w chmurze. Obejmuje również usługi rejestrowania i zgłaszania alertów, które ułatwiają wykrywanie i rozwiązywanie problemów w przypadku ich wystąpienia.

DataOps: niezawodne i bezpieczne dane

Dobre modele uczenia maszynowego zależą od niezawodnych potoków danych i infrastruktury. Dzięki platformie analizy danych usługi Databricks cały potok danych od pozyskiwania danych do danych wyjściowych z obsługiwanego modelu znajduje się na jednej platformie i używa tego samego zestawu narzędzi, co ułatwia produktywność, powtarzalność, udostępnianie i rozwiązywanie problemów.

Diagram metodyki DataOps

Zadania i narzędzia dataOps w usłudze Databricks

Tabela zawiera listę typowych zadań i narzędzi usługi DataOps w usłudze Databricks:

Zadanie DataOps Narzędzie w usłudze Databricks
Pozyskiwanie i przekształcanie danych Autoloader i Apache Spark
Śledzenie zmian danych, w tym przechowywanie wersji i pochodzenie danych Tabele różnicowe
Tworzenie potoków przetwarzania danych, zarządzanie nimi i monitorowanie ich Tabele na żywo delty
Zapewnianie bezpieczeństwa danych i ładu Wykaz aparatu Unity
Eksploracyjna analiza danych i pulpity nawigacyjne Notesy usługi Databricks SQL, Pulpity nawigacyjne i Databricks
Ogólne kodowanie Notesy usługi Databricks SQL i Databricks
Planowanie potoków danych Przepływy pracy usługi Databricks
Automatyzowanie ogólnych przepływów pracy Przepływy pracy usługi Databricks
Tworzenie, przechowywanie i odnajdywanie funkcji na potrzeby trenowania modelu oraz zarządzanie nimi Magazyn funkcji usługi Databricks
Monitorowanie danych Monitorowanie usługi Lakehouse

ModelOps: programowanie i cykl życia modelu

Opracowanie modelu wymaga serii eksperymentów oraz sposobu śledzenia i porównywania warunków i wyników tych eksperymentów. Platforma analizy danych usługi Databricks obejmuje platformę MLflow do śledzenia programowania modeli oraz rejestr modeli MLflow do zarządzania cyklem życia modelu, w tym przemieszczaniem, obsługą i przechowywaniem artefaktów modelu.

Po wydaniu modelu do środowiska produkcyjnego wiele elementów może się zmienić, co może mieć wpływ na jego wydajność. Oprócz monitorowania wydajności przewidywania modelu należy również monitorować dane wejściowe pod kątem zmian jakości lub cech statystycznych, które mogą wymagać ponownego trenowania modelu.

Diagram metodyki ModelOps

Zadania i narzędzia metody ModelOps w usłudze Databricks

Tabela zawiera listę typowych zadań i narzędzi metodyki ModelOps udostępnianych przez usługę Databricks:

ModelOps— zadanie Narzędzie w usłudze Databricks
Śledzenie opracowywania modeli Śledzenie modelu MLflow
Zarządzanie cyklem życia modelu Modele w wykazie aparatu Unity
Kontrola wersji kodu modelu i udostępnianie Foldery Git usługi Databricks
Tworzenie modelu bez kodu Zautomatyzowane uczenie maszynowe Databricks
Monitorowanie modelu Monitorowanie usługi Lakehouse

DevOps: produkcja i automatyzacja

Platforma Databricks obsługuje modele uczenia maszynowego w środowisku produkcyjnym z następującymi elementami:

  • Kompleksowe dane i pochodzenie modeli: od modeli w środowisku produkcyjnym z powrotem do pierwotnego źródła danych na tej samej platformie.
  • Obsługa modelu na poziomie produkcyjnym: automatycznie skaluje w górę lub w dół w zależności od potrzeb biznesowych.
  • Wielotask przepływów pracy: automatyzuje zadania i tworzy zaplanowane przepływy pracy uczenia maszynowego.
  • Foldery Git: przechowywanie wersji kodu i udostępnianie ich z obszaru roboczego, pomaga również zespołom w przestrzeganiu najlepszych rozwiązań w zakresie inżynierii oprogramowania.
  • Dostawca narzędzia Terraform usługi Databricks: automatyzuje infrastrukturę wdrażania w chmurach na potrzeby zadań wnioskowania uczenia maszynowego, obsługi punktów końcowych i zadań cechowania.

Obsługa modelu

W przypadku wdrażania modeli w środowisku produkcyjnym rozwiązanie MLflow znacznie upraszcza proces, zapewniając wdrożenie jednokrotne jako zadanie wsadowe dla dużych ilości danych lub jako punkt końcowy REST w klastrze skalowania automatycznego. Integracja magazynu funkcji usługi Databricks z platformą MLflow zapewnia również spójność funkcji szkoleniowych i służących; Ponadto modele MLflow mogą automatycznie wyszukać funkcje ze sklepu Feature Store, nawet w przypadku obsługi online o małych opóźnieniach.

Platforma Databricks obsługuje wiele opcji wdrażania modelu:

  • Kod i kontenery.
  • Obsługa wsadowa.
  • Obsługa online o małych opóźnieniach.
  • Obsługa na urządzeniu lub brzegu.
  • Na przykład wielochmurowe trenowanie modelu w jednej chmurze i wdrażanie go z inną chmurą.

Aby uzyskać więcej informacji, zobacz Mosaic AI Model Serving (Obsługa modelu mozaiki sztucznej inteligencji).

Wielotaskowe przepływy pracy

Przepływy pracy usługi Databricks umożliwiają automatyzowanie i planowanie dowolnego typu obciążenia — od ETL do uczenia maszynowego. Usługa Databricks obsługuje również integracje z popularnymi orkiestratorami innych firm , takimi jak Airflow.

Foldery Git

Platforma Databricks obejmuje pomoc techniczną usługi Git w obszarze roboczym, aby pomóc zespołom w przestrzeganiu najlepszych rozwiązań w zakresie inżynierii oprogramowania przez wykonywanie operacji usługi Git za pośrednictwem interfejsu użytkownika. Administratorzy i inżynierowie DevOps mogą używać interfejsów API do konfigurowania automatyzacji za pomocą ulubionych narzędzi ciągłej integracji/ciągłego wdrażania. Usługa Databricks obsługuje dowolny typ wdrożenia usługi Git, w tym sieci prywatne.

Aby uzyskać więcej informacji na temat najlepszych rozwiązań dotyczących tworzenia kodu przy użyciu folderów Git usługi Databricks, zobacz Przepływy pracy ciągłej integracji/ciągłego wdrażania z usługą Git i Foldery Git usługi Databricks oraz Używanie ciągłej integracji/ciągłego wdrażania. Te techniki, wraz z interfejsem API REST usługi Databricks, umożliwiają tworzenie zautomatyzowanych procesów wdrażania przy użyciu funkcji GitHub Actions, potoków usługi Azure DevOps lub zadań serwera Jenkins.

Wykaz aparatu Unity na potrzeby zapewniania ładu i zabezpieczeń

Platforma Databricks obejmuje wykaz aparatu Unity, który umożliwia administratorom skonfigurowanie szczegółowej kontroli dostępu, zasad zabezpieczeń i ładu dla wszystkich danych i zasobów sztucznej inteligencji w usłudze Databricks.