Jak dodać rozwiązania Machine Learning do swojej firmy za pomocą AWS
Opublikowany: 2020-05-13Uczenie maszynowe nieustannie ewoluuje i odgrywa ogromną rolę w światowej gospodarce, ponieważ pozwala na szybką i automatyczną analizę dużych porcji danych.
Aby jeszcze bardziej przybliżyć technologię uczenia maszynowego programistom, Amazon oferuje obecnie ponad 10 usług uczenia maszynowego i sztucznej inteligencji na swojej platformie AWS. Dzięki tym usługom możesz w prosty sposób rozpocząć budowanie modeli, które wzniosą Twój biznes na wyższy poziom.
Większość z tych usług jest w pełni zarządzana, co oznacza, że aby z nich korzystać, nie potrzebujesz żadnego doświadczenia w uczeniu maszynowym, ponieważ narzędzia te wykorzystują wstępnie wytrenowane modele do pracy z danymi. W zależności od problemu biznesowego możesz wybierać spośród wstępnie przeszkolonych usług ML w obszarach takich jak wizja komputerowa, przetwarzanie języka naturalnego, rekomendacje i prognozowanie. Poniższy wykres przedstawia przepływ pracy rozwiązania Machine Learning wraz z narzędziami AWS, których możesz użyć na każdym z etapów.

Jak zastosować uczenie maszynowe w biznesie z AWS
Po pierwsze: zbieranie danych
Najważniejszym elementem w tworzeniu rozwiązań ML są dane. Istnieją 3 typy danych: ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane.
- Elementy danych strukturalnych są adresowalne i mogą być przechowywane w relacyjnej bazie danych. Ten typ danych ma wstępnie zdefiniowany schemat. Przykładem danych strukturalnych jest relacyjna baza danych zawierająca dane liczbowe i łańcuchowe (tekstowe).
- Częściowo ustrukturyzowane zestawy danych nie znajdują się w relacyjnych bazach danych, ale mimo to mają pewne predefiniowane elementy (schemat), które ułatwiają ich analizę. Przykładami częściowo ustrukturyzowanych typów plików danych są XML, HTML, RDF lub JSON.
- Nieuporządkowane dane to wszystko inne. Ten typ danych nie ma wstępnie zdefiniowanej struktury i zwykle są przechowywane jako zestaw plików. Najpopularniejszymi przykładami danych nieustrukturyzowanych są dokumenty tekstowe, zdjęcia, pliki wideo i audio oraz dzienniki aplikacji.
Ładowanie danych – co to jest Kinesis?
Usługa AWS Kinesis pozyskuje dane, które mogą być generowane w sposób ciągły z różnych źródeł, np. aplikacji webowych i mobilnych. Jest to usługa przesyłania strumieniowego danych w czasie rzeczywistym, która może bardzo szybko przechwytywać gigabajty danych. Kinesis oferuje następujące narzędzia:
- Kinesis Video Streaming – narzędzie, które może pomóc w strumieniowaniu wideo z urządzeń do AWS
- Kinesis Data Streaming – narzędzie, które może pomóc w zbieraniu danych, takich jak logi IT, kliknięcia na stronach internetowych czy transakcje finansowe
- Kinesis Data Firehose – narzędzie do ładowania strumieniowanych danych do magazynów danych (np. S3, Redshift) lub narzędzi analitycznych
- Kinesis Data Analytics – narzędzie przetwarzające dane strumieniowe w czasie rzeczywistym za pomocą SQL lub Java
Ładowanie danych – co to jest klej?
Kolejną usługą AWS, która może pomóc w ładowaniu danych, jest Glue zarządzana przez Apache Spark . Jest to narzędzie do wyodrębniania, przekształcania i ładowania (ETL), które można wykorzystać do przygotowania danych przed ich użyciem do analizy. Klej może pracować zarówno z danymi ustrukturyzowanymi, jak i częściowo ustrukturyzowanymi.
Elementami Glue są Data Catalog, silnik ETL i harmonogram. Katalog danych kleju jest najważniejszą częścią narzędzia. Zapisuje metadane o podanych danych, automatycznie wykrywane przez roboty, które przechodzą przez źródła danych i wykrywają ich schemat.
Silniki ETL mogą generować kod Python i Scala do wykorzystania w procesie ETL dla użytkowników nieprogramujących. Może również przetwarzać dane za pomocą kodu podanego przez użytkownika. Harmonogram może monitorować zadania, uruchamiać zadania i uruchamiać je na podstawie niektórych zdarzeń (np. o określonej godzinie w każdy poniedziałek lub gdy inne zadanie zakończy się lub nie powiedzie się).
Po drugie: wybór odpowiednich narzędzi uczenia maszynowego
Po zebraniu potrzebnych nam danych możemy zacząć budować nasze rozwiązania ML. AWS oferuje kilka narzędzi uczenia maszynowego, które mogą przetwarzać dane różnego typu.
Przyjrzyjmy się teraz każdemu z tych narzędzi i przedstawimy ich główne możliwe obszary zastosowania w biznesie .
Co to jest SageMaker?
SageMaker jest najbardziej przydatny dla programistów zajmujących się uczeniem maszynowym i analityków danych. Ta usługa jest kompletnym rozwiązaniem, które pomaga przenieść modele uczenia maszynowego od koncepcji do produkcji przy minimalnym wysiłku. Amazon SageMaker posiada bogaty zestaw narzędzi (Ground Truth, Notebooks, Experiments, Debugger, Model Monitor, Neo), które mogą pomóc w etykietowaniu danych, budowaniu, optymalizacji, szkoleniu, testowaniu i wdrażaniu modeli.
Ręczne znalezienie odpowiedniego algorytmu dla danego problemu często wymaga godzin szkolenia i testowania. SageMaker ma opcję AutoPilot, która wykorzystuje 50 różnych wstępnie przeszkolonych modeli ML, aby automatycznie znaleźć najlepszy model ML dla danej sprawy. Deweloperzy mogą skorzystać z tego rozwiązania, aby szybko znaleźć model bazowy.
Co to jest personalizacja?
Personalizacja to usługa uczenia maszynowego, która pomaga budować systemy rekomendacji. Personalizacja może przetwarzać strumienie aktywności z aplikacji, np. kliknięcia, odsłony, zakupy i wykorzystywać je do tworzenia spersonalizowanych rekomendacji. Możesz także użyć dodatkowych informacji o użytkownikach, takich jak wiek czy lokalizacja geograficzna. Wyświetlanie wyników rekomendacji w Twojej aplikacji można uprościć za pomocą krótkich wywołań API. Technologia uczenia maszynowego w Personalizacja została ulepszona przez lata użytkowania przez Amazon.com.

Co to jest Zrozumieć?
Zrozum to usługa przetwarzania języka naturalnego (NLP), która wykorzystuje uczenie maszynowe do wydobywania cennych informacji z nieustrukturyzowanych danych tekstowych. Ta usługa stosuje analizę sentymentu, wyodrębnianie części mowy i tokenizację w celu wykrycia kluczowych cech tekstu. Zrozum może być pomocne w zrozumieniu, jak pozytywny lub negatywny jest dany tekst.
Comprehend ma dodatkowe narzędzie: Amazon Comprehend Medical, specjalnie dla branży medycznej. Amazon Comprehend Medical może analizować dokumentację medyczną (np. dokumentację medyczną pacjentów, notatki kliniczne) i wydobywać informacje o lekach, dawkach i częstotliwościach. Zrozum to w pełni zarządzana usługa.
Co to jest prognoza?
Prognoza wykorzystuje uczenie maszynowe do tworzenia modeli prognozowania szeregów czasowych. Może łączyć historyczne dane szeregów czasowych z dodatkowymi zmiennymi (które Twoim zdaniem mogą wpływać na prognozy) w celu tworzenia modeli predykcyjnych. To rozwiązanie Amazon ma zastosowanie do przewidywania wartości, takich jak ceny akcji lub popyt na produkty klientów. Forecast to również usługa w pełni zarządzana i może być skalowana do potrzeb biznesowych.
Czym jest Lex?
Lex używa automatycznego rozpoznawania mowy (ASR) do konwersji mowy na tekst, a rozumienia języka naturalnego (NLU) do rozpoznawania intencji tekstu. Rozwiązanie to umożliwia użytkownikowi budowanie botów konwersacyjnych.
Na przykład możesz użyć Lexa jako zamiennika ręcznej obsługi klienta, która automatycznie odpowie na pytania klientów. Amazon Lex wykorzystuje tę samą technologię głębokiego uczenia, co Amazon Alexa (wirtualny asystent AI firmy Amazon).
Co to jest Polly?
Polly to usługa w chmurze, która wykorzystuje algorytmy uczenia głębokiego do konwersji tekstu na mowę realistyczną. Obecnie obsługuje 60 głosów męskich i żeńskich w 29 językach, w tym japońskim, chińskim, koreańskim i arabskim. Polly może również obsługiwać godziny, daty, jednostki, ułamki i skróty. Takie rozwiązanie pozwala użytkownikowi tworzyć aplikacje, które potrafią rozmawiać.
Co to jest wykrywacz oszustw?
Fraud Detector to usługa AWS, która może pomóc w identyfikacji nieuczciwych działań online, takich jak oszustwa płatnicze lub fałszywe konta. Ta usługa jest w pełni zarządzana, dzięki czemu model wykrywania oszustw można utworzyć za pomocą zaledwie kilku kliknięć.
Co to jest tekst?
Texttract to usługa, która może automatycznie odczytywać dane z zeskanowanych dokumentów. Texttract może przetworzyć miliony stron w ciągu kilku godzin i może pomóc w automatyzacji obiegu dokumentów. Usługa ta jest przydatna przy przetwarzaniu dokumentów takich jak wnioski kredytowe czy dokumentacja medyczna.
Co to jest Tłumacz?
Translate to usługa uczenia maszynowego AWS umożliwiająca tłumaczenie tekstu z języka na język. Wykorzystuje modele uczenia głębokiego, aby zapewnić dokładniejsze i bardziej naturalnie brzmiące tłumaczenie w porównaniu z tradycyjnymi algorytmami statystycznymi. Tłumacz obsługuje 54 języki (w tym m.in. afrikaans, bułgarski, estoński) oraz 2804 pary językowe.
Co to jest rozpoznawanie?
Rozpoznawanie to usługa wizji komputerowej, która może rozpoznawać przedmioty, ludzi i tekst na obrazach i filmach. Rozpoznawanie jest w stanie identyfikować i porównywać twarze, analizować je i identyfikować niektóre cechy twarzy, takie jak usta, nos lub oczy.
Rozpoznawanie posiada moduł do automatycznego wykrywania emocji, takich jak szczęście, smutek czy zaskoczenie na obrazach twarzy. Może również przeprowadzić weryfikację twarzy użytkownika, która potwierdzi tożsamość użytkownika, porównując obraz w czasie rzeczywistym z przechowywanym obrazem referencyjnym.
Po trzecie: wdrażanie rozwiązań uczenia maszynowego
Najczęściej stosowaną metodą wdrażania modeli jest usługa SageMaker, z której można korzystać na dwa sposoby:
- Korzystanie z usługi hostingowej SageMaker do konfigurowania punktów końcowych HTTPS. W tym rozwiązaniu aplikacje klienckie wysyłają żądania do punktów końcowych HTTPS, aby uzyskać prognozy z wdrożonych modeli. Aby skorzystać z tego rozwiązania, musisz dostarczyć mu swój obraz Docker. Jeśli musisz wdrożyć wiele modeli, możesz również użyć wielomodelowych punktów końcowych.
- Korzystanie z programu SageMaker Batch Transform , który pomaga uzyskać prognozy dla całego zestawu danych. Aby wdrożyć model przy użyciu transformacji wsadowej, potrzebujesz zasobnika S3 do przechowywania modelu, zestawów danych i prognoz.
Alternatywą wdrażania jest użycie AWS IoT Greengrass . Ta usługa rozszerza AWS na urządzenia Internetu rzeczy (IoT). Korzystając z tej usługi, urządzenia mogą zbierać, filtrować, przetwarzać dane, a także uruchamiać funkcje Lambda, kontenery Dockera i wykonywać predykcje oparte na modelach ML nawet bez połączenia z chmurą. Po połączeniu z Internetem Greengrass synchronizuje wszystkie dane z usługami w chmurze.
Streszczenie
Jak widać, Amazon Web Service oferuje bogaty zestaw narzędzi, które mogą pomóc w tworzeniu skutecznych rozwiązań uczenia maszynowego dla Twojej firmy. Dzięki narzędziom ML AWS możesz dodawać nowe funkcje do swoich aplikacji, takie jak wykrywanie twarzy, chatboty, rozpoznawanie mowy, analiza sentymentu treści w mediach społecznościowych. AWS co kilka miesięcy dodaje nowe usługi ML, oparte na nowych przypadkach użycia, co czyni go jedną z najszybciej rozwijających się platform do tworzenia rozwiązań AI.
Opracuj przyszłościowe rozwiązanie do uczenia maszynowego z Miquido!