Przejdź do Treści

podcast TechChatter
Odcinek 6

Odcinek 6. Cykl życia danych w Projektach AI

Mówiąc najprościej, sztuczną inteligencją możemy nazwać systemy, komputery czy maszyny, które starają się naśladować ludzką inteligencję w celu wykonywania określonych zadań. Systemy sztucznej inteligencji dodatkowo mogą sukcesywnie usprawniać swoje działanie dzięki uczeniu maszynowemu, czyli znajdowaniu wzorców i powiązań w dużych zbiorach danych oraz podejmowania najlepszych decyzji na podstawie własnej analizy tych danych. Brzmi jak magia?

Zapraszamy do słuchania!

W tym odcinku nasi eksperci: Jacek, Dawid i Mateusz odczarowują magię AI eksplorując  m.in. obszary:

  • gromadzenia danych, ich przetwarzania, oczyszczania i wzbogacania
  • ról data scientista, data modelera i data engineera
  • narzędzi deweloperskich i biznesowych korzystających z funkcjonalności AI
  • trendów w technologiach sztucznej inteligencji i uczenia maszynowego

Eksperci Capgemini:

Jacek Bogocz – AI & Analytics Senior Consultant, specjalizuje się w obszarze data science i wykorzystaniu najnowszych rozwiązań chmurowych do rozwiązywania problemów biznesowych. Posiada solidną wiedzę z zakresu programowania, narzędzi analitycznych oraz metodologii pracy z danymi.

Na co dzień zajmuje się tworzeniem i implementacją modeli AI oraz analiz danych, które pozwalają automatyzować procesy biznesowe, poprawić efektywność i generować nowe możliwości biznesowe.

Dawid Ulanowski – Business Intelligence Developer, specjalizuje się w analizie danych, raportowaniu oraz wizualizacji danych. W swojej pracy wykorzystuje m.in. MS Excel wraz z dodatkami Power Query, Power Pivot, Power BI oraz narzędzie Tableau.

Mateusz Hańczuk – Lead BI Consultant w Capgemini. Ekspert i entuzjasta technologii, praktyk związany z przetwarzaniem, transformacją, analizą i wizualizacją informacji z ponad 8-letnim doświadczeniem.

Więcej o pracy w Capgemini:

https://www.capgemini.com/pl-pl/kariera/

Linki do materiałów wspomnianych w odcinku:

https://lubimyczytac.pl/ksiazka/4970877/machine-learning-python-i-data-science-wprowadzenie

https://lubimyczytac.pl/ksiazka/5037723/deep-learning-uczenie-glebokie-z-jezykiem-python-sztuczna-inteligencja-i-sieci-neuronowe

https://www.datacamp.com/

https://www.freecodecamp.org/

https://www.udemy.com/user/kirilleremenko/

https://lubimyczytac.pl/ksiazka/5037444/microsoft-power-bi-jak-modelowac-i-wizualizowac-dane-oraz-budowac-narracje-cyfrowe-wydanie-ii

Jeśli odcinek Ci się spodobał, daj nam o tym znać wystawiając ocenę w Spotify lub Apple Podcasts.

Produkcja: Cleverhearted Showrunners

JACEK BOGOCZ: Witam wszystkich. Nazywam się Jacek Bogocz. Jestem w Capgemini AI and analytics Senior Consultantem. Moimi głównymi obszarami to jest data science. A w technologiach, w których na co dzień pracuję to jest język python i usługi cloudowe. 
DAWID ULANOWSKI: Ja nazywam się Dawid Ulanowski. Pracuję jako AI analytics Consultant w Capgemini. W projektach pracuję w charakterze Business Intelligence Developera. W swojej pracy wykorzystuję między innymi takie technologie jak Microsoft Excel, wraz z dodatkami Power Query, Power Pivot, Power BI, oraz narzędzie Tableau.
MATEUSZ HAŃCZUK: Ja nazywam się Mateusz Hańczuk. Pracuję tutaj jak koledzy, jako BI Consultant i najczęściej skupiam się na budowaniu i projektowaniu architektur danych, big data i produkowaniu właśnie rozwiązań raportowych stacku technologicznego i draftów takich architektur. 
JACEK BOGOCZ: Tematem dzisiejszego podcastu, dzisiejszej rozmowy będzie cykl życia danych w projektach AI. I tutaj warto zacząć od zdefiniowania sobie, czym są owe projekty AI, czym jest w ogóle sztuczna inteligencja. Pewnie każdy z nas rozumie inteligencję jako coś, czym charakteryzują się ludzie, czyli umiejętność komunikacji ze sobą. Umiejętność czytania, rozumowania. I idąc tym tropem przypisujemy inteligencję praktycznie każdej rzeczy, również software’owi, również maszynom, więc gdybym miał ogólnie ująć, czym charakteryzuje się inteligencja, bądź sztuczna inteligencja, jest to przede wszystkim umiejętność interakcji z danymi. W drugim kroku, umiejętność przetwarzania tych danych i trzeci, najważniejszy krok, czyli synteza nowych danych w postaci jakiegoś wniosku, outputu. 
MATEUSZ HAŃCZUK: Myślę, że z takiego poziomu architektonicznego, a jeżeli mówimy właśnie o projektach AI, to możemy mówić na dwóch torach. Jednym torem jest właśnie produkt dla klienta, czyli rozwiązania AI wspomagające to, co klient widzi. Różnego typu uczenie maszynowe, sieci neuronowe, które pomagają w analizie danych i wypluwają odpowiednie wnioski. Pozwalają właśnie przewidzieć pewne rzeczy. Ale myślę, że warto też wspomnieć o drugim torze, jakim są rozwiązania sztucznej inteligencji pomagające właśnie deweloperom, pomagające przy profilowaniu danych i pisaniu kodu jako takiego.  
DAWID ULANOWSKI: Dla mnie jako, z perspektywy Business Intelligence Analysta mówiąc wprost sztuczna inteligencja bada wykorzystanie systemów komputerowych do naśladowania różnych atrybutów ludzkiej inteligencji. Takich jak rozwiązywanie problemów, uczenie się i ocena. Firmy zaczynają dostrzegać ogromny potencja artificial intelligence w rozpoznawaniu mowy, podejmowaniu decyzji i tym podobnie. Z kolei no sam Business Intelligence odnosi się do wykorzystania różnych technologii, narzędzi. Do gromadzenia i analizy danych biznesowych. Dostarcza firmom przydatne informacje i analizy. W ten sposób ułatwia im podjęcie decyzji. Modelowanie ludzkiej inteligencji jest jednym z głównych celów AI, kształtując zachowania i procesy myślowe. Sztuczna inteligencja ułatwia uczenie się i podejmowanie racjonalnych decyzji. Może umożliwić komputerom samodzielne podejmowanie decyzji biznesowych. Tu jednym z przykładów mogą być chatboty. Bez interwencji człowieka mogą odpowiadać na pytania klientów. 
MATEUSZ HAŃCZUK: To może, jak już mówimy o tych właśnie rozwiązaniach sztucznej inteligencji, to zacznijmy od początku. Czyli od zbierania wymagań. Wydaje mi się, że to jest dosyć ważny temat tutaj, gdzie najpierw musimy zrozumieć, co budujemy i po co to budujemy. Czyli zebrać tak zwane wymagania biznesowe. Czego biznes oczekuje po takim projekcie AI? Co próbuje osiągnąć? Co potem jesteśmy w stanie właśnie przekuć na wymagania funkcyjne, czyli jak użytkownicy będą korzystać z naszego produkty. I z takim setem wymagań, czyli zrozumieniem po co coś budujemy i jak chcemy tego używać, możemy pójść do naszych deweloperów i zebrać wymagania techniczne. Czyli co powinniśmy technicznie zapewnić w naszym produkcie, żeby te cele funkcyjne i biznesowe dało się spełnić. I Jacek, jak takie zbieranie wymagań właśnie wygląda dla data science’tystów?
JACEK BOGOCZ: Tutaj poruszyłeś bardzo właśnie ważny punkt, jakim jest etap zbierania danych. Ponieważ ten punkt już może nam na samym początku rozwiązać wiele problemów, z którymi później najczęściej się spotykamy. Ponieważ musimy wiedzieć i to jest najczęściej rozmowa właśnie z biznesem, jaki rodzaj problemu chcą rozwiązać oraz jakie dane posiadają na wejściu. Tutaj w tej rozmowie chciałbym i będę próbował troszkę odczarować magię sztucznej inteligencji na rzecz właśnie istotności danych, ponieważ dane, tak na dobrą sprawę, stanowią fundament pod wszelkiego rodzaju modele maszyny learningowe czy deep learningowe. Więc rozmowa z biznesem na samym początku sprowadza się do typu problemu, który chcą rozwiązać oraz rodzaju danych, jakie posiadają. Następnym krokiem jest powiązanie przyczyny ze skutkiem. Czyli jeżeli chcemy rozwiązać problem bridge’owania ticketów w systemach, to też musimy posiadać odpowiednią historię, która dostarczy nam tych informacji na inpucie, która również jest, powiedzmy, próbką reprezentatywną. Ja to często porównuję do takiego ucznia, który przygotowuje się na sprawdzian z historii, ale to jest historia nowożytna, natomiast my mu podajemy notatki ze starożytności. On oczywiście się świetnie nauczy z notatek, które mu daliśmy, natomiast egzamin pewnie, łatwo się można domyśleć, obleje. Ponieważ nie będzie mieć żadnej informacji, żadnej wiedzy, którą mógł zbudować na podstawie notatek dostarczanych wcześniej przez nas. I tak właśnie najczęściej wyjaśniam tę magię, którą nazywamy sztuczną inteligencją. Ważnym też czynnikiem jest interpretacja wyników, ponieważ model, szczególnie głębokie sieci neuronowe, ale też modele uczenia maszynowego nieliniowe, nie są łatwe w interpretacji. Dobrym przykładem jest badanie atrycji wśród pracowników. W wyniku trenowania modelu dla jednego pracownika te czynniki mogą być zupełnie inne niż dla pracownika B. A jak to wygląda ze strony właśnie BI z punktu widzenia wizualizacji, Dawid?
DAWID ULANOWSKI: Tak. Tutaj, jeżeli chodzi  etap zbierania wymagań biznesowych, z perspektywy BI, jest to przede wszystkim rozmowa z klientem. Zadawanie sporej ilości pytań na temat tego, czego klient oczekuje z raportów, co by chciał zobaczyć, w jaki sposób, czy w oparciu o oczekiwania klienta, o to, co chce zobaczyć, ważne jest przystosowanie odpowiedniego rodzaju wizualizacji do tychże oczekiwań. Czy tutaj lepiej zastosować raport w postaci tabeli, czy w postaci różnego rodzaju wykresów, czy to kołowy, liniowy, czy słupkowy, czy może lepiej zastosować połączenie wykresu słupkowego i liniowego. Na tym etapie po zebraniu wymagań biznesowych od klienta z mojej strony ważna jest współpraca również z Data Modelerem, który w oparciu o oczekiwania klienta musi taki model dany stworzyć, dobrać odpowiednie tabele i kolumny, połączyć je w odpowiedni sposób, żeby tylko te niezbędne dane wykorzystać do narzędzi BI-owych, żeby móc stworzyć tak zwane raporty szyte na miarę. Dostosowane pod kątem oczekiwań klienta. Raporty te muszą być tak skonstruowane, że jeżeli ludzie z biznesu spojrzą na te raporty, będą rozumieć o co chodzi, jakie już decyzje biznesowe podjąć w oparciu o przedstawione raporty. Po wybraniu wymagań też ważny jest etap zbierania i integracji tych danych, które będą potrzebne do raportowania. Jak to wygląda Mateusz z perspektywy data engineeringu?
MATEUSZ HAŃCZUK: Opiera się to tak naprawdę też o to, co poruszyliście, czyli zrozumienie danych. Ponieważ, jeżeli budujemy taką architekturę, to pierwsze, co musimy tak naprawdę zrobić, to przeanalizować dane, które do niej wprowadzamy. To jest coś, co czasami jest pomijane właśnie przy tych celach biznesowych. Ale tutaj Jacek przedstawił właśnie przykład [niezrozumiałe 00:09:06]. W momencie, gdy liczymy takie attrition no to musimy mieć jakieś dane HR-owe. I dostaniemy taki plik z danymi, chcemy go wprowadzić właśnie do jakiejś architektury chmurowej, do storage’ów, a tutaj może się okazać, że część z tych danych w ogóle nie powinna tam trafić. I sztuczna inteligencja może być wykorzystywana właśnie do takiej wstępnej próby wyprofilowania informacji. Czy na przykład przez przypadek nie zaciągniemy czyjegoś numeru PESEL, imienia, nazwiska, danych, które są niezgodne właśnie z RODO, z GDPR, czy standardami ISO. Sztuczna inteligencja pomaga nam to wcześnie wykryć właśnie poprzez analizę, próbkowanie i klasyfikowanie tych danych do różnych poziomów bezpieczeństwa. A poza tym, jeżeli właśnie chodzi o inżyniera danych i zaciąganie, czyli te wszystkie te data ingestion pipeline’y, musimy zrozumieć, że to są dane, które chcemy, że tak powiem, zaciągać co jakiś czas, czy chcemy na przykład na żywo monitorować jakieś narzędzia, bo to zmienia stag technologiczny. I rola inżyniera danych bardzo często sprowadza się tutaj do napisania kodu, który połączy się ze źródłem, dane, powiedzmy, zassa z systemu źródłowego i zrzuci je na jakieś miejsce, które jest dostępne dla kolejnych narzędzi, które te dane będą dalej procesować. Więc poza właśnie takim kodem, który to zrobi, też jest tutaj ważne, że tak powiem, zabezpieczenie połączeń sieciowych i tych wszystkich elementów, które składają się właśnie na połącz się z systemem, zapisz część informacji, przeanalizuj je, przerzuć je do odpowiedniego miejsca w naszym data lejku, czy naszej bazie danych.
JACEK BOGOCZ: Gładko bym przeszedł już do powiązanego tematu, z integracji do przetwarzania danych, ponieważ często słyszymy, że data scientists tak na dobrą sprawę od 60 do 80 procent swojego czasu spędza na przetworzeniu danych, jego wyczyszczeniu i wzbogaceniu. Jednym z najczęstszych problemów, jakie występują, z jakimi spotykamy się w projektach AI w pracy z danymi jest jakość. Tutaj można uniknąć błędów i poprawić jakość tych danych właśnie na etapie przetwarzania. Tutaj nie ma też jednoznacznej odpowiedzi. Jest pewien zestaw złotych reguł, najlepszych praktyk, którymi się posługujemy w swojej pracy, ale też bardzo ważna rola jest tego analityka biznesowego, o którym Mateusz wspomniałeś na samym początku, który nas poprowadzi i da nam zrozumienie z jakimi danymi korzystamy, bo często pracujemy z różnymi rodzaju danymi. Finansowymi, chemicznymi, genetycznymi, HR-owymi. I tu można by było wymieniać w nieskończoność. Natomiast niestety nie jesteśmy w stanie się znać na każdej z tych branży. Też czas jaki mamy w projekcie często też nie pozwala wgryźć się w detale poszczególnej branży, więc ta rola SMI danego analityka biznesowego jest kluczowa, ponieważ często wskaże nam ważne informacje. Często nawet nam wskaże pola, które mogą mieć pewną przyczynowość i determinować to, co chcemy wykryć w tych danych. Wspomniałem o wartościach pustych, więc dla przykładu, jeżeli mamy 30 procent pustych wartości możemy albo dane pole usunąć bądź imputować. To też zależy od tego, ile mamy do dyspozycji pozostałych cech, jak mamy duży zbiór danych. W przypadku imputacji wartości pustych również mamy kilka możliwości. Od najprostszych, poprzez stałą, poprzez wartość średnią, najczęściej występującą. Możemy wykorzystać bardziej zaawansowane metody polegające na użyciu sieci neuronowych GAN, czy SmootIn, gdzie do syntezy wartości brakujących wykorzystujemy informacje z pozostałych kolumn, które mogą to determinować. Prosty przykład? Wiek. Możemy imputować na podstawie na przykład liczby przepracowanych lat, na podstawie certyfikatów, czy nawet też na podstawie ilości dzieci. Kolejnym aspektem jest wzbogacanie danych, czyli tworzenie w istniejących już informacji nowych kolumn, które nie są oczywiste na pierwszy rzut oka, a istotnie mogą wpływać na jakość modelu. Pytanie w stronie Dawida, jak to wygląda właśnie z twojego punktu widzenia? Jak obróbka i wzbogacanie danych wpływa na wizualizację?
DAWID ULANOWSKI: Z perspektywy BI dewelopera niska jakość danych no nie wpływa pozytywnie na wygląd wizualizacji, ponieważ tak jak Jacek wspomniałeś, duża ilość pustych wierszy powoduje, że przy na przykładzie jakiegoś dashboardu, w których filtry są umieszczone puste wartości, bądź jest możliwość wybrania tak zwanego nulla, nie wygląda to estetycznie dla klienta. Natomiast, jeżeli hipotetycznie odznacze w filtrze wartości puste przekształci to wszystkie wizualizacje w dashboardzie w niekorzystny sposób i wyniki te w ogóle będą odbiegać od rzeczywistości. I klienci nie będą w stanie na podstawie tych raportów podjąć odpowiednich decyzji biznesowych. Dlatego tutaj na etapie tego przetwarzania danych i integracji po przedstawieniu wstępnej wizualizacji ważna jest współpraca z analitykiem biznesowym, który spojrzy na te wstępne wizualizacje i wyniki tychże raportów i stwierdzi, czy faktycznie wyniki tych raportów są takie, jak powinny, czy mają one sens, czy wyglądy wizualizacji również są zgodne z oczekiwaniami. I dopiero później przy przedstawieniu tych wstępnych wizualizacji bardzo często dochodzi do sytuacji, w których klient uznaje, że jednak coś chce zobaczyć w inny sposób. Zamiast wykresu, na przykład coś w postaci wykresu kołowego chce zobaczyć w postaci wykresu liniowego, bądź dany raport zamiast w postaci tabeli, chce zobaczyć w postaci wykresu połączonego słupkowym i liniowym. Te z pozoru proste zmiany mogą się często wiązać z koniecznością zmiany modelu danych. Tutaj na tym etapie, kiedy klient zmienia swoje oczekiwania i w oparciu na te zmiany trzeba zmienić wygląd raportów, jest ważna współpraca z data modelerem. Bardzo często okazuje się, że żeby zmienić sposób przedstawienia danych wyników konieczne będzie przemodelowanie danych, uwzględnienie innych tabel, innych kolumn, zrobienie kalkulacji w inny sposób. Do tego trzeba przemodelować to w taki sposób, żeby czas ładowania się tych raportów nie był zbyt długi, ponieważ by to klienta zniechęciło. Cóż mogę więcej powiedzieć? Ważne jest, żeby na bieżąco być w kontakcie z klientem i możliwie jak najszybciej reagować na zmiany, które klient wprowadza w swoich oczekiwaniach. Myślę, że tak to wygląda z perspektywy BI dewelopera. Nie wiem, czy Mateusz albo Jacek chcielibyście jeszcze coś ze swojej strony dodać w tym temacie?  
MATEUSZ HAŃCZUK: Chciałem wtrącić właśnie tą rolę tego data modelera. Jej wcześniej nie poruszaliśmy w tej dyskusji i to jest osoba, która jest odpowiedzialna za to, żeby po analizie i zrozumieniu tych danych i rozumieniu wymagań biznesu przygotować tak zwany model danych. I model danych jest zestawem różnych tabel, plików, które się wzajemnie komunikują. Data modelera główna rola polega na tym by właśnie określić w jakiej kolumnie, w jakiej tabeli i jakie dane mają się znaleźć. Czy akceptujemy tam puste wartości, czy daty, czy tekst, czy elementy numeryczne? Jak te wszystkie elementy będą się komunikować ze sobą? Czyli mamy człowieka, który komunikuje się z jakimś projektem, czyli musimy postawić jakąś drugą tabelę, która będzie nam mówiła coś o projektach, oraz tabelę, która będzie nam mówiła, jaki człowiek jest przypisany do którego projektu w jakim czasie. Tym właśnie data modeler się zajmuje. I drugą rolę inżyniera danych, potem jak już, jak wspominałem, połączy się ze źródłem i te dane umieści w naszej architekturze, jest przygotowanie zestawu kodów, które odpowiednio transmassują te dane, próbują je umieścić w tym modelu, który data modeler określił. I ta część transformacyjna jest dosyć taka zasobożrąca, powiedziałbym. I tutaj są różne rozwiązania, jak to ugryźć. Czy to właśnie idziemy w zmianę modelu przejścia na architektury, które są dosyć popularne, jak data vault i data mesh. Teraz są chyba najbardziej popularnymi z takich architektur. Czy właśnie zmienić technologię, by była dopasowana do takich dużych transformacji danych? Popularne cloudowe platformy, jak AWS, Google, czy Azure mają swoje zestawy narzędzi specjalnie do tego dostosowane. Tak, żeby zamknąć właśnie ten temat modeli danych i powiązać go ze sztuczną inteligencją, to model danych jest właśnie odpowiedzialny za wyczyszczenie pewnych rzeczy, określenie, czy wartości puste są w ogóle dopuszczalne w naszej architekturze na specyficznych kolumnach, oraz mamy dosyć taki ciekawy zestaw narzędzi sztucznej inteligencji, które w tym pomagają. Bo raz, że są specjalne narzędzia dla data modelerów, które pomagają nam zbudować ten model relacyjny, przygotować właśnie tą dokumentację dla inżyniera danych, ale część narzędzi BI-owych, jak na przykład Qlik Sense sama próbuje taki model zbudować na podstawie tego, jakie dane do nich wepniemy. Jak ostatni raz sprawdzałem właśnie tego Qlik Sense’a , to nie było zbyt inteligentne, ale widać, że takie próby są robione, żeby próbować za pomocą sztucznej inteligencji automatyzować właśnie tą część. Więc nie tylko mówimy tutaj o właśnie klasyfikacji danych, ale też i o poprawieniu jakości i próbowaniu znaleźć jakichś wspólnych elementów, jak te dane będą ze sobą rozmawiać. 
JACEK BOGOCZ: Bardzo ważny właśnie punkt dotknąłeś Mateusz. Automatyzacja i usprawnienie pracy, często powtarzalnej z punktu widzenia data modelera, ale też i data scientista. Ja tutaj tylko wspomnę, od ostatnich paru lat mamy silny wzrost frameworków i rozwiązań autoemelowych. Gdzie praktycznie osoba bez znajomości kodu może stworzyć cały pipeline, począwszy od inputu danych, poprzez właśnie transformacje, czyszczenia danych, wzbogacania. Aż do budowania modeli, testowania, optymalizacji parametrów, serializacji i finalnie deploymentu modelu. Jednym z takich frameworków jest Pycaret. Jest to biblioteka pythonowa, gdzie praktycznie w kilka linijek kodu stworzymy taki model. Jeżeli w ogóle nie chcemy dotykać kodu, patrz tutaj rozwiązania cloudowe. Mamy w AWS-ie Amazon Search Maker Canvas, gdzie za pomocą drag and drop budujemy sobie pipeline. W przypadku rozwiązań microsoftowych mamy Azure Machine Learning Designer. Ten sam approach, to samo rozwiązanie. Jeżeli chodzi o sztuczną inteligencję, to również w przypadku rozpoznawania mowy nie będziemy trenować naszych własnych modeli od zera. Będziemy przecież prawdopodobnie wykorzystywać modele już gotowe. Taką bardzo popularną bazą jest Hugging Face, gdzie możemy znaleźć bardzo bogaty wachlarz wytrenowanych modeli. Więc ze strony data scientista pozostaje pobranie takiego modelu. Ewentualnie dotrenowanie go czy zmienienie jakiejś warstwy w sieci neuronowej i wykorzystanie już do swojego projektu. Wspomniałeś właśnie Mateusz o automatyzacji, wykorzystaniu AI w przypadku wzbogacania i przetwarzania danych. Tutaj też te kroki ze strony data scientista parę lat temu polegały na żmudnym kodowaniu z reguły tych samych jednostek, więc generalnie też frameworki i obecne rozwiązania pomagają nam to zautomatyzować. Dla przykładu AWS Data Wrangler. Też możemy tworzyć pipeline do przetwarzania danych i model sam zaproponuje jaki rodzaj imputacji, jaki rodzaj transformacji użyć dla danych. My będziemy tylko osobą, która decyduje, którą formę, które rozwiązanie wybrać. W większości przypadków jest to bardzo dobry baseline dla naszego projektu, ponieważ w bardzo krótkim czasie pozwala nam zobaczyć, co się w tych danych dzieje. Czy nasz model, czy nasze predykcje są randomowe, czy mimo wszystko gdzieś te predykcje mają większą istotność statystyczną i jesteśmy w stanie później, już schodząc na niski poziom, odpowiednio zoptymalizować dany model. Więc ja w swojej pracy widzę wyraźną poprawę i wyraźne ułatwienie właśnie automatyzacji wykorzystania gotowych frameworków, auto EMLi, czy gotowych serwisów AI. Tutaj znowu można podać parę przykładów. W Amazonie mamy Amazon Recognition, w Azure, Azure Cognitive. Do chatbotów Lex, w przypadku Azura mamy Louis. Generalnie usługi cloudowe większość rzeczy, które znajdziemy w AWS-ie możemy również znaleźć w Azurze. Aczkolwiek są pewne aspekty, w których danych provider się specjalizuje. AWS zaproponował rozwiązanie do forecastu i w chwili obecnej jest to tylko jedno rozwiązanie występujące u tego providera. Nie znajdziemy znowuż tego rozwiązania w usługach microsoftowych. A jak właśnie wygląda ta sytuacja po stronie narzędzi BI, Dawid? 
DAWID ULANOWSKI: Tutaj w narzędziach Business Intelligence czołowe lokaty zajmują takie firmy jak Microsoft, Click i Tablo. Te narzędzia również mają u siebie zastosowane rozwiązania, które są oparte o sztuczną inteligencję. Na przykład Power BI korzysta z takiej wtyczki, która się nazywa Microsoft Artificial Intelligence. Wykorzystując tą ścieżkę klienci biznesowi korzystający z raportów mogą w stosunkowo prosty sposób przygotowywać te dane. Co więcej, tworzyć modele uczenia maszynowego i w oparciu o to wszystko wyciągać wnioski, podejmować decyzje biznesowe. Program Tablo korzysta z takiej funkcjonalności jak ask data i explain data. Te funkcjonalności, czy wtyczki, wykorzystują przetwarzanie języka naturalnego. Poza tym wykorzystują statystykę. Wszystko po to, żeby zapewnić lepszej jakości analizy. I to zarówno użytkownikom biznesowym i osobom, które no są, że tak powiem, wtajemniczone w szeroko pojęte data science. Na przykład narzędzie Click posiada taką funkcjonalność, która nazywa się cognitive engine i ona wykorzystuje mechanizmy uczenia maszynowego po to, żeby odbiorcom podsuwać, sugerować wizualizacje, które będą najbardziej optymalne dla ich oczekiwań. I to ułatwia użytkownikom biznesowym analizę danych. Jak widać sztuczna inteligencja ma bardzo szerokie zastosowanie i pozwala ona ludziom biznesu lepiej zrozumieć swoich klientów. Wszystkie te aplikacje, które wykorzystują mechanizmy sztucznej inteligencji często stanowią kombinację jednej lub wielu funkcji. Takie funkcje najczęściej są automatyzacja procesów, albo zaangażowanie i analiza poznawcza. Także te funkcje mogą w sposób automatyczny aktualizować informacje na przykład o swoich klientach. Dzięki temu komunikacja z konsumentami jest o wiele łatwiejsza. Te narzędzia dostarczają też wskazówki, które dotyczą na przykład znormalizowanych dokumentów różnego rodzaju, umów, faktur i tym podobne. Firmy inwestujące w tego typu rozwiązania, no zwrot z tej inwestycji jest wysoki po czasie.
MATEUSZ HAŃCZUK: Ja tu może wejdę właśnie od takiej strony mniej zaawansowanej. Jeżeli używamy właśnie tych narzędzi BI czasami są dostępne już jakby gotowe rozwiązania, troszeczkę oparte o sztuczną inteligencję. I w takim na przykład narzędziu Power BI od Microsoftu mamy wizualizację, która się nazywa key influencers. I co ta wizualizacja robi? To na podstawie tych danych, które wprowadziliśmy do Power BI, do aplikacji, jest w stanie określić, co najbardziej wpływa na jakiś atrybut, który zadaliśmy. Z takiego przykładowego rozwiązania, powiedzmy, że mamy różne konta księgowe, koszty za ubrania, koszty za podróże i tak dalej i zadajemy pytanie, czyli atrybut, co wpływa na to, że mamy wysokie skoki kosztów? I key influencers, ta wizualizacja jest w stanie pokazać taki wykresik, który na przykład mówi, no, koszty ubrań to nie wpływają zbyt mocno, za to koszty podróży tak, bo tutaj tam często skacze. To nie jest jakby stała wartość, której się spodziewamy. Jest troszeczkę takich wizualizacji. Nie wiem czy Proces Mining właśnie możemy pod to podpiąć, czyli to, co Dawid mówiłeś o optymalizacji procesów, bardzo często się właśnie tego używa i co Proces Mining robi? On analizuje różne logi, czyli przejścia, kliknięcia, zmiany grup, które zajmują się naszym zgłoszeniem na infolinii i ile czasu im to zajęło, czy to skacze pomiędzy różnymi grupami ludzi, czy to jest rozwiązywane bardzo szybko i próbuje znaleźć taką szczęśliwą ścieżkę, bym to nazwał. To zgłoszenie ze względu na jego naturę, jaką powinno przejść drogę, czyli przez jakie osoby powinno przejść, przez jakie grupy, żeby jak najszybciej zostało rozwiązane. I w momencie, w którym proces mining wykryje właśnie taką szczęśliwą ścieżkę jesteśmy w stanie przygotować zestaw reguł, jak takie zgłoszenie powinno się zachowywać, które przekazywane jest potem tym infoliniom właśnie na zasadzie takiej mamy problem z Outlookiem, czy jakimś innym identyfikatorem poczty, nie może się połączyć z siecią. I się na przykład okazuje, że najczęściej jest to rozwiązywane poprzez aktualizację hasła użytkownika. Jak tam klient poczty na przykład zgubił jakie jest hasło, użytkownik też już nie pamięta i mamy problem, więc jesteśmy w stanie przygotować taki artykuł do bazy wiedzy dla agenta infolinii, hej, jeżeli dostaniesz tego typu zgłoszenia, to pierwsze co powinieneś sprawdzić to to, czy klient w ogóle wie jakie ma hasło do klienta poczty. I w ten sposób właśnie można fizyczne zobaczyć, jak takie analizy sztucznej inteligencji dostarczają prawdziwą wartość.
JACEK BOGOCZ: Dokładnie Mateusz, zupełnie się z tobą zgadzam. Poruszyłeś w sumie dwie ważne kwestie. Key influencer, czyli wpływ najważniejszych właśnie czynników. Często był problem z identyfikowaniem tych najważniejszych czynników w głębokich sieciach neuronowych, nazwanych black boxem. Dlatego też mogę polecić framework bibliotekę Chaplin, która w łatwy sposób interpretuje, które czynniki miały wpływ na dane decyzyjne, czy na decyzję danego modelu. No tak jak Mateusz właśnie mówisz, predykcja to jest jedno, ale często biznes chce wiedzieć, jakie czynniki miały wpływ, żeby zapobiec danym zdarzeniom w przyszłości. Jeżeli chodzi o łączenie też sztucznej inteligencji z BI toolem mieliśmy taki przypadek połączenia BI toola z serwerem. To był Tableau i Tableau Server. Szczególnie to był TabPy. Takie rozszerzenie, które umożliwia wysyłanie danych już odfiltrowanych na wizualizacji do serwera, a następnie wykonanie na ich podstawie kalkulacji. To się przydało w momencie, kiedy chcieliśmy używać sztucznej inteligencji, ale nie a priori, czyli nie w założeni wcześniej już przygotowanej, tylko live. Czyli w momencie, kiedy sobie filtrujemy, w momencie, kiedy chcemy zobaczyć, jak dana wizualizacja, jak dane informacje prezentują się po zastosowaniu danych filtrów, dopiero wtedy zastosować model sztucznej inteligencji. Takie rozwiązanie udało nam się właśnie zastosować z wykorzystaniem osobnego serwera, który to po otrzymaniu już tych informacji odfiltrowanych dokonywał trenowania modelu, predykcji i z informacją zwrotną wracał już na dashboard. Obawialiśmy się tutaj spadku, znaczącego spadku performance. Aczkolwiek nie były to jakieś duże zbiory danych, więc całość zajmowała od momentu filtracji, aż poprzez zwizualizowanie już pożądanych wyników raptem kilkanaście sekund, więc to też jest coś, co może dziwić. 
MATEUSZ HAŃCZUK: Tutaj fajnie na przykład można powiedzieć, co się wybija w takich rozwiązaniach. No bo przykłady przykładami, ale na czymś to budować trzeba i tutaj właśnie rola architekta często sprowadza się do tego, żeby wybrać stag technologiczny i najczęściej są dostosowane do funkcjonalności. Na przykład jeżeli myślimy o proces mining, o tym co wspominałem wcześniej, to taki trendujący obecnie jest Celonis. Chociaż ostatnio się o nim coraz mniej słyszy, bo większość narzędzi BI-owych ma już jakieś pluginy, które pozwalają robić proces mining, nie na tak zaawansowanym etapie jak Celonis, ale w wielu przypadkach użycia po prostu wystarcza. Do tego właśnie dochodzi wybór tej platformy, gdzie te dane będziemy trzymać i tutaj ostatnio się, poza takimi architekturami popularnymi, ostatnio się wybija ten Concept Labe House. I tu widzę, że króluje albo data bricks, który jest bardzo powiązany z Microsoftem ostatnimi czasy, albo właśnie snowflake. Inne narzędzie tego typu. I ono troszeczkę mocniej się składa w stronę AWS-a, z tego, co widzę, więc to też jest ciekawostka. No i jak wspominaliśmy właśnie o inżynierii danych ostatnio trafiłem na czas GPT, który jest takim chatbotem, ale w bardziej właśnie skierowanym do deweloperów. Czyli jesteśmy w stanie na przykład wkleić kawałek kodu, który mamy i zapytać chatbota, hej, ten kawałek kodu zwraca błąd, jak ja to mogę naprawić? Albo jak napisać jeden stan z pryncypiów programowania, czyli na przykład observer czy właśnie konstruktor klasy. Tego typu pytania, jest w stanie wyrzuć jakby gotowy kod w języku, w którym piszemy i w ten sposób sobie ułatwić pracę albo pomóc z pisaniem testów jednostkowych. Więc to są taki fajne ciekawostki technologiczne, na które warto zwrócić uwagę. Szczególnie, jeżeli ktoś na przykład chce się spełniać w roli solution architekta, to najczęściej właśnie solution architekci znają bardzo dużo narzędzi, ale nie wnikają w jakieś tam szczegółowe detale o nich i są w stanie dobrać odpowiednie narzędzie do funkcji. Więc to jest myślę, że dobry pomysł, zainteresować się przynajmniej jakie tam technologie są popularne. 
JACEK BOGOCZ: Tutaj też właśnie zmieniający się trend, o którym Mateusz wspominasz, coraz większe w przestrzeni automatyzacji, ułatwiania i redukcji czasu na powtarzające się taski powoduje, że w roli data scientsta też coraz bardziej zanika tak jakby skupianie się tylko i wyłącznie na modelowaniu, na trenowaniu. To dostarczane frameworki czy usługi praktycznie wykonują większość roboty za nas. Wobec tego coraz częściej oczekuje się od takiej osoby znajomości też pryncypiów data engineeringu, znajomości clouda, oraz możliwości pracy z big data. Tutaj mógłbym polecić właśnie też data Bricksy, ale przede wszystkim Pysparka.
MATEUSZ HAŃCZUK: To warto wspomnieć, że i Data Bricksy i Snowflake właśnie siedzą nam na sparkowych, jak Pyspark, Scala, jak najbardziej. 
JACEK BOGOCZ: A oprócz tego na Sparku też mamy biblioteki machine learningowe. Najpopularniejsza to jest MLlib. 
MATEUSZ HAŃCZUK: A Dawid co tam się w BI wybiło?
DAWID ULANOWSKI: No ja mogę powiedzieć tyle, że jeżeli ktoś chce swoją przyszłość wiązać z business intelligence, to mogę, uważam, że patrząc na możliwości, które otwierają się przed użytkownikami narzędzi business intelligence, które wykorzystują algorytmy uczenia maszynowego, mogę powiedzieć, że będzie rosnące zapotrzebowanie na osoby specjalizujące się w business intelligence. Umiejętności no nadal będą konieczne do budowy modeli analitycznych, które pozwolą na odpowiednie wykorzystanie ich w nowoczesnych systemach przy wykorzystaniu sztucznej inteligencji. Także tutaj wiedza będzie nadal bardzo ceniona w kwestii integracji danych przede wszystkim, które pochodzą z różnych źródeł, oraz no do budowy bardziej zaawansowanych analitycznych aplikacji. Narzędzia te, które wykorzystują wtyczki sztucznej inteligencji no odkrywają coraz to nowsze możliwości przed osobami ze sfery biznesowej, które poszukują narzędzi tych związanych z business intelligence. Uważam, że nadal jeszcze nie wykorzystujemy całego potencjału uczenia maszynowego i sztucznej inteligencji. Także tutaj mogę powiedzieć, że przyszłość obszaru business intelligence to właśnie jest bardzo mocno związana ze sztuczną inteligencją. Także osoby z tego obszaru wspomnianego business intelligence dysponując coraz to nowszymi narzędziami będziemy w stanie dostarczać no lepsze rozwiązania dla biznesu. Także organizacje, które stoją w obliczu nowych wyzwań, nowych problemów biznesowych, uważam, że inwestycja w narzędzia BI i sztucznej inteligencji zwrócą się bardzo szybko i z całą pewnością wniosą realną wartość do biznesu.  
JACEK BOGOCZ: Dziękuję bardzo za rozmowę. Mateusz, Dawid. Bardzo ciekawa rozmowa. Myślę, że tutaj poruszyliśmy wiele ważnych aspektów, z którymi spotkamy się w pracy w projektach AI, ale też troszeczkę taki rys historyczny i trendy, jak zmienia się dany rynek.
DAWID ULANOWSKI: To i ja również bardzo chciałbym podziękować tobie Jacek i Mateusz za tą rozmowę i również słuchaczom za to, że tyle czasu wytrzymali w czasie tej rozmowy, która była bardzo mocno techniczna. Mam nadzieję do usłyszenia w następnej serii.
MATEUSZ HAŃCZUK: Tak. Ja również dziękuję. Myślę, że poruszyliśmy kilka ciekawych właśnie tematów odnośnie sztucznej inteligencji, jak nam może pomóc dla biznesu, ale również dla nas w naszej pracy. Także myślę, że bardzo owocna dyskusja.
JACEK BOGOCZ: Do dalszej edukacji polecam książki wydania O’Reilly dla pythona, “Machine learning, python i data science”, ale też “Deep learning. Uczenie głębokie z użyciem pythona”. Dla osób początkujących polecam Data Campa, ponieważ ma świetne ścieżki, w których zarówno się uczymy w postaci krótkich wideo filmików, jak i również ćwiczymy w interaktywnym dashboardzie. 
DAWID ULANOWSKI: Ja ze swojej strony dla osób, które chcą związać swoją przyszłość z business intelligence mogę polecić stronę internetową freecodecamp.org. Poza tym również warto zainteresować się kursami na Udemy, które prowadzi Kiril Emerenko. Związane z programem Tableau. Kursy te są od poziomu początkującego do mocno zaawansowanego. Z książki, którą mógłbym polecić jest książka wydawnictwa Helion, autorstwa Erina Ostrowskiego pod tytułem “Microsoft Power BI. Jak modelować i wizualizować dane oraz budować narracje cyfrowe”.