Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Przyszłość nadeszła, technologie sztucznej inteligencji i uczenia maszynowego są już z powodzeniem wykorzystywane w ulubionych sklepach, firmach transportowych, a nawet na farmach hodujących indyki.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

A jeśli coś istnieje, to znaczy, że w internecie już o tym jest... otwarty projekt! Zobacz, jak Open Data Hub pomoże w skalowaniu nowych technologii i unikaniu trudności podczas ich wdrażania.

Pomimo wszystkich zalet sztucznej inteligencji (artificial Intelligence, AI) i uczenia maszynowego (machine learning, ML), organizacje często napotykają trudności w skalowaniu tych technologii. Główne problemy zazwyczaj są następujące:

  • Wymiana informacji i współpraca – wymiana informacji bez zbędnego wysiłku i współpraca w trybie szybkich iteracji są praktycznie niemożliwe.
  • Dostęp do danych – dla każdego zadania trzeba go budować od nowa i ręcznie, co zajmuje dużo czasu.
  • Dostęp na żądanie – brak możliwości uzyskania on-demand dostępu do narzędzi i platformy uczenia maszynowego oraz do infrastruktury obliczeniowej.
  • Produkcja – modele pozostają na etapie prototypu i nie są doprowadzane do eksploatacji komercyjnej.
  • Monitorowanie i wyjaśnianie wyników pracy AI – odtwarzalność, monitorowanie i wyjaśnianie wyników AI/ML są utrudnione.

Nierozwiązane, te problemy negatywnie wpływają na tempo, efektywność i produktywność pracy cennych specjalistów do przetwarzania i analizy danych. Prowadzi to do ich frustracji, rozczarowania pracą, a w końcu oczekiwania biznesu wobec AI/ML idą na marne.

Odpowiedzialność za rozwiązanie tych problemów spoczywa na specjalistach IT, którzy muszą zapewnić analitykom danych - dokładnie, coś na kształt chmury. Mówiąc szerzej, potrzebna jest taka platforma, która daje wolność wyboru i ma wygodny, prosty dostęp. Powinna być szybka, łatwa w konfiguracji, skalowalna na żądanie i odporna na awarie. Budowanie takiej platformy opartej na technologiach z otwartym kodem pomaga uniknąć uzależnienia od dostawcy i zachować długoterminową strategiczną przewagę w zakresie kontroli kosztów.

Kilka lat temu podobne zjawiska miały miejsce w rozwoju aplikacji, co doprowadziło do powstania mikroserwisów, hybrydowych środowisk chmurowych, automatyzacji IT oraz procesów agile. Aby poradzić sobie z tym wszystkim, specjaliści IT zaczęli korzystać z kontenerów, Kubernetes i otwartych hybrydowych chmur.

Teraz te doświadczenia są wykorzystywane do odpowiadania na wyzwania Al. Dlatego specjaliści IT tworzą platformy oparte na kontenerach, które umożliwiają budowę usług AI/ML w ramach procesów agile, przyspieszają innowacje i są projektowane z myślą o chmurze hybrydowej.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Budowę takiej platformy rozpoczniemy od Red Hat OpenShift, naszej kontenerowej platformy Kubernetes dla chmury hybrydowej, która ma dynamicznie rozwijający się ekosystem rozwiązań ML w zakresie oprogramowania i sprzętu (NVIDIA, H2O.ai, Starburst, PerceptiLabs itp.). Niektórzy klienci Red Hat, tacy jak BMW Group, ExxonMobil i inni, już wdrożyli kontenerowe łańcuchy narzędzi ML oraz procesy DevOps na tej platformie i jej ekosystemie, aby uruchomić swoje architektury ML w trybie przemysłowym i przyspieszyć pracę analityków danych.

Kolejnym powodem, dla którego uruchomiliśmy projekt Open Data Hub, jest pokazanie przykładu architektury opartej na kilku projektach z otwartym kodem oraz zaprezentowanie, jak wdrożyć cały cykl życia rozwiązania ML na platformie OpenShift.

Projekt Open Data Hub

Jest to projekt open source, który rozwija się w ramach odpowiedniej społeczności programistycznej i realizuje pełen cykl operacji – od załadunku i przetwarzania danych źródłowych po tworzenie, szkolenie i utrzymanie modelu – przy rozwiązywaniu zadań AI/ML za pomocą kontenerów i Kubernetes na platformie OpenShift. Projekt ten można uznać za wzorcową realizację, przykład tego, jak zbudować otwarte rozwiązanie typu „AI/ML jako usługa” na bazie OpenShift oraz odpowiednich narzędzi open source, takich jak Tensorflow, JupyterHub, Spark i innych. Ważne jest, aby zauważyć, że Red Hat sam wykorzystuje ten projekt do świadczenia swoich usług AI/ML. Ponadto OpenShift integruje się z kluczowymi rozwiązaniami ML w zakresie oprogramowania i sprzętu od NVIDIA, Seldon, Starburst i innych dostawców, co ułatwia budowę i uruchamianie własnych systemów uczenia maszynowego.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Projekt Open Data Hub jest skierowany do następujących kategorii użytkowników i scenariuszy użycia:

  • Analityk danych, który potrzebuje rozwiązania do realizacji projektów ML zorganizowanego w modelu chmurowym z funkcjami samoobsługowymi.
  • Analityk danych, który wymaga maksymalnego wyboru spośród najnowszych narzędzi i platform AI/ML z otwartym kodem.
  • Analityk danych, który potrzebuje dostępu do źródeł danych podczas szkolenia modeli.
  • Analityk danych, który potrzebuje dostępu do zasobów obliczeniowych (CPU, GPU, pamięć).
  • Analityk danych, który potrzebuje możliwości współpracy i wymiany wyników pracy z kolegami, uzyskiwania informacji zwrotnej i wprowadzania poprawek metodą szybkich iteracji.
  • Analityk danych, który chce współpracować z programistami (i zespołami devops), aby jego modele ML i wyniki pracy trafiały do produkcji.
  • Inżynier danych, który musi zapewnić analityce danych dostęp do różnorodnych źródeł danych z zachowaniem norm i wymagań bezpieczeństwa.
  • Administrator/operator systemów IT, który potrzebuje możliwości łatwego kontrolowania cyklu życia (instalacja, konfiguracja, aktualizacja) komponentów i technologii z otwartym kodem. Potrzebne są również odpowiednie narzędzia do zarządzania i kwotowania.

Projekt Open Data Hub łączy w sobie szereg narzędzi z otwartym kodem do realizacji pełnego cyklu operacji AI/ML. Jako główne narzędzie robocze analityka danych używa się tutaj Jupyter Notebook. To narzędzie cieszy się obecnie dużą popularnością wśród specjalistów zajmujących się przetwarzaniem i analizą danych, a Open Data Hub pozwala im łatwo tworzyć i zarządzać obszarami roboczymi Jupyter Notebook za pomocą wbudowanego JupyterHub. Oprócz tworzenia i importu notebooków Jupyter, projekt Open Data Hub zawiera również szereg gotowych notebooków w postaci biblioteki AI Library.

Biblioteka ta to zbiór komponentów open-source z zakresu uczenia maszynowego oraz rozwiązań do typowych scenariuszy, które ułatwiają szybkie prototypowanie. JupyterHub jest zintegrowany z modelem dostępu RBAC OpenShift, co pozwala na wykorzystanie już istniejących kont OpenShift oraz realizację jednolitego logowania. Ponadto, JupyterHub oferuje wygodny interfejs użytkownika o nazwie spawner, za pomocą którego użytkownik może łatwo skonfigurować zasoby obliczeniowe (rdzenie procesora, pamięć, GPU) dla wybranego Jupyter Notebook.

Po tym, jak analityk danych stworzy i skonfiguruje notebook, wszelkie inne obowiązki przejmuje scheduler Kubernetes, który jest częścią OpenShift. Użytkownicy mogą jedynie wykonywać swoje eksperymenty, zapisywać i dzielić się wynikami swojej pracy. Ponadto, zaawansowani użytkownicy mogą bezpośrednio korzystać z powłoki CLI OpenShift z poziomu notebooków Jupyter, aby używać prymitywów Kubernetes, takich jak Job, lub funkcji OpenShift, na przykład Tekton lub Knative. Można również użyć wygodnego GUI OpenShift, które nazywa się „web-console OpenShift”.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Przechodząc do kolejnego etapu, Open Data Hub umożliwia zarządzanie potokami danych (data pipelines). W tym celu wykorzystywany jest obiekt Ceph, który jest oferowany w formie zgodnego z S3 obiektowego magazynu danych. Apache Spark zapewnia streaming danych z zewnętrznych źródeł lub wbudowanego magazynu Ceph S3, a także umożliwia wstępne przekształcenia danych. Apache Kafka zapewnia zaawansowane zarządzanie potokami danych (gdzie można przeprowadzać wielokrotne załadunki oraz operacje przekształcania, analizy i zapisywania danych).

Zatem analityk danych uzyskał dostęp do danych i zbudował model. Teraz ma ochotę podzielić się uzyskanymi wynikami z kolegami lub deweloperami aplikacji, pragnąc udostępnić swoją model na zasadach usługi. W tym celu potrzeba serwera wyjściowego, a Open Data Hub ma taki serwer, nazywa się Seldon i pozwala opublikować model w postaci usługi RESTful.

W pewnym momencie na serwerze Seldon pojawia się kilka takich modeli, co rodzi potrzebę monitorowania ich użycia. W tym celu Open Data Hub oferuje zbiór odpowiednich metryk oraz silnik raportowania oparty na powszechnie stosowanych narzędziach monitorujących o otwartym kodzie Prometheus i Grafana. W efekcie uzyskujemy informacje zwrotne do monitorowania wykorzystania modeli AI, szczególnie w środowisku produkcyjnym.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Dzięki temu Open Data Hub zapewnia chmuropodobne podejście w całym cyklu operacji AI/ML, począwszy od dostępu i przygotowania danych, a skończywszy na szkoleniu i wdrażaniu modelu w produkcji.

Zbieramy wszystko w całość

Teraz rodzi się pytanie, jak to wszystko zorganizować dla administratora OpenShift. I tutaj z pomocą przychodzi specjalny operator Kubernetes dla projektów Open Data Hub.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Operator ten zarządza instalacją, konfiguracją i cyklem życia projektu Open Data Hub, w tym wdrażaniem takich wspomnianych wcześniej narzędzi jak JupyterHub, Ceph, Spark, Kafka, Seldon, Prometheus i Grafana. Projekt Open Data Hub można znaleźć w konsoli internetowej OpenShift, w sekcji operatorów społecznościowych. Dzięki temu administrator OpenShift może określić, że odpowiednie projekty OpenShift należą do kategorii "projekt Open Data Hub". Następuje to tylko raz. Po tym analityk danych poprzez konsolę internetową OpenShift wchodzi do swojego projektu i widzi, że dla jego projektów zainstalowany i dostępny jest odpowiedni operator Kubernetes. Następnie tworzy instancję projektu Open Data Hub jednym kliknięciem i natychmiast uzyskuje dostęp do opisanego powyżej zestawu narzędzi. A to wszystko można skonfigurować w trybie wysokiej dostępności i odporności na awarie.

Projekt Open Data Hub – otwarta platforma do uczenia maszynowego oparta na Red Hat OpenShift.

Jeśli chcesz samodzielnie wypróbować projekt Open Data Hub, zacznij od instrukcji instalacji i wprowadzenia do tematu. Szczegółowe informacje techniczne dotyczące architektury Open Data Hub można znaleźć tutaj, plany rozwoju projektu – tutaj. W przyszłości planowane jest wdrożenie dodatkowej integracji z Kubeflow, rozwiązanie szeregu zagadnień związanych z regulacjami danych i bezpieczeństwem, a także zorganizowanie integracji z systemami opartymi na regułach Drools i Optaplanner. Aby wyrazić swoje zdanie i stać się uczestnikiem projektu Open Data Hub można na stronie społeczności.

Podsumowując: poważne problemy ze skalowalnością utrudniają organizacjom pełne wykorzystanie potencjału sztucznej inteligencji i uczenia maszynowego. Red Hat OpenShift od dawna i z powodzeniem stosowany jest do rozwiązywania podobnych problemów w branży oprogramowania. Projekt Open Data Hub, zrealizowany w ramach społeczności rozwoju open source, oferuje wzorcową architekturę do organizacji pełnego cyklu operacji AI/ML w oparciu o hybrydowe chmury OpenShift. Mamy jasny i przemyślany plan rozwoju tego projektu i poważnie zamierzamy stworzyć wokół niego aktywne i owocne środowisko rozwoju otwartych rozwiązań AI na platformie OpenShift.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster