Nauka o danych i uczenie maszynowe w usłudze Azure Databricks

Azure Databricks
Azure Data Lake Storage
Azure Kubernetes Service (AKS)
Azure Machine Learning

Pomysły dotyczące rozwiązań

W tym artykule opisano pomysł rozwiązania. Architekt chmury może użyć tych wskazówek, aby ułatwić wizualizowanie głównych składników dla typowej implementacji tej architektury. Skorzystaj z tego artykułu jako punktu wyjścia, aby zaprojektować dobrze zaprojektowane rozwiązanie zgodne z konkretnymi wymaganiami obciążenia.

Ta architektura pokazuje, jak można ulepszyć operacje przy użyciu usług Azure Databricks, Delta Lake i MLflow na potrzeby nauki o danych i uczenia maszynowego. Ogólną wydajność i środowisko klienta można poprawić, opracowując, szkoląc i wdrażając modele uczenia maszynowego.

Architektura

Diagram architektury przedstawiający sposób działania usługi Azure Databricks z usługami magazynu danych w celu uściślenia i analizowania danych oraz udostępniania ich innym usługom.

Diagram zawiera trzy szare prostokąty: jeden oznaczony etykietą Proces, jeden oznaczony etykietą Serve i jeden z etykietami Store. Prostokąty Proces i Obsługa znajdują się obok siebie w górnej części diagramu. Prostokąt Serve zawiera białe pole z ikonami usługi Machine Learning i Azure Kubernetes Service. Kolejne białe pole zatyka prostokąty Proces i Obsługa. Zawiera ona ikony usług Azure Databricks i MLflow. Strzałka wskazuje z tego pola na białe pole w prostokątze Serwuj. Poniżej prostokąta Proces znajduje się prostokąt Store. Zawiera białe pole z ikonami data lake storage, Delta Lake i trzema tabelami bazy danych oznaczonymi etykietą Bronze, Silver i Gold. Trzy wiersze łączą prostokąty Proces i Store ze strzałkami na każdym końcu każdego wiersza.

Pobierz plik programu Visio z tą architekturą.

Rozwiązanie przechowuje, przetwarza i obsługuje dane:

Przepływ danych

Przechowuj

Usługa Data Lake Storage przechowuje dane w formacie usługi Delta Lake. Usługa Delta Lake tworzy wyselekcjonowane warstwy magazynu data lake. Architektura medalionu organizuje dane w trzy warstwy:

  • Brązowe tabele przechowują nieprzetworzone dane.
  • Tabele silver zawierają oczyszczone, przefiltrowane dane.
  • Tabele gold przechowują zagregowane dane gotowe do analizy i raportowania.

Przetwarzaj

  • Kod z różnych języków, struktur i bibliotek przygotowuje, udoskonala i czyści nieprzetworzone dane (1). Możliwości kodowania obejmują języki Python, R, SQL, Spark, Pandas i Koalas.

  • Usługa Azure Databricks uruchamia obciążenia nauki o danych. Ta platforma tworzy również i szkoli modele uczenia maszynowego (2). Usługa Azure Databricks używa wstępnie zainstalowanych, zoptymalizowanych bibliotek. Przykłady obejmują biblioteki scikit-learn, TensorFlow, PyTorch i XGBoost.

  • Śledzenie MLflow przechwytuje eksperymenty uczenia maszynowego, przebiegi modeli i wyniki (3). Gdy najlepszy model jest gotowy do produkcji, usługa Azure Databricks wdraża ten model w repozytorium modeli MLflow. Ten scentralizowany rejestr przechowuje informacje o modelach produkcyjnych. Rejestr udostępnia również modele innym składnikom:

    • Potoki spark i Python mogą pozyskiwać modele. Te potoki obsługują obciążenia wsadowe lub przesyłane strumieniowo procesy ETL.
    • Interfejsy API REST zapewniają dostęp do modeli w wielu celach. Przykłady obejmują testowanie i interakcyjne ocenianie w aplikacjach mobilnych i internetowych.

Służyć

Usługa Azure Databricks może wdrażać modele w innych usługach, takich jak Machine Learning i AKS (4).

Składniki

  • Azure Databricks to platforma do analizy danych. W pełni zarządzane klastry Spark uruchamiają obciążenia nauki o danych. Usługa Azure Databricks używa również wstępnie zainstalowanych, zoptymalizowanych bibliotek do tworzenia i trenowania modeli uczenia maszynowego. Integracja platformy MLflow z usługą Azure Databricks umożliwia śledzenie eksperymentów, przechowywanie modeli w repozytoriach i udostępnianie modeli innym usługom. Usługa Azure Databricks oferuje skalowalność:

    • Klastry obliczeniowe z jednym węzłem obsługują małe zestawy danych i uruchomienia pojedynczego modelu.
    • W przypadku dużych zestawów danych dostępne są klastry obliczeniowe z wieloma węzłami lub klastry procesora graficznego (GPU). Te klastry używają bibliotek i struktur, takich jak HorovodRunner i Hyperopt na potrzeby przebiegów modelu równoległego.
  • Usługa Data Lake Storage to skalowalne i bezpieczne magazyny danych typu data lake na potrzeby obciążeń analitycznych o wysokiej wydajności. Ta usługa zarządza wieloma petabajtami informacji przy jednoczesnym utrzymaniu setek gigabitów przepływności. Dane mogą mieć następujące cechy:

    • Być ustrukturyzowane, częściowo ustrukturyzowane lub nieustrukturyzowane.
    • Pochodzą z wielu heterogenicznych źródeł, takich jak dzienniki, pliki i nośniki.
    • Bądź statyczny, z partii lub przesyłania strumieniowego.
  • Usługa Delta Lake to warstwa magazynu, która używa otwartego formatu pliku. Ta warstwa jest uruchamiana na podstawie magazynu w chmurze, takiego jak Data Lake Storage. Usługa Delta Lake jest zoptymalizowana pod kątem przekształcania i czyszczenia danych wsadowych i przesyłanych strumieniowo. Ta platforma obsługuje te funkcje i funkcje:

    • Przechowywanie wersji i wycofywanie danych.
    • Niepodzielność, spójność, izolacja i trwałość transakcji (ACID) w celu zapewnienia niezawodności.
    • Spójny standard przygotowywania danych, trenowania modelu i obsługi modeli.
    • Podróż w czasie dla spójnych migawek danych źródłowych. Analitycy danych mogą trenować modele na migawkach zamiast tworzyć oddzielne kopie.
  • MLflow to platforma typu open source dla cyklu życia uczenia maszynowego. Składniki MLflow monitorują modele uczenia maszynowego podczas trenowania i uruchamiania. Przechowywane informacje obejmują kod, dane, informacje o konfiguracji i wyniki. MLflow przechowuje również modele i ładuje je w środowisku produkcyjnym. Ponieważ platforma MLflow korzysta z otwartych struktur, różne usługi, aplikacje, struktury i narzędzia mogą korzystać z modeli.

  • Machine Learning to środowisko oparte na chmurze, które ułatwia tworzenie, wdrażanie i zarządzanie rozwiązaniami analizy predykcyjnej. Dzięki tym modelom można prognozować zachowanie, wyniki i trendy.

  • Usługa AKS jest usługą Kubernetes o wysokiej dostępności, bezpiecznym i w pełni zarządzanym. Usługa AKS ułatwia wdrażanie konteneryzowanych aplikacji i zarządzanie nimi.

Szczegóły scenariusza

Gdy Twoja organizacja rozpoznaje możliwości nauki o danych i uczenia maszynowego, możesz zwiększyć wydajność, poprawić środowisko klienta i przewidzieć zmiany. Aby osiągnąć te cele w przypadkach użycia o krytycznym znaczeniu dla działania firmy, potrzebny jest spójny i niezawodny wzorzec:

  • Śledzenie eksperymentów.
  • Odtwarzanie wyników.
  • Wdrażanie modeli uczenia maszynowego w środowisku produkcyjnym.

W tym artykule opisano rozwiązanie dla spójnej, niezawodnej platformy uczenia maszynowego. Usługa Azure Databricks stanowi rdzeń architektury. Warstwa magazynowania Delta Lake i platforma uczenia maszynowego MLflow również odgrywają znaczące role. Te składniki bezproblemowo integrują się z innymi usługami, takimi jak Azure Data Lake Storage, Azure Machine Learning i Azure Kubernetes Service (AKS).

Razem te usługi zapewniają rozwiązanie do nauki o danych i uczenia maszynowego:

  • Proste: open data lake upraszcza architekturę. Usługa Data Lake zawiera wyselekcjonowane warstwy Delta Lake. Ta warstwa zapewnia dostęp do danych w formacie open source.

  • Otwarte: rozwiązanie obsługuje kod open source, otwarte standardy i otwarte platformy. Takie podejście minimalizuje potrzebę przyszłych aktualizacji. Usługa Azure Databricks i uczenie maszynowe natywnie obsługują platformy MLflow i usługę Delta Lake. Razem te składniki zapewniają wiodące w branży operacje uczenia maszynowego (MLOps) lub DevOps na potrzeby uczenia maszynowego. Szeroką gamę narzędzi wdrażania można zintegrować ze standardowym formatem modelu rozwiązania.

  • Współpraca: zespoły ds. nauki o danych i metodyce MLOps współpracują z tym rozwiązaniem. Te zespoły używają śledzenia MLflow do rejestrowania eksperymentów i wykonywania zapytań. Zespoły wdrażają również modele w centralnym rejestrze modeli MLflow. Inżynierowie danych używają następnie wdrożonych modeli w procesach pozyskiwania danych, wyodrębniania i przekształcania obciążenia (ETL) i potoków przesyłania strumieniowego.

Potencjalne przypadki użycia

Platforma utworzona przez AGL na potrzeby prognozowania energii zainspirowała to rozwiązanie. Ta platforma zapewnia szybkie i ekonomiczne trenowanie, wdrażanie i zarządzanie cyklem życia dla tysięcy modeli równoległych.

Oprócz dostawców energii to rozwiązanie może przynieść korzyści każdej organizacji, która:

  • Używa nauki o danych.
  • Kompiluje i szkoli modele uczenia maszynowego.
  • Uruchamia modele uczenia maszynowego w środowisku produkcyjnym.

Przykłady obejmują organizacje w:

  • Handel detaliczny i handel elektroniczny.
  • Bankowość i finanse.
  • Opieka zdrowotna i nauki o życiu.
  • Przemysł motoryzacyjny i produkcja.

Następne kroki

  • AGL Energy tworzy ustandaryzowaną platformę dla tysięcy modeli równoległych. Platforma zapewnia szybkie i ekonomiczne trenowanie, wdrażanie i zarządzanie cyklem życia dla modeli.
  • Open Grid Europe (OGE) używa modeli sztucznej inteligencji do monitorowania rurociągów gazowych. Usługa OGE używa usług Azure Databricks i MLflow do tworzenia modeli.
  • Nordic Airlines (SAS) korzysta z usługi Azure Databricks w fazie wspólnego badania. Linia lotnicza używa również uczenia maszynowego do opracowywania modeli predykcyjnych. Identyfikując wzorce w danych firmy, modele poprawiają codzienne operacje.