HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Jak wdrożyć modele ML do produkcji

Obecnie wiele przedsiębiorstw, w tym wielu klientów Cloudera, eksperymentuje z uczeniem maszynowym (ML) i tworzy modele, aby sprostać szerokiej gamie wyzwań. Podczas gdy obecnie wiele modeli jest wykorzystywanych do pulpitów nawigacyjnych i wewnętrznych celów BI, niewielka i szybko rosnąca grupa liderów przedsiębiorstw zaczęła dostrzegać potencjał ML w zakresie automatyzacji biznesu, optymalizacji i innowacji produktowych. W tym poście na blogu zagłębimy się w to drugie — w szczególności w to, w jaki sposób linie biznesowe przekierowują swoich analityków danych do pracy z inżynierami aplikacji i innymi interesariuszami w celu rozwiązywania problemów biznesowych w czasie rzeczywistym. Te przypadki użycia różnią się w zależności od branży i krytyczności biznesowej, a ich szerokość i głębokość rosną, gdy firmy dowiadują się, jak wiele można zrobić z posiadanymi danymi.

Przykłady takich przypadków użycia obejmują:

  • Cerner, lider opieki zdrowotnej, wykorzystuje dane z czujników od pacjentów do identyfikacji sepsy za pomocą modeli uczenia maszynowego i proaktywnie powiadamia lekarzy, aby mogli dalej diagnozować i leczyć w ciągu 6 godzin choroby jest uleczalny
  • Usługi finansowe firmy wykorzystują uczenie maszynowe do wykrywania nieuczciwych transakcji w czasie rzeczywistym i wykorzystują informacje zwrotne od klientów w czasie rzeczywistym do uczenia się przez wzmocnienie
  • Firmy kolejowe zlecać dalekobieżne pociągi towarowe przez specjalne stacje, na których wykonują tysiące zdjęć w wysokiej rozdzielczości i stosują uczenie maszynowe do identyfikowania wadliwych części. Następnie planują przyjazd pociągu do zakładu naprawczego wraz z częściami i technikami — dzięki czemu postój przypomina postój Formuły 1
  • Narzędzia używają danych z inteligentnych liczników do identyfikowania potencjalnych problemów w sieci dystrybucji energii elektrycznej i proaktywnego planowania konserwacji
  • Firmy medialne wykorzystują uczenie maszynowe do identyfikowania i dostarczania odpowiednich treści w czasie rzeczywistym na podstawie tego, co oglądasz
  • Firmy zajmujące się technologiami reklamowymi i e-commerce korzystają z tych możliwości najdłużej, aby zapewnić trafność swoich ofert dla różnych grup docelowych

Po zidentyfikowaniu problemu i podjęciu decyzji o zainwestowaniu w rozwiązanie biznesowe, naukowcy zajmujący się danymi będą badać dane przy użyciu różnych narzędzi ML do tworzenia algorytmów i współpracować z inżynierami oprogramowania w celu tworzenia aplikacji, które mogą wykorzystać te algorytmy.

W zależności od potrzeb dane mogą znajdować się w ich hurtowni danych lub w ich operacyjnych bazach danych. Wielu klientów Cloudera będzie używać Spark &​​SparkMLlib w Cloudera Machine Learning (CML) do trenowania swoich algorytmów. Korzystanie z CML umożliwia płynne przepływy pracy w celu operacjonalizacji modeli na jednej, bezpiecznej i zarządzanej platformie stworzonej z myślą o szybszych przepływach pracy ML. Aby dowiedzieć się więcej o naszym podejściu do opracowywania przepływów pracy w CML, dołącz to seminarium internetowe.

Algorytmy szkoleniowe można wykonać w operacyjnej bazie danych

Jednym z głównych powodów używania hurtowni danych do uczenia algorytmów jest uniknięcie dodawania obciążenia do istniejącej operacyjnej bazy danych, a tym samym wpływania na umowy SLA dotyczące obciążenia operacyjnego. Jednak w przypadku Operacyjnej Bazy Danych Cloudera (OpDB) użytkownicy mogą ustawiać przydziały i limity ilości zasobów i obciążenia, jakie użytkownicy uczenia maszynowego mogą obciążać system. Chroni to obciążenia operacyjne, jednocześnie umożliwiając analitykom danych korzystanie z danych w czasie rzeczywistym bez ponoszenia kosztów tworzenia drugiej kopii.

Korzystając z OpDB Cloudera, klienci często używają Sparka do wysyłania zapytań o dane w operacyjnej bazie danych, eliminując potrzebę odciążania danych przed ich eksploracją i wykorzystaniem do szkolenia na potrzeby uczenia maszynowego.

Algorytmy ML muszą spełniać wymagania dotyczące dostępności, odporności i czasu reakcji na poziomie aplikacji

Rozwój i szkolenie algorytmu opartego na ML odbywa się zwykle w połączeniu z rozwojem aplikacji (zakładając, że fakt, że jest to wykonalne, został już ustalony). Typowe wymagania aplikacji dla bazowej bazy danych często obejmują:

  • Czas odpowiedzi poniżej 1 ms
  • Ciągła dostępność w obliczu awarii sprzętu (lub wysoka dostępność, ale wysoka dostępność jest mniej preferowana)
  • Możliwość skalowania w poziomie
  • Wysoka współbieżność (tysiące żądań na sekundę)

Podczas wdrażania uczenia maszynowego jako części aplikacji należy spełnić wymagania aplikacji dotyczące dostępności, odporności i szybkości reakcji. Ponadto na aplikację nałożonych jest kilka dodatkowych wymagań dotyczących uczenia maszynowego:

  • Możliwość kontrolowania decyzji
  • Możliwość zmiany modeli/algorytmów
  • Możliwość obsługi zwiększania danych w celu ciągłego uczenia się (w zależności od zastosowanego algorytmu)

Operacyjna baza danych Cloudera może spełnić oba zestawy wymagań

Aby spełnić te wymagania, klienci zazwyczaj spłaszczają dane wyjściowe modelu uczenia maszynowego do tabeli — zasadniczo wstępnie obliczając wszystkie dane wyjściowe dla całej przestrzeni wejściowej. Stwarza to dodatkowe wymagania dla bazowej bazy danych:

  • Możliwość tworzenia tabeli zawierającej setki gigabajtów lub terabajtów (w zależności od rozmiaru i liczby parametrów wejściowych)
  • Prostota zarządzania (nie zmuszaj administratorów do zarządzania shardingiem itp.)

Z perspektywy operacyjnej bazy danych Cloudera model uczenia maszynowego można łatwo przedstawić w postaci tabeli (i takie podejście przyjęło wielu klientów):

  • Klucz podstawowy składa się z zestawu danych wejściowych wymaganych do identyfikacji danych wyjściowych (niezależnie od liczby wymaganych danych wejściowych)
  • Kolumna:Zalecenie modelu uczenia maszynowego (wyniki)
  • Kolumna:Wersja modelu

Funkcja audytu również wygląda jak tabela:

  • Klucz podstawowy składa się z zestawu danych wejściowych wymaganych do identyfikacji danych wyjściowych (niezależnie od liczby wymaganych danych wejściowych)
  • Kolumna:komu wysłużyłeś te dane wyjściowe (np. identyfikator klienta)
  • Kolumna:jakie dane wyjściowe zostały podane
  • Kolumna:jaka wersja modelu została użyta
  • Kolumna:jaka alternatywna odpowiedź byłaby lepsza (rozszerzenie)

Rozszerzanie można wykonać ręcznie lub programowo (tj. gdy firma obsługująca karty kredytowe wysyła do Ciebie wiadomość e-mail z prośbą o weryfikację transakcji — wykonuje powiększanie danych). Ta tabela audytu, która jest rozszerzona, może być wykorzystana do uczenia się wzmacniającego w bazie danych lub przeniesiona do hurtowni danych.

Ponieważ dane znajdują się w bazie danych, aktualizacje modelu można wykonywać bez przestojów aplikacji.

Z perspektywy skalowania, operacyjna baza danych Cloudera jest zbudowana na Apache HBase i Apache Phoenix — z których oba okazały się bezproblemowo obsługiwać tabele o wielkości setek terabajtów.

Zamów operacyjną bazę danych Cloudera w ramach platformy danych Cloudera w chmurze publicznej, aby zbudować kolejną aplikację opartą na ML.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hadoop InputFormat i typy InputFormat w MapReduce

  2. Istotne cechy MapReduce – znaczenie MapReduce

  3. Dostrajanie wydajności w MapReduce w celu poprawy wydajności

  4. Kopie zapasowe online Apache HBase z CopyTable

  5. How-to:Użyj HBase Bulk Loading i dlaczego