Jakub Chabik
Stado czarnych łabędzi
CIO powinien się niepokoić w czterech sytuacjach: gdy nie znajduje wspólnego języka z biznesem, gdy jego budżet jest niespodziewanie redukowany, gdy systemy „leżą” i nie chcą wstać oraz gdy przestaje rozumieć język, którym posługuje się jego branża. To ostatnie może mu towarzyszyć szczególnie w ostatnich miesiącach, kiedy coraz częściej obijają mu się o uszy takie terminy jak „głęboka sieć neuronowa”, „uczenie maszynowe”, „dekonwolucja”, „inżynieria cech” albo „tensor flow”. Wieje wiatr hi
storii, a to w informatyce najczęściej zwiastuje tzw. disruption – jakościową zmianę, która przeorywuje sposób myślenia o dziedzinie, relacje z biznesem, kompetencje zespołu IT i sposób zarządzania technologią.
Tak jest i tym razem. Przez informatykę idzie jednocześnie kilka wielkich fal, ale prawdziwą zmianę reguł gry może przynieść sztuczna inteligencja i uczenie maszynowe. Kiedy niecały rok temu komputer AlphaGo pokonał światowego arcymistrza w grę go, zapewne większość dyrektorów informatyki uznało to za interesujące zjawisko niedotyczące ich bezpośrednio. Tymczasem to klasyczny „czarny łabędź”, zwiastun fundamentalnej zmiany, która za chwilę zmieni reguły rządzące rynkiem i profesją informatyką: jednych wyniesie na szczyty, drugich strąci w niebyt. Chwilę później Amazon wprowadził na rynek Amazon Echo, domowego asystenta sterowanego głosem. Uczenie maszynowe i sztuczna inteligencja to dzisiaj fakty, a nie obietnice.
Zanim CIO na dobre rozwinie żagle, aby łapać wiatr historii, powinien zrobić szybki rachunek sumienia. Czy jego organizacja „przetrawiła” już temat big data? Czy zrealizowała jakiś projekt z dziedziny analizy obrazów, języka naturalnego, przetwarzania in-memory? Czy umie korzystać z bezpiecznej, korporacyjnej chmury? Czy zbiera i składuje dane o zachowaniu swoich klientów i o swoim biznesie i przetwarza je narzędziami business intelligence? Czy ma w swoich szeregach kogoś, kto zna się na logice rozmytej, teorii algorytmów albo każe się tytułować data scientist? Jeśli odpowiedź na połowę powyższych pytań brzmi „tak”, to jest dobra baza do zajęcia się uczeniem maszynowym i sztuczną inteligencją. Jeśli na każde brzmi nie – no, wtedy do nadrobienia będzie naprawdę sporo, a o wykorzystaniu współczesnych narzędzi będzie można pomyśleć w postaci „zamkniętych pudełek”, niestety, za duże pieniądze.
Ale właściwie do czego to użyć?
Zasadniczo: do wszystkiego. Uczenie maszynowe to generyczny mechanizm, w którym wykorzystujemy istniejące dane oraz narzędzia do „nauczenia” komputera pewnych reguł, które następnie pozwolą mu podejmować decyzje na nieznanym strumieniu danych. Tym, co odróżnia uczenie maszynowe od „zwykłego” algorytmu jest fakt, że nie musimy krok po kroku tłumaczyć JAK komputer ma zrealizować daną czynność. Nie ma tradycyjnych kroków, pętli i warunków; nie musimy rozumieć nawet, co konkretnie leży u podstaw danej decyzji. Oprogramowanie samo „odkrywa” niezbędne prawa i kroki, które pozwolą radzić sobie z podobnymi, choć nieidentycznymi sytuacjami.
Jeśli komuś wydaje się, że tak zaawansowane rozwiązania wymagają równie zaawansowanych zastosowań, to jest w błędzie. Pierwsze zastosowania mogą być całkiem prozaiczne – nie chodzi o to, żeby przynieść wielkie korzyści, a by poćwiczyć.
Rozważmy kilka przykładów, które ma w swojej stajni każdy CIO:
- Analiza logów niepoprawnych logowań użytkowników, aby odkryć, jakie prawidła rządzą wpisywaniem nieprawidłowych haseł, próbami logowania z innych maszyn – co pozwoli usprawnić politykę haseł i wykryć potencjalne luki bezpieczeństwa
- Wdrożenie technologii rozpoznawania obrazów w oddziałach firmy, aby móc liczyć wchodzących do oddziału klientów
- Analiza odwiedzin na firmowej stronie WWW, aby rozpoznać typowe ścieżki, którymi „chodzą” po serwisie i użyć tej informacji do usprawnienia jego użyteczności
- Analiza obciążenia Service Desk i wykorzystanie tej informacji w celu racjonalnego planowania zmian personelu na liniach wsparcia użytkowników
- Analiza danych z monitoringu infrastruktury, pozwalająca prognozować przyszłe zakupy mocy obliczeniowej nie poprzez wiedzę ekspercką (czyli tzw. guess-timate specjalistów), a poprzez maszynowe uczenie płynące z okresowych pików i długofalowych trendów
- Wstępna kwalifikacja wiadomości mailowych wchodzących do firmy pod kątem kategorii (czy zaliczają się do zapytań o ofertę, reklamacji, opinii, spamu)
- Tak zwana analiza sentymentu, czyli czy opinie z forów i mediów społecznościowych na temat firmy i jej produktów są raczej pozytywne, czy wręcz przeciwnie
W każdej, nawet stosunkowo małej i niedoinwestowanej organizacji, znajdą się odpowiednie zbiory danych, które będą mogły zostać wykorzystane do machine learning. Najłatwiej dostępne są zawsze logi – systemowe, sieciowe, baz danych. Na nich można rozpocząć pierwsze ćwiczenia, odkrywać pierwsze reguły, ćwiczyć sieci neuronowe, prowadzić inżynierię cech.
Machine learning – jak zacząć
Jak zwykle z poważną zmianą technologiczną, nie wystarczy po prostu zakup odpowiednich licencji. Trzeba pomyśleć o wdrożeniu kompleksowym. Technologia to jeden, stosunkowo prosty element. Na początek zresztą niczego nie trzeba kupować – na przykład biblioteka Tensor Flow została przez autorów (Google) udostępniona za darmo. Podobnie biblioteka Microsoftu (Azure ML) albo Amazon (Amazon AI).
Drugi element to jakiś projekt biznesowy. Konkretny, o jasno mierzalnym celu, osadzony w czasie i w zasobach ludzkich, z własnym budżetem. Dobrze byłoby, gdyby był realizowany z zainteresowanym partnerem biznesowym, który będzie partycypował w kosztach, ale także poświęci czas i energię swoich ludzi – z pełną świadomością, że może się zwyczajnie nie udać albo nie przydać. Pionierskie prace mają to do siebie, że często nie przynoszą od razu spodziewanego efektu, za to dają rezultaty w zupełnie innym, niespodziewanym obszarze – więc warto też być wyrozumiałym i tolerancyjnym.
Trzeci – wiedza. To najważniejsze, co firma powinna pozyskać. Praktycznie nie ma w tej chwili na rynku fachowców, którzy mają bogate i realne doświadczenia z dziedziny sztuczne inteligencji i uczenia maszynowego. Warto zatrudnić specjalistów od big data – ale jeszcze bardziej warto zainwestować w literaturę i szkolenia. Dobrym pomysłem może być partnerstwo z jednostką akademicką, która takie badania prowadzi. Wdrożenie rozwiązania typu win-win (uczelnia robi nadania, studenci zrobią pracę dyplomową, firma pozyska wiedzę) będzie wymagała dużej finezji w poruszaniu się na styku światów biznesu i nauki, ale opłaci się na pewno.
Czwarty – odpowiednie wsparcie kierownictwa. Bez niego pionierskie prace, na dodatek bez jasnego, mierzalnego efektu, szybko przegrają rywalizację o czas i zasoby. CIO nie powinni mieć z tym problemu, bo doskonale rozumieją, że na technologicznej przewadze budowane jest jutrzejsze powodzenie firmy – i warto inwestować w nowinki, nawet jeśli nie wszystkie się udają, a efekty są trudno mierzalne.
Powoli, ale do przodu
Jednak zasadniczą umiejętnością dyrektora informatyki jest odróżnianie rewolucji prawdziwych od pozornych, rzeczywistych przełomów od usprawnień, wartości biznesowej od marketingowego hype’u. W przypadku uczenia maszynowego będzie to szczególnie potrzebne, bo – jak w każdej dojrzewającej rewolucji – łatwo zainwestować w coś, co okaże się później ślepą uliczką.
Jak odróżnić dobre od lepszego, a ciekawe od potrzebnego? Mam trzy rady.
Pierwsza – kierować się raczej instynktem niż danymi. Jak w każdej rewolucji, bieg zdarzeń trudno jest prognozować. CIO widział już niejedną, nie powinien mieć problemu z wyczuciem subtelnych sygnałów, które świadczą o tym, że jedne technologie się przyjmują, a inne pozostają w sferze obietnic. Trzeba pamiętać, ze każda technologia ma swój czas i swój obszar zastosowań. Coś, co sprawdzi się w sprzedaży, niekoniecznie sprawdzi się w zarządzaniu poziomem zapasów i vice versa.
Stąd wynika druga rada – być agile. Bardziej niż wyznaczanie długofalowych celów liczy się elastyczność. A więc – dwu, trzytygodniowe sprinty, weryfikacja rezultatów z klientem, refleksja i gotowość na zmianę. Także taką, która dotyczy fundamentalnych celów – a nawet zatrzymania całego projektu.
Trzecia – wysilić wyobraźnię. Uczenie maszynowe – czy, szerzej, sztuczna inteligencja – może dojść do wniosków zupełnie niespodziewanych, nawet przeciwnych niż te, które moglibyśmy jej przypisywać. Nawet takich, które okażą się policzalnie trudne do zaakceptowania – np. o słabych perspektywach rodziny produktów, która jest oczkiem w głowie szefa marketingu.
Uczenie maszynowe to dużo, ale to nie wszystko. Publicyści opisują najbardziej spektakularne „wpadki” uczenia maszynowego – np. podniesienie cen przewozów przez Ubera podczas zamachów terrorystycznych albo reklamowanie oferty firm pogrzebowych osobom, które właśnie odwiozły małżonka do szpitala.
Istotną częścią naszego „myślenia” jest moralność i kultura, której maszyny nie mają. Dlatego po raz kolejny warto doradzić ostrożność w stosowaniu uczenia maszynowego.