AI, DevDebata

Zespół AI jest o tyle trudny do stworzenia, że wymaga wielu kompetencji. Devdebata

machine learning mx labs

Budowanie zespołu złożonego ze specjalistów o wszechstronnych kompetencjach może wydawać się niezwykle trudnym zadaniem. W rozmowie z zespołem MX Labs zapytaliśmy o proces tworzenia ekipy od AI, prowadzone aktualnie ciekawe projekty oraz wpływ machine learningu na jakość ludzkiego życia.

Od jak dawna zajmujecie się w MX Labs sztuczną inteligencją w widzeniu maszynowym, a dokładniej w pozyskiwaniu sygnałów witalnych człowieka? Czy ten temat odkryliście dopiero po jakimś czasie, czy swoje kompetencje w tym zakresie wzmacniacie od samego początku ?

Olek: Myślę, że algorytmy sztucznej inteligencji były w zasadzie nieodłącznym elementem naszego projektu już od samego początku jego istnienia. Część sygnałów witalnych takich jak tętno, jego zmienność, czy częstotliwość oddechu, jesteśmy w stanie pozyskać bez uczenia algorytmów na podstawie danych, gdyż są to zjawiska bezpośrednio mierzalne. Z drugiej strony, w bardziej złożonych przypadkach, jak na przykład ciśnienie krwi, od razu wiedzieliśmy, że musimy zwrócić się ku uczeniu maszynowemu, zatem wejście w posiadanie takich kompetencji było kluczowe i nasz biznes jest z nimi fundamentalnie związany już od samego początku.

Przemek: Drugim ważnym tematem, który bez modeli uczenia maszynowego i sztucznej inteligencji nie byłby możliwy do zrealizowania, jest wykrywanie i śledzenie twarzy, oraz jej szczególnych cech takich jak punkty kluczowe. Z tym w naturalny sposób byliśmy również związani od pierwszych chwil. Dzisiaj rozbudowujemy te modele o zaawansowane sposoby przetwarzania obrazu i widzimy tutaj olbrzymi potencjał rozwojowy na przyszłość.

Czy trudno jest zbudować dobry team zajmujący się AI ? Czym Wasze podejście do budowania takiego zespołu się wyróżnia?

Piotr: Zespół AI jest o tyle trudny do stworzenia, że wymaga wielu kompetencji. Od osoby zajmującej się sztuczną inteligencją oczekuje się nie tylko solidnych podstaw matematycznych, ale również umiejętności i dobrych praktyk programowania. Zajmujemy się dość niszowym obszarem w Data Science. Jest już na rynku sporo specjalistów z zakresu wizji komputerowej, dźwięku czy przetwarzania języka naturalnego (NLP). Wciąż jednak trudno o dobrego specjalistę z zakresu wykorzystania algorytmów sztucznej inteligencji w sygnałach biomedycznych. Staramy się więc podejmować również współpracę z osobami, które niekoniecznie mają doświadczenie w przetwarzaniu sygnałów, ale mają wysoko rozwinięte kompetencje w pozostałych domenach np. NLP czy wizji komputerowej.

Przemek : Zdecydowanie nie jest to łatwe zadanie, ale na naszą korzyść działa to, że podejmujemy się tematów, które są znaczące dla większości społeczeństwa. Każda osoba, która jest w naszym teamie, jest więc świadoma, że (bez żadnej przesady) pomaga zmieniać świat na lepsze, co pomaga w budowaniu teamu.

Kompetencje są bardzo ważne, ale jak upewnić się, że team działa efektywnie? Czy macie w tym zakresie jakieś własne rozwiązania lub kulturę pracy dostosowaną do programistów AI? Jak zarządzacie zespołem? 

Przemek : Od samego początku przyświeca nam idea transparentności i szczerości. Bardzo blisko jest nam do stwierdzenia ‘kultura zjada strategię na śniadanie’, więc przywiązujemy do niej dużą wagę. Tak więc mamy solidne podstawy, aby kształtować ‘mindset’ zespołu, który wpływa na jakość tego, co robimy. A poza tym stosujemy oczywiście wszystkie nowoczesne techniki prowadzenia projektów takie jak Agile, Kanban, OKR, a nawet chcemy spróbować Shape Up.

Ninja Scrum Master: Tak, dokładnie. Biorąc pod uwagę na to, że poruszamy się po bardzo innowacyjnym i zmiennym środowisku, musimy dostosować narzędzia do naszej charakterystyki pracy. Bardzo często wkraczamy w nieodkryte obszary, gdzie nie do końca wiemy jakiego wyniku możemy się spodziewać, jak nowe odkrycie wpłynie na pozostałą pracę oraz ile pracy mamy jeszcze do wykonania. Nie zmienia to faktu, że nawet pracę odkrywczo-badawczą można spróbować podzielić na mniejsze kroki tak, aby na bieżąco sprawdzać, czy nie weszliśmy ” w krzaki”. Obecnie do prowadzenia projektów w zespołach wykorzystujemy podejście Scrumowe, do planowania wysokopoziomowego wykorzystujemy technikę OKRów. Połączenie zwinnego realizowania kolejnych sprintów z wcześniejszym określeniem celów oraz kluczowych rezultatów, jakie chcemy osiągnąć, pokazuje nam, gdzie w danej chwili życia projektu się znajdujemy. Dodatkowo OKRy wspomagają nas w podejmowaniu skutecznych decyzji biznesowych. 

Oczywiście nie zamykamy się na inne techniki. Uważamy, że jeśli inne podejście ma nam ułatwić pracę, przyspieszyć proces delivery, umożliwi lepsze skupienie na pracy — just do it. Stąd idea przygotowania się i wypróbowania w praktyce techniki Shape up.

Olek: Osobiście, zwróciłbym również uwagę na mocno badawczy charakter tego, czym się zajmujemy. Myślę, że zarządzanie zespołem badawczym różni się od zarządzania tradycyjnym zespołem deweloperskim, chociażby ze względu na mniej przewidywalny charakter pracy. Można to porównać do różnicy pomiędzy przemieszczaniem się po znanej mapie z punktu A do punktu B, a odkrywaniem obszarów, które znajdują się poza nią. Oczywiście, podczas dodawania nawet prostej funkcjonalności w aplikacji mobilnej, mogą pojawić się nieoczekiwane problemy, jednak mamy tutaj do czynienia z zupełnie inną skalą tego zjawiska. Dlatego w naszych działaniach badawczych, staramy się stawiać na elastyczność, kreatywność i otwartość. Oczywiście, musimy trzymać się pewnych założeń i hipotez, ale też być gotowi na zmianę podejścia, w miarę jak odkrywamy nowe aspekty naszego zagadnienia. Myślę, że charakterystycznym elementem naszej kultury, są częste spotkania typu hackathon, burze mózgów, a nawet dyskusje na szlakach górskich.

Natalia: W MX Labs pracujemy nad innowacyjnymi rozwiązaniami, co z założenia wymaga od nas stworzenie warunków pracy, które sprzyjają kreatywnym zespołom. Przede wszystkim jest to zaufanie do członków zespołu i danie im czasu na zmierzenie się z problemami, które stawia przed nim projekt. Stawiamy na szczery feedback, by na bieżąco weryfikować jakość naszej pracy lub sposób jej wykonania. Wszyscy też wiemy, że gramy do jednej bramki, a to ułatwia nam realizowanie swoich zadań nawet, gdy ścieramy się o różne punkty widzenia.

Czy możecie się w tej chwili pochwalić jakimiś ciekawymi projektami, nad którymi aktualnie pracujecie? Czy tematyka tych projektów jest czymś, co zachęca nowych programistów do dołączenia do Was?

Olek: Jako przykład z naszego zespołu (AI), ciekawym zagadnieniem była praca nad estymacją niepewności związaną z wynikami dostarczanymi przez nasze modele. O ile temat jest stosunkowo “modny” w środowisku naukowym, to przeniesienie tych zagadnień na grunt praktyczny okazuje się często zadaniem niełatwym. Z tego względu sporo organizacji, często tych większych, nie decyduje się na takie projekty, uznając je za zbyt ”ryzykowne”. Z kolei,  wielu inżynierów szuka właśnie takich ciekawych wyzwań. Myślę, że dając przestrzeń na tego typu działania, tworzy się miejsce, w którym zdolni ludzie będą chcieli pracować.

Przemek: Ogólnie rzecz ujmując, tworzenie naszego SDK to złożone i multidyscyplinarne zadanie, które umożliwia innym firmom budowanie produktów pomagających we wczesnej diagnostyce zdrowia. Przykładem są zastosowania w telekonsultacjach z lekarzami, łatwych pomiarach pracy serca z aplikacji na smartphonie lub projektach wykorzystujących wizualny bio-feedback.
Współpracujemy przy tym z Uniwersytetami z Polski i całego świata (np. Uniwersytetem Medycznym we Wrocławiu lub University of California San Diego – UCSD), rozwijając własne podejścia software’owe i hardware’owe do ekstrakcji i procesowaniu sygnałów biologicznych.  Praca w MX Labs jest pełna takich wyzwań, w których trudno doszukiwać się rutyny.

Czy oprócz klasycznych metod Machine Learningu pracujecie również z Deep Learningiem? Czy tak było od początku, czy dopiero w pewnym momencie zwróciliście się ku tym metodom?

Piotr: Wybór odpowiednich metod jest bardzo istotnym czynnikiem wpływającym na powodzenie projektu z zakresu AI. Staramy się nie tylko stworzyć model, ale również lepiej zrozumieć sam związek sygnału PPG z ciśnieniem krwi. We wstępnej fazie projektu, naszym ograniczeniem była niewielka ilość danych, które zbieraliśmy na własną rękę, na sobie, wśród rodziny czy znajomych. W takim przypadku dobrze sprawdzają się tradycyjne podejścia statystyczne i klasyczne metody uczenia maszynowego. Kluczowym elementem na tym etapie była umiejętność pracy z sygnałami biomedycznymi oraz ich odpowiednie przetwarzanie. Te działania pozwoliły nam lepiej zrozumieć problem, którym się zajmujemy i stworzyć wstępne rozwiązania. 

Olek: Wraz z przejściem na naprawdę dużą skalę i pojawieniem się tysięcy nowych próbek danych, otworzyły się przed nami możliwości zastosowania algorytmów głębokiego uczenia. W naszym podejściu staramy się coraz bardziej odchodzić od metod przetwarzania sygnałów, opartych o wiedzę ekspertów z danej dziedziny, a zwrócić się ku metodom opartym o głębokie uczenie, pozwalając sieciom neuronowym znaleźć własną, optymalną ścieżkę od początku do końca (tzw. end-to-end). Oczywiście nie może to się stać z dnia na dzień i nie wszystko jesteśmy w stanie od razu zastąpić deep learningiem, ale co do ogółu, jest to dla nas słusznym kierunkiem rozwoju.

Czy oprócz detekcji parametrów pracy serca, takich jak ciśnienie lub stres fizjologiczny rozwijacie też inne tematy? Czy możecie powiedzieć coś więcej o detekcji emocji z obrazu video?

Przemek : Detekcja emocji to druga pod względem ważności modalność, którą badamy i wdrażamy do naszego SDK. Wymaga ona ekstrakcji sygnałów ruchu mięśni mimicznych w czasie rzeczywistym, więc dotyczy mocno technik computer vision takich jak szybka detekcja landmarków, rekonstrukcja twarzy oraz optical flow. Na podstawie wyciągniętych sygnałów, oraz odpowiednio dużego zbioru oznaczonych danych (który obecnie tworzymy) rozwijamy podejścia deep-learningowe interpretujące zmieniające się w czasie ekspresje w odniesieniu do kontekstu, czyli np. zadanych pytań. To bardzo obiecujące i rewolucyjne potraktowanie tematu, planujemy umożliwić naszym klientom używanie go do detekcji depresji i stanów lękowych oraz zastosowań w tzw. Digital therapeutics (DTx). 

Filip: Nasze podejście jest tutaj odmienne od często spotykanych metod, w których uczy się sieci na ręcznie labelowanych obrazach ludzkich twarzy z oznaczeniami takimi jak “szczęśliwy” czy “smutny” – w taki sposób można wprawdzie uzyskać szybkie efekty, ale ich praktyczna użyteczność jest wątpliwa. Zbudowanie solidnej podstawy opartej na precyzyjnych niskopoziomowych sygnałach takich jak aktywność mięśni na twarzy daje nam warstwę pośrednią, która w kombinacji z innymi sygnałami (na przykład aktywności serca) stwarza unikalne możliwości dalszego uczenia maszynowego.

Wygląda na to, że w dziedzinie sztucznej inteligencji, data science i przetwarzania sygnałów zrobiliście już sporo. A jak działa to u Was ze wdrażaniem technologii do produktu? Czy macie także dział inżynierii oprogramowania? Czy outsourcujecie to na zewnątrz?

Filip: Dział inżynierii oprogramowania rozwijamy od początku działania MX Labs i stanowi on drugi filar rozwoju naszych technologii, obok zespołu AI. Budujemy w ten sposób wewnątrz firmy pełen zestaw kompetencji, który pozwala nam szybko się rozwijać i wdrażać opracowane rozwiązania od razu do środowisk produkcyjnych. Poza tym nie wszystkie metody, które rozwijamy korzystają ze sztucznej inteligencji — część z nich używa na przykład bardziej klasycznych metod wizji komputerowej i ich rozwojem zajmuje się właśnie zespół inżynieryjny.

Przemek: Rozbudowujemy też obecnie nasz dział produktowy, a dokładniej naszego multiplatformowego SDK. Poszukujemy więc osób chcących pracować kreatywnie, ale bliżej klienta, pomagać we wdrożeniach i rozwiązywać problemy, które powstają na punktach styku naszej technologii z końcowym użytkownikiem. To role ciekawe, ale także ważne w kontekście tworzenia globalnego impaktu nowoczesnych rozwiązań diagnostycznych na cały świat. Razem możemy zrobić wiele — zapraszamy więc do współpracy. 


Aleksander Skorupa profilowe

Aleksander Skorupa. W MX Labs jest zaangażowany od ponad 2 lat, gdzie zajmuje się tworzeniem modeli sztucznej inteligencji odpowiedzialnych za estymacje parametrów zdrowotnych, a obecnie, pełni funkcję Head of AI. W przeszłości pracował jako researcher i konsultant AI w projektach dla zagranicznych startupów. W swojej pracy poszukuje nieszablonowych wyzwań, zwłaszcza tam gdzie rozwiązywane są realne problemy.

Piotr Lachert profilowe

Piotr Lachert. Deep Learning Engineer w MX Labs. Podczas studiów zainteresował się analizą sygnałów biomedycznych, w szczególności sygnałów związanych z aktywnością mózgu, którą zgłębiał dalej na doktoracie w Instytucie Biocybernetyki i Inżynierii Biomedycznej, PAN. Następnie pracował przez trzy lata w zespole AI dla Samsung Electronics R&D, gdzie zajmował się przetwarzaniem dźwięku. Twierdzi, że najlepiej czuje się w pracując w niewielkiej firmie takiej jak MX Labs, w której wszystkich dobrze zna i na wiele rzeczy ma wpływ.

Filip Gromuł profilowe

Filip Gromuł. Jako pierwszy pracownik MX Labs tworzył wstępne prototypy działania technologii. Obecnie prowadzi zespół inżynieryjny, rozwijając główny produkt firmy – Shen.AI SDK. Absolwent Instytutu Informatyki Uniwersytetu Wrocławskiego, w przeszłości w firmie ZMorph rozwijał oprogramowanie do druku 3d Voxelizer. Ceni sobie pracę w małym, zmotywowanym zespole z dużymi kwalifikacjami i tworzenie użytecznych systemów, w których wszystkie warstwy abstrakcji są zrozumiałe.

Przemek Jaworski profilowe

Przemek Jaworski. Projektant i programista, pomysłodawca MX Labs. Wcześniej związany z projektami hardware’owymi, drukiem 3D oraz IoT, a także komputacyjną geometrią. Aktywny na polskiej demoscenie jako koder i grafik, tworzył także swoje własne silniki 3D. W firmie zarządza działem R&D i dba o sprawne wdrażanie innowacji. W wolnych chwilach prototypuje nowe funkcjonalności poprzez pisanie kodu, ponieważ uważa to za nieodzowny element pracy kreatywnego managera.

Natalia Konarkowska profilowe

Natalia Konarkowska. Head of People w MX Labs. Absolwentka Uniwersytetu SWPS na kierunku psychologii klinicznej, na co dzień także czynny psycholog i licencjonowany doradca zawodowy po studiach podyplomowych na Uniwersytecie Łódzkim. Od ponad 10 lat zajmuje się wspieraniem i budowaniem zespołów w branży IT oraz szeroko pojętym HRem. W swojej pracy skupia się nad  tworzeniem silnych połączeń między zespołami, a biznesem. W miejscu pracy krzewi kulturę współpracy, zaufania, odpowiedzialność i samorozwoju.

Redaktor współpracująca

Od trzech lat pracuje jako copywriterka, aktualnie zajmuje się tworzeniem treści dla branży IT oraz militarnej. Miłośniczka robienia szczegółowego researchu.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/zespol-ai-jest-o-tyle-trudny-do-stworzenia-ze-wymaga-wielu-kompetencji-devdebata" order_type="social" width="100%" count_of_comments="8" ]