P:
Jakie są kluczowe sposoby automatyzacji i optymalizacji procesów nauki danych?
ZA:Procesy analizy danych w kontekście uczenia maszynowego i sztucznej inteligencji można podzielić na cztery odrębne fazy:
- pozyskiwanie i eksploracja danych,
- budowa modelu,
- wdrożenie modelu i
- ocena i udoskonalenie online.
Z mojego doświadczenia najtrudniejsze są fazy akwizycji danych i wdrażania modelu w dowolnym procesie nauki danych opartym na uczeniu maszynowym, a oto dwa sposoby ich optymalizacji:
1. Utwórz wysoce dostępny magazyn danych.
W większości organizacji dane nie są przechowywane w jednej centralnej lokalizacji. Weźmy tylko informacje związane z klientami. Masz dane kontaktowe klienta, e-maile dotyczące obsługi klienta, opinie klientów i historię przeglądania klientów, jeśli Twoja firma jest aplikacją internetową. Wszystkie te dane są naturalnie rozproszone, ponieważ służą różnym celom. Mogą znajdować się w różnych bazach danych, a niektóre mogą mieć pełną strukturę, a niektóre nieustrukturyzowane, a nawet mogą być przechowywane jako zwykłe pliki tekstowe.
Niestety rozproszenie tych zestawów danych jest bardzo ograniczone do prac związanych z analizą danych, ponieważ podstawą wszystkich problemów NLP, uczenia maszynowego i sztucznej inteligencji są dane . Posiadanie wszystkich tych danych w jednym miejscu - magazynie danych - ma zatem ogromne znaczenie w przyspieszeniu opracowywania i wdrażania modelu. Biorąc pod uwagę, że jest to kluczowy element dla wszystkich procesów związanych z nauką danych, organizacje powinny zatrudnić wykwalifikowanych inżynierów danych, którzy pomogą im w tworzeniu ich magazynów danych. Można to łatwo rozpocząć od prostych zrzutów danych w jednym miejscu i powoli przekształcić się w dobrze przemyślane repozytorium danych, w pełni udokumentowane i dostępne do zapytania z narzędziami do eksportowania podzbiorów danych do różnych formatów do różnych celów.
2. Ujawnij swoje modele jako usługę płynnej integracji.
Oprócz umożliwienia dostępu do danych ważna jest także możliwość zintegrowania modeli opracowanych przez naukowców zajmujących się danymi z produktem. Integracja modeli opracowanych w Pythonie z aplikacją internetową działającą na Ruby może być niezwykle trudna. Ponadto modele mogą mieć wiele zależności danych, których produkt może nie być w stanie zapewnić.
Jednym ze sposobów na poradzenie sobie z tym jest stworzenie silnej infrastruktury wokół modelu i udostępnienie wystarczającej funkcjonalności wymaganej przez produkt, aby użyć modelu jako „usługi internetowej”. Na przykład, jeśli twoja aplikacja wymaga klasyfikacji opinii na temat recenzji produktów, wystarczy wywołać usługę internetową, podając odpowiedni tekst, a usługa oddałaby odpowiednią klasyfikację nastrojów, z której produkt może korzystać bezpośrednio. W ten sposób integracja jest po prostu w formie wywołania API. Oddzielenie modelu od produktu, który z niego korzysta, sprawia, że nowe produkty, które wymyślisz, są bardzo łatwe w użyciu, bez większych problemów.
Teraz konfiguracja infrastruktury wokół modelu to zupełnie inna historia i wymaga dużych inwestycji początkowych od zespołów inżynierów. Gdy infrastruktura jest już dostępna, wystarczy zbudować modele w taki sposób, aby pasowały do infrastruktury.