Narzędzia: Azure Machine Learning – jak zacząć?

Jeżeli chciałbyś budować eksperymenty Machine Learning z dowolnego miejsca, bez dostępu do własnej infrastruktury i zupełnie niezależnie od posiadanej fizycznie mocy obliczeniowej to jest na to prosty sposób: Microsoft Azure Machine Learning.

Dlaczego warto korzystać z gotowych narzędzi do eksploracji danych?

Przede wszystkim ze względu na łatwość użycia. Koniec z martwieniem się o detale i zarywaniem nocy na siedzenie „w kodzie”. Wystarczy utworzyć nowy projekt i przeciągać gotowe elementy na obszar roboczy danego eksperymentu. Następnie należy łączyć je ze sobą i ustalać wartości wymaganych parametrów. Oczywiście jest wiele osób, które wolą zaimplementować wybraną metodę od zera. W większości przypadków nie ma jednak potrzeby wymyślania koła na nowo. Narzędzia do eksploracji danych zapewniają dostęp do dziesiątek gotowych algorytmów. Począwszy od algorytmów klasyfikacyjnych, poprzez regresyjne, na klasteryzacyjnych kończąc.

Kolejnym atutem jest szybkość implementacji będąca następstwem pierwszego punktu. Korzystając z narzędzia do eksploracji danych, podstawową wersję eksperymentu można „zamknąć” w w kilkadziesiąt minut. Mowa tu oczywiście o całym procesie: wczytaniu danych, zbudowaniu modelu, uczeniu, testowaniu i ewentualnym wystawieniu dostępu poprzez API na zewnątrz.

W tradycyjnym podejściu, implementując wszystko od zera, trzeba się nieźle nakombinować. Powstaje dużo kodu, jeszcze więcej dokumentacji. Wszystko to kosztuje. Warto doliczyć również koszty utrzymania takiego dedykowanego systemy. W przypadku, gdy autor projektu odejdzie z Twojej firmy, może się okazać że nie ma nikogo kto jest w stanie nanosić w nim zmiany. Koszty rosną…

Korzystając z narzędzia do eksploracji danych wszystko jest maksymalnie uproszczone. Gotowe algorytmy, proste w implementacji. Algorytm nie daje oczekiwanych rezultatów? Zmieniasz go za pomocą kilku kliknięć. Bazujemy na gotowych komponentach, które są dostosowywane do danego przypadku. Wszystko ma jasną strukturę, którą nowa osoba, będąca specjalistą od danego narzędzia, jest w stanie odczytać bez większych problemów. To wszystko obniża koszty utrzymania takiego systemu.

Rozwiązanie w chmurze vs rozwiązanie On-Premises

Proszę wyobraź sobie firmę w której analitycy danych budują system predykcyjny od zera. Muszą zacząć od napisania algorytmu w oparciu o daną metodę. Iteracyjne będą poszukiwać tej jedynej dającej odpowiednie rezultaty. Kiedy już ją znajdą, muszą udostępnić swoje dzieło na potrzeby biznesu który wspierają. Trzeba wystawić serwer o odpowiednich parametrach, być może dokupić co nieco hardware’u. Konieczne będą też dodatkowe licencje serwerowe i dostępowe dla użytkowników końcowych. Dopiero po wykonaniu powyższych kroków można uznać cały proces za zakończony.

Wysokie koszty zbudowania i utrzymania powyższego systemu, dodatkowe koszty licencji i kwestia bezpieczeństwa danych. Należy dodać do tego długi okres czasu od początkowego pomysłu, do momentu w którym system zaczyna na siebie zarabiać. Z tym wszystkim musimy się liczyć jeśli chcemy budować rozwiązanie w swojej infrastrukturze.

A co gdyby można było tego wszystkiego uniknąć? Zbudować system oparty o narzędzie proste w obsłudze, relatywnie tanie, za które płacimy w sposób subskrypcyjny. Wszystko to jest możliwe dzięki Microsoft Azure Machine Learning.

Microsoft Azure Machine Learning

Azure Machine Learning jest usługą dedykowaną do eksploracji danych oferowaną przez Microsoft w modelu SAAS. Dostęp do usługi jest możliwy poprzez stronę internetową: https://studio.azureml.net. Dzięki niemu otrzymujemy narzędzie klasy Enterprise, z odpowiednimi zabezpieczeniami i certyfikatami które je potwierdzają. Jeśli zdecydujemy się na plan „Enterprise grade”, to otrzymamy dodatkowo pełne wsparcie Microsoft i SLA.

To co wyróżnia Azure na tle konkurencji, to mocne wsparcie dla dwóch najpopularniejszych języków używanych przy eksploracji danych: Python i R. Kod napisany w tych językach można wklejać bezpośrednio do zbudowanego diagramu, a ten z kolei buduje się w dziecinnie łatwy sposób – metodą drag and drop. Wprawdzie rozwiązanie działa w infrastrukturze Microsoft, ale dostępna jest opcja czytania danych z bezpośrednio z własnego centrum danych za pomocą dedykowanego konektora.


Azure Machine Learning Overview

Ogromnym plusem jest również galeria gotowych eksperymentów. Zamiast zaczynać eksperyment od pustej strony, można wykorzystać jeden z gotowych szablonów. Każdy z nich został dokładnie opisany pod kątem problemu który adresuje, oraz przypisany do danej kategorii. Zatem po jednym kliknięciu mamy dostęp do rozwiązań dedykowanych dla interesującej nas branży.

1

I tak na przykład po kliknięciu w sekcję „Banking” mamy:

  • Tutorial wykrywania fraudów z użyciem SQL Server R Services.
  • Szablon binarnej klasyfikacji ryzyka kredytowego.
  • Szablon detekcji anomalii w użyciu kart kredytowych.
  • Szablon wykrywania fraudów w transakcjach bankowych.

Zajawkowicze Machine Learningu bez wątpienia docenią również listę dostępnych konkursów. Wprawdzie nie jest to Kaggle, ale lepsze to niż nic 🙂

Azure Machine Learning – czy warto?

Odpowiadając jednym słowem: tak. Jeżeli masz jakiekolwiek wątpliwości, to Azure Machine Learning Studio zapewnia 100% darmowy dostęp*. „Free Workspace” ma pewne ograniczenia (m.in. 10GB na własne pliki, nieco mniejsza moc obliczeniowa, brak SLA), jednakże pozwala zacząć zabawę z Machine Learning w chmurze.

Jak już wspomniałem, w przypadku Azure ML mamy do czynienia z chmurą, a więc otrzymujemy świetne rozwiązanie, do którego mamy dostęp z dowolnego miejsca i urządzenia. Odrywamy się dzięki temu od danej maszyny i jej mocy obliczeniowej. Nasz dowolnie skomplikowany eksperyment możemy uruchomić nawet na starym komputerze. Wystarczy przeglądarka internetowa i łącze internetowe by zacząć korzystać. Do założenia konta nie potrzeba podawać numeru karty kredytowej, a więc cały proces jest maksymalnie uproszczony.

Dostępne plany na Azure ML Studio

By uzyskać dostęp do Azure ML, należy założyć konto korzystając z jednego z 3 planów:

  1. Darmowe konto – 8 godzinna wersja testowa, zapewniająca wszystkie funkcjonalności planu „Enterprise Grade”.
  2. Darmowe konto – nieograniczona czasowo wersja testowa z pewnymi ograniczeniami w postaci m.in.: 10 GB na pliki, 100 modułów na eksperyment, brak SLA, brak możliwości czytania danych z On-Premises, ograniczony czas wykonywania się danego eksperymentu.
  3. Konto płatne $9.99 miesięcznie – pełna wersja mająca wszystko to czego nie ma konto darmowe

Pełna lista różnic pomiędzy planami, jak i odpowiedzi na najczęściej zadawane pytania dostępne są pod linkiem: klik.

2

Jeśli jesteś profesjonalistą, który wie czego oczekiwać od tego typu rozwiązań to z pewnością zdecydujesz się na miesięczny „testowy” okres planu „Enterprise Grade”. Jeśli natomiast masz jakiekolwiek wątpliwości to powinieneś skorzystać z opcji numer 2, którą opisuję poniżej.

Zakładanie konta na portalu Azure Machine Learning

By założyć darmowe konto nie musisz podawać danych swojej karty kredytowej. To bez wątpienia duża zaleta w porównaniu z innymi rozwiązaniami chmurowymi, w których to nawet to skorzystania z wersji darmowej jest potrzebna karta.

  1. Wejdź na https://studio.azureml.net.
  2. Kliknij przycisk „Sign Up” by rozpocząć proces zakładania konta.
    3
  3. Zaloguj się swoim kontem Microsoft, lub załóż nowe konto.
    4W zakładaniu konta w domenie https://outlook.com nie ma nic szczególnie trudnego, dlatego nie będę opisywał tu całego procesu.
  4. Wpisz swój adres e-mail i hasło, po czym kliknij przycisk „Zaloguj”.
    5Po chwili Twoim oczom powinien ukazać się taki oto widok:
    6

To w zasadzie ostatni krok, jeśli chodzi o zakładanie konta w portalu Azure ML. Cztery proste kroki które nie powinny nikomu sprawić problemu. Jeśli nie posiadałeś wcześniej konta Outlook.com, to z pewnością jego założenia zajmie Ci więcej czasu niż uruchomienie pierwszego eksperymentu Azure ML 🙂

Z poziomu panelu znajdującego się po lewej stronie mamy dostęp do naszych eksperymentów, projektów, web service’ów i ustawień.

Co dalej?

Dobrnęliśmy do momentu, w którym mamy dostęp do gotowego narzędzia służącego do eksploracji danych w chmurze. Dalszym krokiem jest z pewnością zbudowanie pierwszego eksperymentu, dlatego w jednym z kolejnym artykułów pokażę jak to zrobić adresujący jeden z problemów decyzyjnych.

W kolejnych artykułach będę rozwijać temat przetwarzania danych w chmurze, w oparciu o Azure ML. Po tym jak zbudujemy pierwszy prosty eksperyment, opublikujemy web service i wystawimy go „na zewnątrz” za pomocą dostępnego API. W ostatnim kroku wskażę jak można użyć mocy obliczeniowej Azure z poziomu naszego komputera i zwykłego arkusza kalkulacyjnego. Z poziomu Excela połączymy się poprzez API z naszym eksperymentem i wyznaczymy predykcję dla przykładowych zmiennych. To wszystko i wiele więcej już niebawem.

Jeśli uważasz, że ten artykuł pomógł Ci w uruchomieniu darshboardu w ML w chmurze i w pewnym stopniu objaśnił zalety tego typu rozwiązań, proszę podziel się szczegółami w komentarzach.

Podobał Ci się ten artykuł?

Jeśli tak, to zarejestruj się, by otrzymywać informacje o nowych wpisach. Dodatkowo w prezencie wyślę Ci bezpłatny poradnik 🙂

Bądź pierwszy, który skomentuje ten wpis!

Dodaj komentarz

Twój adres email nie zostanie opublikowany.


*