Skoro już wiemy, że żadni Terminatorzy nie zamierzają nas ścigać, to najwyższa pora oswoić się ze sztuczną inteligencją i zacząć czerpać z niej korzyści!
Przez długi czas, dziedzina Sztucznej Inteligencji, a zwłaszcza jej najbardziej znana podkategoria – Uczenie Maszynowe, były owiane tajemnicą. Media rozpisywały się o nadchodzącym buncie superinteligentnych, niezależnych i złych maszyn, co wielu wpędziło w niepokój (włączając mnie).
A co mamy dzisiaj, po tym całym zamieszaniu? Technologię AI, która wciąż jest niedoskonała, zalicza żenujące wpadki i ograniczonego, nieporadnego robota, któremu niemal na siłę nadano obywatelstwo. Prawda jest taka, że nie opracowaliśmy jeszcze nawet solidnego algorytmu tłumaczenia języków.
Jeśli ktoś nadal twierdzi, że zbliża się koniec świata, odpowiem krótko:
Zatem czym właściwie jest AI, ML i te wszystkie popularne hasła, jeśli nie zwiastunem zagłady?
To po prostu nowe sposoby programowania komputerów, by rozwiązywały problemy związane z klasyfikacją i prognozowaniem. Co więcej, nareszcie mamy dostęp do wielu usług AI, z których można od razu korzystać w biznesie, co przynosi ogromne korzyści.
Jakie konkretnie korzyści mogą dać platformy AI firmom?
To istotne pytanie!
Sztuczna inteligencja ma tak uniwersalne zastosowanie (przynajmniej w teorii), że trudno wskazać jej jedno konkretne przeznaczenie. To trochę jak pytanie, do czego służy arkusz kalkulacyjny. Owszem, początkowo był przeznaczony dla księgowości, ale dzisiaj jego zastosowanie jest znacznie szersze. Używa się go do zarządzania projektami, tworzenia list zadań, baz danych i wielu innych celów.
Podobnie jest z AI.
W skrócie, sztuczna inteligencja doskonale sprawdza się w zadaniach, które nie są precyzyjnie zdefiniowane i bazują na uczeniu się na podstawie doświadczeń. To samo robią ludzie, ale AI ma znaczącą przewagę – potrafi w błyskawicznym tempie przetwarzać ogromne ilości danych i wyciągać wnioski o wiele szybciej. Oto kilka typowych zastosowań sztucznej inteligencji:
- Rozpoznawanie twarzy na zdjęciach, filmach itp.
- Kategoryzowanie i oznaczanie obrazów, np. w celu uzyskania porad dotyczących treści
- Konwertowanie mowy na tekst
- Rozpoznawanie obiektów na mediach (np. samochód, kobieta itp.)
- Prognozowanie zmian cen akcji
- Wykrywanie finansowania terroryzmu (wśród milionów transakcji dziennie)
- Systemy rekomendacji (zakupy, muzyka, znajomi itp.)
- Łamanie captcha
- Filtrowanie spamu
- Wykrywanie włamań do sieci
Mógłbym tak wymieniać bez końca, ale myślę, że już rozumiesz ideę. To są przykłady zadań, z którymi ludzie borykali się, próbując je rozwiązać za pomocą tradycyjnych metod komputerowych. Jednocześnie mają one ogromne znaczenie dla biznesu i świata rzeczywistego.
Przejdźmy zatem bez zbędnych ceregieli do listy najlepszych platform AI i zobaczmy, co mają do zaoferowania.
Usługi Amazon AI
Amazon w szybkim tempie wypiera inne firmy z rynku, a AWS dominuje jako platforma do tego stopnia, że trudno wyobrazić sobie coś innego. Podobnie jest z Usługami Amazon AI, które oferują mnóstwo niezwykle przydatnych narzędzi AI.
Oto kilka z niesamowitych usług oferowanych przez AWS:
Amazon Comprehend: Pomaga w analizie ogromnych ilości nieustrukturyzowanych danych tekstowych. Jednym z przykładów zastosowania jest analiza zapisów rozmów z działem obsługi klienta, aby określić poziom zadowolenia, główne obawy klientów, najczęściej używane słowa kluczowe itp.
Amazon Forecast: usługa niewymagająca konfiguracji, która na podstawie istniejących danych szeregów czasowych tworzy dokładne prognozy na przyszłość. Jeśli nie wiesz, czym są dane szeregów czasowych, zapraszam do artykułu, w którym opisałem to zagadnienie (szukaj sekcji bazy danych o nazwie Skala czasu pod koniec tekstu).
Amazon Lex: Umożliwia tworzenie konwersacyjnych interfejsów (tekstowych i/lub wizualnych) w aplikacjach. W tle działają wyszkolone modele uczenia maszynowego Amazon, które dekodują intencje i na bieżąco przetwarzają mowę na tekst.
Amazon Personalize: Prosta i niewymagająca infrastruktury usługa do tworzenia rekomendacji dla klientów! Możesz wprowadzić do niej dane e-commerce lub niemal dowolne inne i cieszyć się bardzo trafnymi i interesującymi sugestiami. Oczywiście im większy zbiór danych, tym lepsze będą rekomendacje.
Amazon oferuje wiele innych usług AI, które można przeglądać niemal cały dzień. Niemniej jednak, gorąco do tego zachęcam!
Wskazówka: Trudno jest znaleźć podsumowanie wszystkich tych usług w dokumentacji AWS, ale jeśli wejdziesz na stronę https://aws.amazon.com/machine-learning, to znajdziesz je w rozwijanym menu w sekcji „Usługi AI”.
TensorFlow
TensorFlow to biblioteka (a także platforma) stworzona przez zespół Google Brain. Jest to implementacja poddziedziny ML zwanej głębokimi sieciami neuronowymi; inaczej mówiąc, TensorFlow to podejście Google do uczenia maszynowego za pomocą sieci neuronowych i technik głębokiego uczenia.
Oczywiście TensorFlow nie jest jedynym sposobem na korzystanie z sieci neuronowych – istnieje wiele bibliotek, z których każda ma swoje zalety i wady.
Ogólnie rzecz biorąc, TensorFlow zapewnia podstawowe możliwości uczenia maszynowego dla wielu różnych środowisk programistycznych. Platforma bazowa jest dość wizualna i opiera się w dużej mierze na wykresach i wizualizacjach danych. Dzięki temu nawet osoby, które nie są programistami, mogą przy odrobinie wysiłku osiągnąć dobre rezultaty.
Historycznie rzecz biorąc, celem TensorFlow była „demokratyzacja” uczenia maszynowego. Z tego, co wiem, była to pierwsza platforma, która uczyniła ML tak prostym, wizualnym i dostępnym. W efekcie nastąpił gwałtowny wzrost wykorzystania ML, a użytkownicy mogli łatwo trenować modele.
Najważniejszym atutem TensorFlow jest Keras, biblioteka do efektywnej pracy z sieciami neuronowymi w sposób programowy. Oto, jak łatwo stworzyć prostą, w pełni połączoną sieć (perceptron):
model = tf.keras.Sequential() # Dodaje warstwę gęsto połączoną z 64 jednostkami do modelu: model.add(layers.Dense(64, activation='relu')) # Dodaje kolejną: model.add(layers.Dense(64, activation='relu')) # Dodaje warstwę softmax z 10 jednostkami wyjściowymi: model.add(layers.Dense(10, activation='softmax'))
Oczywiście konfiguracja, szkolenie itp. również muszą zostać wykonane, ale są równie proste.
Trudno znaleźć wady TensorFlow, biorąc pod uwagę, że wprowadził ML do JavaScript, urządzeń mobilnych, a nawet rozwiązań IoT. Jednak w oczach purystów jest to „zbyt prosta” platforma. Zatem, przygotuj się na opór, gdy będziesz piął się po drabinie umiejętności i spotkasz bardziej „oświecone” dusze.
Jeśli jesteś początkujący, sprawdź ten kurs wprowadzający do TensorFlow.
Uwaga: W niektórych krytykach TensorFlow pojawiały się zarzuty, że nie obsługuje procesorów graficznych, co nie jest już prawdą. Dzisiaj TensorFlow nie tylko współpracuje z GPU, ale Google opracowało również swój wyspecjalizowany sprzęt o nazwie TPU (TensorFlow Processing Unit), który jest dostępny jako usługa w chmurze.
Usługi Google AI
Podobnie jak Amazon, Google również oferuje pakiet usług chmurowych związanych ze sztuczną inteligencją. Nie będę wymieniał wszystkich, ponieważ są one dość podobne do oferty Amazon. Poniżej znajduje się zrzut ekranu z przykładami tego, co programiści mogą tworzyć:
Ogólnie rzecz biorąc, istnieją dwa sposoby korzystania z usług AI Google. Pierwszy to wykorzystanie modelu, który został już przeszkolony przez Google i rozpoczęcie stosowania go w swoich produktach. Drugi to tak zwana usługa AutoML, która automatyzuje niektóre pośrednie etapy uczenia maszynowego, ułatwiając na przykład programistom full stack z mniejszym doświadczeniem w ML tworzenie i trenowanie modeli.
H2O
Liczba 2 w H2O powinna być w indeksie dolnym (przypominam wzór chemiczny wody), ale trudno mi ją wpisać. Mam nadzieję, że ludziom z H2O to nie przeszkadza!
H2O to platforma open-source do uczenia maszynowego, z której korzystają największe firmy z listy Fortune 500.
Głównym celem jest udostępnienie najnowszych osiągnięć w dziedzinie sztucznej inteligencji szerokiemu gronu odbiorców, zamiast pozostawiać je jedynie w rękach bogatych firm. Platforma H2O oferuje kilka produktów, takich jak:
- H2O: podstawowa platforma do eksploracji i korzystania z uczenia maszynowego.
- Sparkling Water: oficjalna integracja z Apache Spark do analizy dużych zbiorów danych.
- H2O4GPU: wersja platformy H2O przyspieszana przez GPU.
H2O tworzy również rozwiązania dostosowane do potrzeb przedsiębiorstw, takie jak:
- Driverless AI: Nie, Driverless AI nie ma nic wspólnego z autonomicznymi samochodami! 🙂 To bardziej rozwiązanie w stylu Google AutoML – większość etapów AI/ML jest zautomatyzowana, co ułatwia i przyspiesza tworzenie narzędzi.
- Płatne wsparcie: Duże firmy nie mogą czekać na reakcję w odpowiedzi na zgłoszenie problemu na GitHub. Jeśli czas to pieniądz, H2O oferuje płatne wsparcie i doradztwo.
Petuum
Petuum rozwija platformę Symphony, która została stworzona z myślą o AI typu „nie zmuszaj mnie do myślenia”. Innymi słowy, jeśli masz dość kodowania i/lub nie chcesz uczyć się nowych bibliotek i formatów wyjściowych, Symphony będzie dla ciebie jak wakacje w Alpach!
Mimo że platforma Symphony nie jest „open-source”, to warto na nią zwrócić uwagę, ze względu na:
- Interfejs użytkownika typu „przeciągnij i upuść”.
- Możliwość łatwego tworzenia interaktywnych potoków danych.
- Mnóstwo standardowych i modułowych elementów do budowania bardziej zaawansowanych aplikacji AI.
- Interfejsy programistyczne dla tych, którzy uważają, że wizualny sposób pracy nie jest wystarczająco wydajny.
- Zautomatyzowaną optymalizację z wykorzystaniem GPU.
- Rozproszoną i wysoce skalowalną platformę.
- Agregację danych z wielu źródeł.
Jest wiele innych funkcji, dzięki którym bariera wejścia wydaje się być znacznie niższa. Gorąco polecam!
Polyaxon
Największym wyzwaniem w dzisiejszym uczeniu maszynowym i sztucznej inteligencji nie jest znalezienie dobrych bibliotek i algorytmów (ani nawet zasobów edukacyjnych), ale wykwalifikowane podejście inżynierskie, które pozwala na zarządzanie potężnymi systemami i ogromnymi zbiorami danych.
Nawet dla doświadczonych inżynierów oprogramowania może to być zbyt trudne. Jeśli też tak uważasz, Polyaxon jest warty sprawdzenia.
Polyaxon nie jest biblioteką ani frameworkiem; to raczej kompleksowe rozwiązanie do zarządzania wszystkimi aspektami uczenia maszynowego, takimi jak:
- Połączenia danych i przesyłanie strumieniowe
- Przyspieszenie sprzętowe
- Konteneryzacja i orkiestracja
- Planowanie, przechowywanie i bezpieczeństwo
- Pipelining, optymalizacja, śledzenie itp.
- Dashboard, API, wizualizacje itp.
Platforma jest niemal niezależna od bibliotek i dostawców, ponieważ obsługuje wiele popularnych rozwiązań (zarówno open-source, jak i zamkniętych).
Oczywiście, nadal trzeba się mierzyć z wdrażaniem i skalowaniem na pewnym poziomie. Jeśli chcesz tego uniknąć, Polyaxon oferuje rozwiązanie PaaS, które pozwala elastycznie korzystać z ich infrastruktury.
DataRobot
Mówiąc wprost, DataRobot to dedykowane rozwiązanie do Machine Learning dla przedsiębiorstw. Jest w pełni wizualne i zostało zaprojektowane tak, aby szybko analizować dane i wykorzystywać je w konkretnych zastosowaniach biznesowych.
Interfejs jest intuicyjny i estetyczny, dzięki czemu nawet osoby bez doświadczenia mogą generować wartościowe informacje.
DataRobot nie oferuje wielu różnych funkcji; zamiast tego koncentruje się na podstawowych zadaniach związanych z danymi i zapewnia solidne możliwości w zakresie:
- Zautomatyzowanego uczenia maszynowego
- Regresji i klasyfikacji
- Analizy szeregów czasowych
To wszystko, czego większość firm potrzebuje. Dlatego w wielu przypadkach DataRobot w zupełności wystarczy.
Neural Designer
Skoro już mowa o łatwych w obsłudze, potężnych platformach AI, to Neural Designer zasługuje na szczególną uwagę.
O Neural Designerze można powiedzieć niewiele, ale ma wiele do zaoferowania! Biorąc pod uwagę, że sieci neuronowe w mniejszym lub większym stopniu zdominowały nowoczesne metody uczenia maszynowego, warto pracować z platformą, która koncentruje się wyłącznie na nich. Zero rozpraszania uwagi – jakość ponad ilość.
Neural Designer wyróżnia się na wiele sposobów:
- Nie wymaga programowania. W ogóle.
- Nie wymaga skomplikowanego budowania interfejsu. Wszystko jest ułożone w logiczne, łatwe do zrozumienia i uporządkowane kroki.
- Zapewnia dostęp do najbardziej zaawansowanych i dopracowanych algorytmów specyficznych dla sieci neuronowych.
- Wykorzystuje równoległe przetwarzanie i akcelerację GPU dla wysokiej wydajności.
Czy warto zerknąć? Zdecydowanie!
Prevision.io
Prevision.io to platforma do zarządzania wszystkimi aspektami uczenia maszynowego, od przetwarzania danych po wdrożenia na dużą skalę.
PredictionIO
Jeśli jesteś programistą, PredictionIO to bardzo przydatne narzędzie, które powinieneś rozważyć. U podstaw PredictionIO leży platforma uczenia maszynowego, która pobiera dane z twojej aplikacji (internetowej, mobilnej lub innej) i szybko generuje prognozy.
Nie daj się zwieść nazwie – PredictionIO nie służy tylko do przewidywania, ale obsługuje pełne spektrum uczenia maszynowego. Oto kilka powodów, dla których warto je polubić:
- Wsparcie dla klasyfikacji, regresji, rekomendacji, NLP i wielu innych.
- Zaprojektowany do obsługi dużych obciążeń w środowisku Big Data.
- Kilka gotowych szablonów dla tych, którzy nie chcą tracić czasu.
- Dostarczany wraz z Apache Spark, MLlib, HBase, Akka HTTP i Elasticsearch, co zaspokaja wszelkie możliwe potrzeby nowoczesnej aplikacji.
- Pobieranie połączonych danych z wielu źródeł, zarówno wsadowo, jak i w czasie rzeczywistym.
- Wdrożony jako standardowa usługa sieciowa – łatwa w użyciu i udostępnianiu.
W większości projektów internetowych PredictionIO ma ogromny sens. Zachęcam do wypróbowania!
Podsumowanie
Obecnie nie brakuje frameworków i platform AI i ML; wybór jest ogromny i byłem tym przytłoczony, kiedy zaczynałem zbierać informacje do tego artykułu. Dlatego starałem się ograniczyć listę do tych najbardziej unikalnych lub interesujących. Jeśli uważasz, że coś ważnego pominąłem, koniecznie daj mi znać.
Coursera oferuje kilka świetnych kursów z zakresu uczenia maszynowego, więc jeśli jesteś zainteresowany, warto je sprawdzić.
Która platforma jest najlepsza? Niestety nie ma jednoznacznej odpowiedzi. Jednym z powodów jest to, że większość tych usług jest powiązana z konkretnym stosami technologicznymi lub ekosystemami (tworząc tzw. „zamknięte ogrody”). Drugi, ważniejszy powód to fakt, że technologie AI i ML zostały skomercjalizowane i trwa wyścig o zapewnienie jak największej ilości funkcji w jak najniższej cenie. Żaden sprzedawca nie może pozwolić sobie na nieoferowanie tego, co oferują inni, a każda nowa propozycja jest kopiowana i adaptowana przez konkurencję niemal z dnia na dzień.
Dlatego wszystko sprowadza się do tego, jaki masz stos i cele, jak intuicyjna jest usługa, jakie jest Twoje postrzeganie firm, które za nią stoją i tak dalej.
Niezależnie od wszystkiego, warto podkreślić, że sztuczna inteligencja jest wreszcie dostępna jako usługa i nierozsądnie byłoby z niej nie korzystać.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.