– W naszej firmie 76% opracowanych modeli ma charakter analityczny – narzędzie dostarcza automatyczną analizę, w skali niemożliwej do przetworzenia dla człowieka, dla eksperta podejmującego finalną decyzję – mówi nam Michał Swędrowski, współzałożyciel firmy bards.ai, która pomaga przeprowadzać projekty R&D w zakresie sztucznej inteligencji. Jak jego zdaniem warto podejść do wykorzystania AI we własnym projekcie? Tego dowiecie się z poniższej rozmowy.
Różnice między projektem R&D a typowym projektem z IT wydają się oczywiste. Skupmy się na jednej różnicy: brak zdefiniowanej potrzeby w pierwszym przypadku. Z czym wiąże się taki stan? Jakie problemy przynosi?
Rzeczywiście jeżeli chodzi o pracę R&D mogą się one początkowo wiązać z sytuacją, gdy nie mamy jasno określonego celu badań. Wynika to z charakteru pracy – próbujemy poszukiwać usprawnień/ulepszeń wybranego obszaru spośród pewnej niezdefiniowanej puli rozwiązań bez określonego sposobu postępowania. Trudno w takiej sytuacji określić pożądany rezultat, jeżeli nie wiemy jakiego rozwiązania będą dotyczyły prace.
Kolejną potencjalną przyczyną jest brak wiedzy na temat narzędzi, w naszym przypadku AI, u osób wyznaczających określających potrzeby. Bez odpowiedniego doświadczenia trudno jest określić, co jest możliwe do wykonania.
Jest to oczywiście stan początkowy (lub przejściowy w wypadku, gdy praca jest cykliczna) i osobiście uważam, iż warto możliwie gwałtownie wyznaczyć sobie cele. W dłuższym okresie czasu zespół z pewnością pracuje efektywniej, gdy każdy z jego członków wykonuje swoje zadania wedle wspólnie opracowanych założeń. Trzeba pamiętać, iż w projekcie R&D zmiany mogą następować gwałtownie i tak samo gwałtownie może się okazać, iż wcześniejsze założenia stają się niemożliwe. Niemniej lepiej jest cyklicznie weryfikować wyznaczone zadania i założenia, dostosowując je do nowo pozyskanej wiedzy niż utrzymywać stan poszukiwania potrzeby – to daje nam większą szansę, iż prace zakończą się sukcesem.
Od czego zaczyna się pracę nad projektem z kategorii R&D? Chciałbym rozwiązać problem X. Jakie pytania zadasz i co zrobisz, by sprawdzić, czy dany problem da się w ogóle rozwiązać?
Pracę w R&D zaczyna się od zrozumienia procesu i dziedziny, w jakiej będziesz prowadził projekt. prawdopodobnie nie uda Ci się nabyć wiedzy na poziomie eksperckim, ale musisz zmapować proces do znanego poziomu abstrakcji – danych wejściowych, czynnikach wpływających na proces oraz oczekiwanym efekcie. Tutaj właśnie przychodzi moment na zadawanie pytań. Odpowiedź na pozornie proste pytania typu “Jak rozumiesz efektywność? Jak ją mierzysz?” w rzeczywistości okazuje się sporym wyzwaniem.
Zależnie od długości projektu, ale z reguły to nie tak, iż już po pierwszych spotkaniach z klientem wyłoni się pełen plan prac, który wystarczy zrealizować. Często w trakcie pracy, pojawiają się nowe ścieżki dla prowadzonych badań. Warto pozostać otwartym na dostosowanie harmonogramu prac do nowych wniosków.
Kolejnym krokiem jest właśnie weryfikowalność rozwiązania i wybranie sposobu, w jaki je opracować. W tym momencie sięgamy do literatury, szukamy gotowych narzędzi, sprawdzamy projekty open-source oraz próbujemy odnaleźć informacje na temat analogicznych projektów. Odwołujemy się także do naszych doświadczeń i staramy się je przenieść na aktualnie rozważany problem. Następnie staramy się opracować PoC rozwiązania. W budowaniu AI często działa zasada Pareto – 20% nakładu naszych sił prowadzi do 80% finalnego efektu naszych badań. Dzięki czemu relatywnie niskim kosztem mamy całkiem dobrze działający model i dodatkowo świetny punkt odniesienia dla naszych kolejnych rozwiązań.
Projekty R&D mają w swojej definicji wpisaną zmianę? To, iż zawsze, wszystko co dotychczas zrobiliśmy może ulec właśnie zmianie?
Myślę, iż projekt R&D powinien coś zmieniać, ale nie koniecznie wszystko, co do tej pory robiliśmy. Z pewnością przeprowadzając wszelkiego rodzaju badania zmieniamy naszą wiedzę odnośnie możliwych do wprowadzenia rozwiązań. To co ulegnie zmianie w naszym produkcie ściśle zależy od tego, jaki obierzemy sobie cel, ale w zdecydowanej większości przypadków badania R&D dotyczą tylko pewnych aspektów funkcjonowania serwisu/aplikacji. Często badania R&D prowadzą do pewnych zmian, bo ich celem jest dostarczenie nowej wartości klientowi, co finalnie przekłada się na jego zysk. Istotne jednak, aby już na początku opracowywania rozwiązania ustalić skalę zmian jakie może wywołać opracowane rozwiązanie. Samo wprowadzenie innowacji to też decyzja biznesowa klienta, a to oznacza, iż efekt naszej pracy musi się “spinać” biznesowo.
Co jeszcze warto wiedzieć o prowadzeniu projektu R&D?
Prowadzenie projektu R&D, to w dużym stopniu praca z osobą odpowiedzialną za zarządzanie produktem i nieustanna praca nad łączeniem rezultatów badań z realiami rynku.
Dodatkowy zysk z prowadzenia projektu R&D w swojej firmie, przynajmniej w zakresie IT, wiąże się często z tym, iż wymusza on uporządkowanie i ustrukturyzowanie pewnych procesów oraz zdefiniowanie metryk jakości. Z pewnością może to prowadzić do nabrania nowej perspektywy na dany proces i zoptymalizowania pewnych elementów procesu już na poziomie biznesowym, jeszcze przed wdrożeniem wyników prac badawczych.
Czym zajmujecie się w Bards.ai? Jakie dotychczas projekty udało Wam się zrealizować?
W bards.ai zajmujemy się pomaganiem innym przedsiębiorstwom w prowadzeniu prac R&D dla AI. Naszymi klientami są firmy produktowe lub software house’y, które potrzebują wsparcia w opracowaniu algorytmów uczenia maszynowego lub wykonaniu analizy danych. Prowadzimy zarówno konsultacje, jak i wdrożenia. W prowadzonych projektach zajmowaliśmy się szerokim spektrum danych – rozkładając to na konkretne liczby:
- w około 45% były to dane tekstowe i audio,
- 25% czasu naszych projektów dotyczyło danych relacyjnych,
- praca z obrazami i danymi tabelarycznymi to około 10% czasu projektowego.
Wsparliśmy również z sukcesem firmy na etapie definicji projektu oraz wniosków o dofinansowanie innowacyjnych rozwiązań.
Jednym z ostatnich projektów w jakich mieliśmy przyjemność brać udział jest Surfer AI – narzędzia do generowania zoptymalizowanego pod względem SEO artykułu. W projekcie wykorzystaliśmy możliwości najnowszych dużych modeli językowych, takich jak GPT-4, budując finalnie potok przetwarzający ponad 300 tysięcy słów dla pojedynczej analizy. Efektem naszej pracy jest jedno z najlepszych pod względem jakości narzędzi do generowania artykułów dostępnych na rynku, z którego korzystają dziesiątki tysięcy aktywnych użytkowników.
Aktualnie prowadzimy również prace w zakresie problemu klastrowania dużych wolumenów danych, wspieramy projekt zajmującym się przetwarzaniem obrazów i video oraz tworzymy system rekomendacyjny bazujący na przetwarzaniu bardzo długiego tekstu. Dzięki przekrojowym działaniu w wielu projektach w bards.ai możemy wzajemnie wymieniać się doświadczeniem i przekładać to na efektywność naszej pracy.
Jakie masz podejście do AI i uczenia maszynowego? Jak zdrowo podejść do wykorzystania ich we własnym produkcie?
Postrzegam AI i uczenie maszynowe jako automatyzacja w oparciu o dane. Znaczny wzrost liczby gromadzonych danych w ostatnich latach sprawił, iż możemy tworzyć statystycznie dobre modele uczone maszynowo w obszarach dotąd niedostępnych. To definitywnie zmienia i będzie zmieniać różne rynki i gałęzi gospodarki. Oczywiście nie wszyscy są z tego zadowoleni jako, iż w ujęciu krótkoterminowym zabiera to miejsca pracy, ale patrząc długofalowo AI sprawia, iż drogie do tej pory procesy stają się tanie, co daje możliwość pojawienia się nowych zawodów poprawiających komfort życia w innych dziedzinach.
Myślę, iż aktualnie większość AI powstaje z myślą o synergii w działaniu z człowiekiem. Przykładowo w naszej firmie 76% opracowanych modeli ma charakter analityczny – narzędzie dostarcza automatyczną analizę, w skali niemożliwej do przetworzenia dla człowieka, dla eksperta podejmującego finalną decyzję.
Implementując AI we własnym produkcie, warto skonsultować dostępne możliwości i rozwiązania ze specjalistą. Być może, pomimo mody na AI jaka zapanowała, wprowadzenie uczenia maszynowego do własnych produktów na dany moment jest nieopłacalne. Musimy pamiętać, iż w przypadku AI wszystko rozwija się bardzo gwałtownie i mamy całkiem silny ruch w kierunku open-source. To co dzisiaj jest drogie i mało dostępne, już za pół roku może być znacznie znacznie tańsze.
Jakie najczęstsze błędy popełniają firmy rozważające wykorzystanie AI w swojej pracy, w zespołach czy w produkcie?
Wydaje mi się, iż dużym błędem w R&D projektu wykorzystującego AI jest brak pracy iteracyjnej i otrzymywanie pierwszych wyników projektu dopiero pod koniec projektu. Dobrze zaprojektowane badanie powinno w miarę gwałtownie dostarczyć rozwijaną funkcjonalność, choćby jeżeli początkowo nie jest ona dobrej jakości. Dużo lepiej iteracyjnie poprawiać i modyfikować model niż otrzymać go na końcu nie mając pewności, iż jest zgodny z wizją klienta.
Kolejnym błędem z jakim można się spotkać przy planowaniu projektu R&D jest zaplanowanie całego budżetu wyłącznie na prace programistyczne. Szczególnie nowe produkty, ale nie tylko, nie posiadają na początku funkcjonowania jakościowych danych więc dobrym pomysłem jest uwzględnienie w planie pracy czasu i środków potrzebnych na pozyskanie odpowiednich danych.
Projektując model AI musimy pamiętać, iż modelowany proces może ulec zmianie i raz wytrenowany model może po czasie nie spełniać swojej funkcji dobrze. Warto rozważyć wprowadzenie tzw. feedback loop – tak zaplanować użycie modelu, aby otrzymywać informację zwrotną na temat jakości predykcji. Pozwala to w sposób darmowy pozyskiwać kolejne dane od użytkowników i poprawiać model zgodnie z ich oczekiwaniami.
Michał Swędrowski. Współzałożyciel firmy bards.ai, gdzie pomaga przeprowadzać projekty R&D w zakresie sztucznej inteligencji. Machine learning engineer specjalizujący się w projektach związanych z przetwarzaniem języka naturalnego. Autor publikacji w zakresie uczenia maszynowego i laureat jedenastu hackatonów. Prywatnie oprócz śledzenia nowinek technologicznych interesuje się również sportami walki.
Zdjęcie główne artykułu pochodzi z envato.com.