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ń

Ten artykuł jest pomysłem na rozwiązanie. Jeśli chcesz, abyśmy rozszerzyli zawartość o więcej informacji, takich jak potencjalne przypadki użycia, alternatywne usługi, zagadnienia dotyczące implementacji lub wskazówki dotyczące cen, daj nam znać, przekazując opinię w usłudze GitHub.

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

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

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 machine Edukacja 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.

Przetwarzanie

  • 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 Edukacja i AKS (4).

Elementy

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

  • Usługa Machine Edukacja 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 Edukacja 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ługi Azure Databricks i Machine Edukacja 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ż Edukacja Machine do opracowywania modeli predykcyjnych. Identyfikując wzorce w danych firmy, modele poprawiają codzienne operacje.