W powszechnym mniemaniu sztuczna inteligencja to coś rodem ze (zbliżającej się wielkimi krokami) przyszłości, w której – w skrajnie antyutopijnych wizjach inteligentne roboty przejmują kontrolę nad światem. W rzeczywistości rozwiązania wykorzystujące SI są już teraz elementem naszego życia. Z wielu z nich korzystamy na co dzień, często nie zdając sobie z tego nawet sprawy. Czy więc sztuczna inteligencja to po prostu kolejna technologia – podobna do wszystkich innych systemów i aplikacji IT? I jak dokładnie wygląda proces wdrożenia takiego rozwiązania?
Spis treści – czego dowiesz się z artykułu?
Czym różni się projekt AI od innych projektów IT?
Podstawowe różnice pomiędzy projektami angażującymi sztuczną inteligencję oraz pozostałymi projektami wdrożenia oprogramowania wynikają raczej ze stopnia rozwoju danej dziedziny i naszego doświadczenia w tworzeniu i stosowaniu pewnych rozwiązań, niż z różnic wynikających z charakteru samej sztucznej inteligencji.
Oznacza to tyle, że pewne rozwiązania były rozwijane i ulepszane od wielu lat i w świecie IT mieliśmy wystarczająco dużo czasu na to, aby wypracować dla nich procesy i metody, które są niezawodne, podczas gdy inne, cały czas mają charakter eksperymentalny – bez względu na to, czy wykorzystują sztuczną inteligencję, czy też nie.
Dobrym przykładem jest tu OCR, czyli Optical Character Recognition – odczytywanie tekstu z plików graficznych i przekształcanie sczytanego tekst do formatu zdatnego do edycji.
OCR (potem ICR – Intelligent Character Recognition) wykorzystuje mechanizmy sztucznej inteligencji, a jednak wdrożenie tej technologii nie stanowi wielkiego wyzwania i zapewne niewiele osób zastanawia się w ogóle, jaki mechanizm za nią stoi. Jako standardowa usługa online OCR jest dostępny od początku lat 2000.
Jednak rozwiązania AI/ML wykorzystywane na szeroką skalę to wciąż stosunkowo nowa dziedzina, dlatego większość takich projektów ma charakter badawczo-rozwojowy. Można je porównać do wypraw odkrywczych: bardzo ryzykownych, pełnych niewiadomych i ciągle pojawiających się problemów czekających na rozwiązanie. Do tego charakteryzują się bardzo wysokim prawdopodobieństwem porażki.
Warto podkreślić, że w projektach AI/ML wyjątkowo ważną rolę odgrywają dane. W typowym projekcie IT relatywnie proste zestawy danych są analizowane przez człowieka, który na tej podstawie układa odpowiednie algorytmy. W projekcie AI/ML zajmujemy się problemami, w których danych jest tak dużo i są na tyle złożone, że nie jesteśmy sobie w stanie z nimi poradzić stosując zwykłe algorytmy.
Dane odgrywają tu też znacznie ważniejszą rolę w samym procesie budowania rozwiązania, niż w przypadku innych wdrożeń IT – to od danych zależy, jak wykorzysta je sztuczna inteligencja przy różnych modelach, które próbujemy.
To właśnie uzależnienie od danych oraz relatywnie wczesne stadium rozwoju dziedziny, jaką jest AI/ML, ma decydujący wpływ na to, że niemal 80% projektów kończy się niepowodzeniem. Jednak te realizacje, które zostaną doprowadzone do końca i okażą się sukcesem, przynoszą ogromne, wymierne korzyści.
Jak więc pogodzić chęć stosowania najbardziej nowoczesnych rozwiązań, wykorzystujących AI/ML, z oczywistymi obawami przed angażowaniem się w projekty, które z dużym prawdopodobieństwem zakończą się niepowodzeniem, a do tego będą się wiązały z niebagatelnymi kosztami?
Odpowiedzią na to pytanie jest: odpowiednio zaprojektowany proces wdrażania rozwiązań bazujących na AI, który ma za zadanie jak najtrafniej określić potrzeby i oczekiwania klientów oraz zminimalizować ryzyko niepowodzenia projektu.
W dalszej części artykułu przedstawiamy główne etapy projektu wdrożenia rozwiązania bazującego na sztucznej inteligencji. Dla lepszego zobrazowania posłużymy się przykładem.
Krok 1 – poznanie problemu i oczekiwań klienta
Na samym początku tworzymy hipotezę biznesową (hipotetyczny business case), którą będziemy weryfikować w kolejnym etapie procesu. Na podstawie wywiadu z klientem definiujemy problem, określamy wstępne założenia projektu oraz efekty, jakie dla klienta byłyby satysfakcjonujące w zakresie jakości, jak również konkretnego zwrotu z inwestycji (ROI) – wymiernych zysków i korzyści.
Jednym słowem, ustalamy z klientem, jaki efekt działania rozwiązania AI uznałby za sukces. Warto podkreślić, że korzyści nie muszą kończyć się na oszczędnościach wynikających z zastosowania rozwiązania wykorzystującego AI w jednym konkretnym procesie (w naszym przypadku byłby to proces sczytywania dokumentów).
W wyliczeniach warto też wziąć pod uwagę korzyści pośrednie – wynikające np. z faktu, że osoby zaangażowane w proces, który teraz będzie obsługiwać rozwiązanie AI, mogą przeznaczyć swój czas na wykonanie innych zadań. Zysków możemy też szukać w innych miejscach w firmie, w innych procesach, które, pośrednio usprawnimy, dzięki wykorzystaniu sztucznej inteligencji.
Jak wspomnieliśmy, projekty wykorzystujące AI są obarczone dużym ryzykiem, dlatego zawsze staramy się znaleźć alternatywne wyjścia, które, być może, sprawdzą się lepiej w danym przypadku.
Sam fakt, że klient zwraca się do nas z pomysłem rozwiązania swojego problemu z pomocą sztucznej inteligencji nie oznacza jeszcze, że rzeczywiście jest to najlepsza opcja. Ze względu na czasochłonność, koszty i dużą niepewność projektów AI, zalecamy takie wdrożenia tylko w przypadkach, gdy mają one faktycznie szanse przynieść klientowi o wiele większe korzyści niż inne alternatywy.
Warto jednak zaznaczyć, że wiele zależy od strategii samego klienta – jedna firma może nie zdecydować się na zastosowanie AI, ponieważ będzie w stanie uzyskać podobny zwrot z inwestycji bardziej konwencjonalnymi środkami, podczas gdy inna, mimo podobnych uwarunkowań zdecyduje się na wdrożenie, ponieważ istotnym aspektem będzie też element prestiżu, jaki niesie ze sobą rozwiązanie działające w oparciu o AI.
- jak dużym zakresem danych dysponuje,
- od jak dawna zbiera dane,
- w jakim tempie i w jakich ilościach może je zbierać.
Na samym początku współpracy, w którym de facto dopiero rozpoznajemy temat, klient zyskuje świadomość tego:
- jak wygląda proces wdrożenia rozwiązania AI/ML,
- jakie są możliwe wyniki w każdym z etapów procesu,
- jakie potencjalne ryzyka wiążą się z każdym z nich.
Automatyzacja wprowadzania danych zawartych w dokumentach do systemu – przykład
Problem
Klient posiada dużą liczbę dokumentów (aktów prawnych), które trzeba wprowadzić do systemu. Zadanie polega na sczytaniu odpowiednich kategorii danych zamieszczonych w aktach prawnych, np. imion i nazwisk właścicieli czy adresu nieruchomości. To właśnie na tych danych będzie pracować sztuczna inteligencja. Skala zadania jest na tyle duża, że ręczne wprowadzanie danych byłoby bardzo praco- i czasochłonne.
Krok 1 – tworzenie hipotezy biznesowej
Aby ocenić jakie wyjście jest najlepsze dla klienta i czy warto w tym przypadku zastosować rozwiązanie wykorzystujące AI, zbadaliśmy z jakim rodzajem i jakimi ilościami danych mamy do czynienia:
- Ile stron dokumentów trzeba wprowadzić do systemu w ciągu miesiąca?
- Ile atrybutów (kategorii danych) trzeba uzupełnić dla każdego dokumentu?
- Jak proces wprowadzania danych z dokumentów wyglądał do tej pory?
- Z jakimi nakładami czasu i pracy się wiązał?
Sprawdziliśmy jakie są alternatywne rozwiązania problemu i jaka byłaby ich opłacalność względem rozwiązania wykorzystującego sztuczną inteligencję. Przykładowo, czy nie bardziej opłacalnie byłoby:
- kontynuowanie z dotychczasową praktyką ręcznego wprowadzania danych z dokumentów do systemu?
- zlecić wprowadzanie danych wyspecjalizowanej firmie zewnętrznej?
Po obliczeniu kosztów związanych z każdą z tych opcji oraz weryfikacji budżetu, klient zdecydował się na pójście w kierunku wdrożenia sztucznej inteligencji.
Krok 2 – Weryfikacja hipotezy biznesowej z kroku 1. i budowa uzasadnienia biznesowego (business case)
Załóżmy, że po zweryfikowaniu wstępnych założeń, określeniu budżetu i wstępnego zwrotu z inwestycji (ROI) oraz rozpatrzeniu alternatywnych ścieżek rozwiązania problemu, klient decyduje się na wdrożenie rozwiązania bazującego na sztucznej inteligencji (AI).
Wówczas rozpoczyna się kolejny etap (nazwijmy go krokiem 2.). To cały czas wczesna faza projektu, w której weryfikowana jest hipoteza biznesowa i założenia z kroku 1. Na tym etapie wciąż jest daleko do faktycznej budowy rozwiązania AI.
W etapie 2 tworzymy business case – uzasadnienie biznesowe wdrażanego projektu, które przedstawia założenia i opłacalność realizacji. Weryfikujemy również wstępne ROI wyliczone w poprzednim kroku – tworzenia hipotezy biznesowej. Analizujemy, jakie są dotychczasowe koszty prowadzenia projektu i bazując na tych informacjach, określamy czy jesteśmy w stanie zmieścić się w zakładanym budżecie.
Charakter projektów AI sprawia, że trudno jest dokładnie zdefiniować koszty projektu. Takie próby są jednak niezbędne, ponieważ budżet jest jednym z tych czynników, które mają duży wpływ na podjęcie decyzji o wejście na ścieżkę wdrożenia AI. Jeśli klient nie dysponuje odpowiednimi środkami, przechodzenie do kolejnych etapów projektu nie ma sensu.
Jeśli zbyt mały budżet to jedyne co stoi na drodze do pełnego wdrożenia, innym wyjściem jest zastosowanie sztucznej inteligencji tylko w ograniczonym zakresie. W ten sposób klient nie przekracza budżetu i otrzymuje rozwiązanie jakiejś części swojego problemu. Takie wyjście może przynieść wystarczająco duże korzyści, żeby rozpatrzyć tę opcję.
W tej fazie klient dostarcza nam dane, które wykorzystujemy do zbudowania prototypowego modelu AI i które w fazie produkcyjnej będą wykorzystywane przez sztuczną inteligencję. To w tym momencie oceniamy jaką wartość mają te dane w kontekście problemu, jaki mamy do rozwiązania i jakich środków użyjemy, do wydobycia z nich wartości w kontekście wykorzystania przez AI. Jeśli na tym etapie, nie mamy takiej pewności, przeprowadzamy odpowiednie testy.
Dla zwiększenia szans powodzenia projektu bardzo ważne jest, aby klient zadbał nie tylko o dużą ilość danych, ale przede o wszystkim dane dobrej jakości. Powszechnym nieporozumieniem jest zakładanie, że wystarczy dysponować dużymi ilościami danych, aby modele AI działały dobrze.
O wiele istotniejsza jest jednak jakość tych danych. Jest to na tyle ważne, że istnieją oddzielne stanowiska osób, których głównym obowiązkiem jest weryfikacja jakości danych, które potem są wykorzystywane w uczeniu maszynowym czy modelach wykorzystujących sztuczną inteligencję.
Co dokładniej oznaczają dane dobrej jakości? Istotne jest m.in. to, żeby próbka była reprezentatywna w stosunku do wszystkich gromadzonych danych, żeby nie było w nich luk, żeby pochodziły z tego samego środowiska, co dane wykorzystywane w środowisku produkcyjnym i żeby dane nie były przetworzone (przetworzone dane mogą nieść mniej informacji niż dane pierwotne).
W ramach tworzonego uzasadnienia biznesowego (business case) określamy współczynniki (m.in. jakościowe dotyczące, precyzji i czułości rozwiązania oraz czasu odpowiedzi). Dalej definiujemy założenia ilościowe i projektujemy architekturę rozwiązania: wykorzystywane technologie, środowisko w jakim będzie działać rozwiązanie (chmura, infrastruktura klienta, środowisko hybrydowe). Wreszcie, tworzymy wycenę.
Jako podsumowanie kroku 2. klient otrzymuje dokument – swego rodzaju raport, na podstawie którego podejmuje decyzję o wdrażaniu lub niewdrażaniu rozwiązania opartego o AI.
Etap ten wiąże się z kilkudziesięcioma dniami pracy oraz szacunkowymi kosztami rzędu 60 000 – 100 000 PLN. Choć może się to wydawać sporą kwotą, jest to nadal mniejsza część całkowitego kosztu wdrożenia rozwiązania AI, dlatego istotne jest, aby przeprowadzić go jak najbardziej rzetelnie, aby przed podjęciem decyzji klient miał jak najbardziej dogłębną wiedzę na temat swojego problemu, rozwiązania, ryzyka, korzyści i kosztów, ale również dodatkowych korzyści wynikających pośrednio z wdrożenia rozwiązania.
Pozwoli to uniknąć nieporozumień na dalszych etapach projektu i ewentualnych rozczarowań, a także ograniczyć ryzyko i ewentualne straty finansowe. Jak wiadomo, im wcześniej wykryjemy jakiś problem, tym mniej będzie nas kosztowało jego naprawienie.
Zgodnie z zasadą 1:10:100, wykrycie problemów na etapie projektowania jest 10 razy tańsze niż wykrycie ich na etapie wdrażania.
Pod koniec kroku 2. klient:
- pogłębia swoją wiedzę na temat tego, jak wygląda projekt wykorzystujący AI: jakie są jego etapy i ryzyka,
- wie jak będzie wyglądało rozwiązanie AI, które odpowiadałoby na jego konkretny problem, jaka będzie architektura rozwiązania (na podstawie zbudowanego prototypowego modelu oraz wstępnego projektu rozwiązania),
- wie, z jakiego rzędu kosztami będzie się wiązać wdrożenie,
- na podstawie otrzymanego raportu zawierającego wyniki analizy danych klienta, wnioski oraz rekomendacje dotyczące zbierania danych w przyszłości, klient podejmuje decyzję o wdrożeniu rozwiązania lub wycofaniu się z projektu.
Automatyzacja wprowadzania danych zawartych w dokumentach do systemu – przykład
Krok 2 – analiza procesu, zaprojektowanie rozwiązania, wycena
- Na podstawie wywiadu spisaliśmy aktualny przebieg procesu wprowadzania danych z aktów prawnych do systemu oraz przebieg tego samego procesu w przypadku zastosowania rozwiązania wykorzystującego sztuczną inteligencję.
- Przeprowadziliśmy analizę danych – analizę dokumentów pod kątem zawartych w nich atrybutów oraz rządzących nimi powiązań (jakie kategorie danych zawierają dokumenty).
- Stworzyliśmy projekt rozwiązania – określiliśmy sposób, w jaki z dokumentów będą sczytywane poszczególne kategorie danych (jak pozyskamy poszczególne atrybuty).
- Przeprowadziliśmy eksperymenty zmniejszające ryzyko niepowodzenia – przeprowadziliśmy uczenie modeli i skonfigurowaliśmy procesy dla wybranych atrybutów (kategorii danych, które będą sczytywane z dokumentów), aby ocenić jakość wyników.
- Przeprowadziliśmy kilka iteracji tego procesu.
- Opracowaliśmy architekturę rozwiązania.
- Opracowaliśmy założenia, w tym jakościowe – określające m.in. dokładność wyników, minimalną liczbę stron dokumentów przetwarzanych miesięcznie, itp.
- Stworzyliśmy wycenę pracy i ofertę gotową do przedstawienia klientowi.
Krok 3 – wdrożenie
Tak więc dotarliśmy do etapu wdrożenia rozwiązania! Problem biznesowy został właściwie zdefiniowany, klient zdecydował się iść w stronę rozwiązania AI, uzasadnienie biznesowe zostało pomyślnie zweryfikowane i klient podjął decyzję – wdrażamy!
Na tym etapie budujemy właściwy system AI/ML. W tym celu przygotowujemy dane uczące i testowe, tworzymy modele AI/ML, które następnie testujemy i dostrajamy. Przeprowadzamy także testy wydajnościowe i FAT.
Po pozytywnym przejściu wszystkich testów rozwiązanie jest udostępniane i integrowane z procesami biznesowymi klienta. Następnie uruchamiamy je produkcyjnie – w formie, w jakiej ma być wykorzystywane przez użytkowników. Cały czas monitorujemy też jego pracę i douczamy nowo dostarczanymi danymi. W tej fazie prowadzimy także szkolenia dla użytkowników rozwiązania.
Tutaj warto jeszcze raz podkreślić specyfikę systemów wykorzystujących sztuczną inteligencję. W odróżnieniu od standardowych rozwiązań IT, których efektywność w zasadzie nie wzrasta z upływem czasu, douczanie modeli AI umożliwia poprawę jakości wyników i dostosowywanie się do zmieniających się danych. Nieco jak mózg – model AI ma zdolność uczenia się na podstawie nowo pojawiających się informacji i elastycznego dopasowywania się do zmieniających się warunków.
[Większe zyski dzięki prognozom produkcji energii ze źródeł odnawialnych (globema.pl)]
Pod koniec kroku 3 projektu posiadamy:
- gotowe, odpowiednio dostrojone rozwiązanie AI/ML,
- działający system zintegrowany z procesami biznesowymi klienta.
Automatyzacja wprowadzania danych zawartych w dokumentach do systemu – przykład
Krok 3 – budowa i wdrożenie systemu
- Przygotowaliśmy dane uczące i testowe (oznaczyliśmy kategorie i atrybuty na pełnej puli dokumentów przeznaczonych do testowania i nauczania modeli AI).
- Przeprowadziliśmy proces uczenia modeli – z użyciem przygotowanych dokumentów i przetestowaliśmy ich jakość.
- Zbudowaliśmy, zainstalowaliśmy, uruchomiliśmy i przetestowaliśmy funkcjonalne rozwiązanie.
- Uruchomiliśmy rozwiązanie w wersji produkcyjnej – dla klienta.
Krok 4 – utrzymanie systemu
Po etapie wdrożenia i uruchomienia wersji produkcyjnej rozwiązania praca się nie kończy. Czuwamy nad tym, aby rozwiązanie działało prawidłowo, doradzamy, ewentualnie wprowadzamy pewne zmiany, jeśli zajdzie taka potrzeba.
Krótkie podsumowanie wszystkich kroków wdrożenia rozwiązania wykorzystującego AI/ML
Krok 1
Hipoteza biznesowa
- Poznanie problemu klienta
- Sformułowanie hipotezy biznesowej do weryfikacji
- Obliczenie kosztów i ROI
- Rozważenie rozwiązań alternatywnych do AI/ML
- Wstępne zapoznanie się z danymi, jakimi dysponuje klient
Krok 2
Tworzenie i weryfikacja business case
- Analiza danych klienta
- Budowa i testy prototypowego modelu rozwiązania AI na podstawie danych
- Podsumowanie potencjału zawartego w danych
- (Pozytywny) wynik weryfikacji hipotezy biznesowej
- Wstępny projekt rozwiązania i oferta
- Wstępna decyzja o wdrożeniu
Krok 3
Wdrożenie
- Budowa rozwiązania AI/ML
- Zgromadzenie danych uczących i testowych
- Tworzenie modeli AI/ML
- Testowanie i dostrojenie modeli
- Wdrożenie produkcyjne
- Integracje i zmiany w procesach biznesowych
- Szkolenia
- Wdrożenie produkcyjne
Krok 4
Utrzymanie
- Nadzór nad właściwym funkcjonowaniem rozwiązania
- Nadzór nad właściwym funkcjonowaniem rozwiązania
- Okresowe douczanie modeli i poprawa jakości
Możliwy przebieg projektu wdrażania rozwiązania AI
Powyżej opisaliśmy typowe etapy prowadzenie projektu wdrażania rozwiązania AI w wariancie pozytywnym, tzn. gdy klient zdecyduje się na wdrożenie AI, uzasadnienie biznesowe przejdzie pozytywnie weryfikację i na żadnym z etapów nie natrafimy na przeciwwskazania do wdrożenia.
Wiele projektów nie przechodzi jednak przez wszystkie te etapy, a w zasadzie jest to mały ich odsetek. Na diagramie przedstawiamy alternatywne ścieżki projektu AI:
Aby nie ulegać mitom dotyczącym sztucznej inteligencji, warto dokładnie zapoznać się z przebiegiem takiego projektu – jego etapami, ryzykiem związanym z każdym z nich, danymi, jakimi musimy dysponować, a także stopniem zaangażowania ze strony klienta.
Warto pamiętać, że są to zwykle projekty trwające długo i angażujące duże środki finansowe, a do tego większość z nich ma charakter projektów badawczo-rozwojowych – „wypraw w nieznane” o bardzo wysokich szansach niepowodzenia. Niemniej przebieg opisanego procesu wdrażania projektu z wykorzystaniem sztucznej inteligencji uwzględnia tę specyfikę i jest skonstruowany tak, aby na każdym etapie minimalizować ryzyko niepowodzenia i poniesienia przez klienta niepotrzebnych (a niebagatelnych) kosztów. Jest też prowadzony tak, aby klient miał jak największą świadomość całego procesu.
Choć obarczone wysokim ryzykiem, jeśli wdrożone z powodzeniem, rozwiązania wykorzystujące sztuczną inteligencję diametralnie usprawniają procesy i przynoszą ogromne korzyści. Co więcej, dzięki procesowi douczania, systemy AI mają potencjał, aby, tak jak jest to w przypadku ludzkiego mózgu, z czasem stać się mądrzejszymi i działać coraz lepiej.
Chcesz dowiedzieć się więcej?
Globema posiada status Centrum Badawczo-Rozwojowego, od lat prowadzimy projekty z zakresu B+R, w których wykorzystujemy metody AI/ML, a nasz zespół składa się z doświadczonych analityków, data scientistów i ekspertów IT.