Brak kategorii

Cyberataki na sztuczną inteligencję


Stabilność modeli to bardzo ciekawy temat. Z jednej strony pojawia się coraz więcej algorytmów, które pokazują całkiem fajny wynik, ale ten wynik czasem może być złudny. Mam na myśli to, że jak wdrożymy model na produkcję, to może nas zaskoczyć. W jaki sposób? W których miejscach mogą być potencjalne kłopoty? O tym dzisiaj będę rozmawiać z Adamem, który bardzo się inspiruje tymi tematami pod wieloma względami. Z jednej strony porozmawiamy o tym, jak ważne jest to, żeby wynik był powtarzalny, z drugiej strony ważna jest także generalizacja wiedzy. Poruszymy też temat potencjalnych ataków, które mogą się przydarzyć i zepsuć model w nieoczekiwanym momencie i z bolesnym skutkiem



Cześć Adam. Przedstaw się: kim jesteś, czym się zajmujesz, gdzie mieszkasz?


Cześć Vladimir. Nazywam się Adam Dziedzic. Obecnie mieszkam w Kanadzie, w Toronto i pracuję na University of Toronto i Vector Institute, gdzie prowadzę badania nad sieciami neuronowymi


Twoja ścieżka jest bardzo ciekawa, chwilę później o tym porozmawiamy. Powiedz najpierw, co ostatnio ciekawego przeczytałeś i dlaczego warto to przeczytać? 


W ostatnie wakacje czytałem książki napisane przez profesora Yuvala Noah Harariego. Wiemy, że biologia jest bardzo skomplikowana obliczeniowo i postęp, który rysuje Harari w swoich książkach może nie nastąpić tak szybko.

Oczywiście chciałbym dłużej żyć, to jest niezaprzeczalne, ale czytałem np. książkę „Brave New Word” i tam wizja była taka, że żyjemy tylko 60 lat, ale jakość życia jest znacznie wyższa. Naturalna długość życia dla homo sapiens to około 80 lat i teraz ciekawy jestem, na ile można by nasze życie wydłużyć. Ważne jest też, jak nasz mózg pracuje.



Harari opisuje, że obecnie wiele firm pracuje nad wydłużeniem życia, ale też polepszeniem jego jakości. Weźmy np. pod uwagę Steve’a Jobsa – on przez większość czasu swojego życia opierał się na indyjskich dietach, na nienaukowo zbadanych żywieniowych regułach i żył tylko 56 lat. Ale jego wpływ na to, jaką używamy technologię, był ogromny. Teraz jak tylko nauczymy się manipulować genami, to na pewno nic nas nie zatrzyma przed tym, żeby ulepszyć kolejne pokolenie co do jakości i długości życia. Co mi się bardzo podoba w książkach Harariego to jego rozciągnięty horyzont czasu, tzn. opisuje, co było przed homo sapiens i co będzie następnym, lepszym gatunkiem po homo sapiens.



Nasze życie, to, jak postrzegamy je, zależy od tego, jak się czujemy w swoim ciele. Niezależnie od tego, czy jesteśmy w Polsce, w Krakowie czy w Kanadzie, w Toronto. Powiedziałbym, że Harari jest odważny w swoich przewidywaniach i kreśli przyszłość grubą kreską. Wciąż będąc historykiem, wraca do przeszłości, ale ciekawie też opisuje przyszłość w kontekście szczególnie machine learning deep learning.




Np. interesujące jest też to, co pisze o animizmie i o tym, że imię Ewa oznacza samicę węża. Harari definiuje kolejną rewolucję, która będzie od materializmu do informacji mierzona w bitach. Co ciekawego jeszcze, że on chce pokazać, jak technologia może ulepszyć nasze życie. Myślę, że pod tym względem ta książka jest bardzo ciekawa.



Dzięki za polecenie. Myślę, że jak jeszcze kogoś ominęła taka lektura, to fajnie ją przeczytać. Ostatnio zbieraliśmy opinie i część osób powiedziała, że bardzo doceniają polecenia, bo teraz jest bardzo dużo ciekawych książek, ale zawsze brakuje czasu, a to jest taka kolejna gwiazdeczka, żeby to przeczytać. 

Opowiedz o swoim doświadczeniu, tzw. background. Czym się zajmujesz albo czym się zajmowałeś wcześniej? Od razu powiem, że tego było dużo i oczywiście nie wszystko dzisiaj dotkniemy ale tak, żeby trochę bardziej przybliżyć czytelnikom, jakie masz doświadczenie w tych tematach.

W sierpniu w tym roku skończyłem doktorat na University of Chicago. Moja praca doktorska była na temat tego, jak można optymalizować sieci neuronowe pod względem czasu ich trenowania i testowania, jak można je kompresować i uodpornić na ataki.


Na początku września przeprowadziłem się do Toronto, by tu dalej kontynuować moje badania i jednym z głównych osób tutaj w Vector jest Geoffrey Hinton. Jest on znany w moim środowisku jako osoba, która wygrała nagrodę Turinga. Było to szczególnie dzięki temu, że on ze swoimi studentami w roku 2012 zaprezentował sieć AlexNet, która wygrała zawody ImageNet.


W ogóle to wydarzenie spowodowało wielki przełom w mojej dziedzinie, szczególnie w tzw. deep learning. To dało początek lawinie projektów, innych modeli, które były rozwijane, aby wygrać kolejne konkursy ImageNet. 

To jest ciekawa historia, zresztą jest to zwane jako ImageNet Moment. Też ciekawość polega na tym, że w tej chwili w NLP odbywa się coś podobnego, tylko bardziej Transformers Moment. Hinton jest uznawany za jednego z ojców deep learningu. Porozmawiajmy troszkę o Vector Institute. Co to za instytucja, jakie ma założenia, cele, jak działa?

Głównym celem Vector Institute jest dalsze rozwijanie machine deep learning. Umożliwia współpracę uczelni, instytucji rządowych, firm i start-upów. Kanada jest jednym z liderów w deep learning i podobne instytuty istnieją także w Montrealu i Edmonton. W Vector kładzie się duży nacisk na aplikacje machine deep learning, szczególnie w medycynie i w sektorze finansowym. 




Vector Institute Industry Innovation – 2020 Program Overview, źródło: YouTube



Brzmi bardzo ciekawie, ale przejdźmy do konkretów, żeby sobie lepiej uświadomić, co oznacza “aplikować”, bo to z jednej strony jest zrozumiałe, ale w praktyce zwykle to nie jest takie łatwe i na szczegółach można się przejechać. Dość często myślę, że świat researcherów faktycznie jest dość mocno rozłączony z tym światem rzeczywistym.


Przejdźmy przez jakiś przykład np. z obszaru zdrowia. Co udało się zrobić? Mógłbyś podać jakiś przypadek, użycie i jak to mniej więcej działa teraz, może potencjalne skutki, sukcesy? 

Podam przykład z moich badań. W jednym z projektów budujemy platformę, dzięki której np. firmy lub szpitale mogą współpracować, aby ulepszyć swoje modele. Problem polega na tym, że dane np. między szpitalami lub bankami nie mogą być wymieniane z powodu uregulowań prawnych.


My pracujemy nad metodą, jak te dane mogą być przesyłane między szpitalami lub bankami, ale w postaci zaszyfrowanej (tak, że nie można ich odczytać). Ale z drugiej strony dane są użyteczne do trenowania modeli. Okazuje się, że jest to możliwe dzięki zastosowaniu kilku technik z zakresu kryptografii. 

Bardzo ciekawe zagadnienie teraz poruszasz. Zresztą jeżeli chodzi o Europę i RODO, to myślę, że tutaj jest wiele osób zainteresowanych, żeby o tym więcej się dowiedzieć. Mówiąc o szyfrowaniu, to masz na myśli anonimizację danych, czyli transformację danych w inny sposób, żeby ktoś nie mógł tego odczytać? 


Okazuje się, że anonimizacja danych nie jest skuteczna. Tutaj polega to na tym, że usuwa się imiona, nazwiska, rok urodzenia danej osoby. Jednym z przykładów, że ta technika nie działa, jest gafa Netflixa. Otóż Netflix opublikował dane dotyczącego tego, jak jego klienci oceniali różne filmy, ale usunął z tych danych imiona i nazwiska swoich klientów. Jak się okazało, to nie było wystarczające.


Badacze z University of Texas w Austin połączyli dane z Netflixa z inną bazą danych, która nazywa się IMDb i tym naukowcom z Teksasu udało się odtworzyć część danych, które Netflix usunął. 

Tutaj też mamy na myśli, że dane są różnego rodzaju. To są dane tekstowe (wiek, imię, nazwisko), ale również mówimy np. o zdjęciach.

Używamy np. danych, które zawierają zdjęcia rentgenowskie klatki piersiowej. Takie dane opublikowano na kilku uczelniach w Stanach. My używamy zbioru danych z uczelni Stanford, który nazywa się chexpert.


Tak przy okazji chexpert brzmi cool i jest to połączenie słów chest, które oznacza „klatka piersiowa” i słowa expert. My trenujemy w różnych rodzajach modeli, które nazywamy sieciami neuronowymi (sieci są tu splotowe albo konwolucyjne) i trenujemy te modele właśnie na tych danych z uczelni Stanford. Te modele mogą później służyć do tego, aby wystawić wstępną diagnozę dla nowych pacjentów.




Badacze ze Stanford stworzyli algorytm do interpretacji zdjęć rentgenowskich klatki piersiowej, źródło: YouTube



Fajnie. Tutaj jeszcze a propos tego, że na podstawie zanonimizowanych danych można to odtworzyć, odsyłam do 70. odcinek podcastu, gdzie były trzy historie, m.in. jedna historia związana z trasami treningowymi w całkowicie odludnym obszarze, co skutecznie zasugerowało obecność wojska w danym obszarze. Coś, co nie powinno być powszechnie znane.

Myślę, że jeszcze warto podać inny przykład. Obecnie popularne są smartwatche. Otóż problem polega na tym, że dane z tego typu urządzeń mogą trafić w niepowołane ręce. Powiedzmy, że po jakimś czasie przestajemy ćwiczyć czy biegać, nasze tętno jest niestabilne.


Wówczas firmy ubezpieczeniowe mogą w tym przypadku wywnioskować, że dana osoba ma potencjalnie problemy ze zdrowiem. Gdy ta osoba chce wykupić nowe ubezpieczenie zdrowotne, wówczas taka firma może albo podwyższyć cenę, albo zupełnie odmówić temu klientowi.

My pracujemy nad rozwiązaniami, które będą mogły te dane szyfrować (powiedzmy, że na tym smartwatchu), następnie wysłać je na serwer, żeby tam je przeanalizować, zwrócić rezultat, który tylko dany użytkownik (ten klient) będzie mógł odszyfrować. 


Tak, zgadza się. Tutaj sama anonimowość danych, które przedtem gdzieś były używane, jest niewystarczająca. Trzymam kciuki, żeby ten kierunek udało się rozwinąć i później mam nadzieję, że to będzie też w jakiś sposób udostępnione – przynajmniej w postaci pomysłu albo open source. Są takie pomysły, czy już za daleko idę?

Idea federated learning polega na tym, że dane pozostają użytkownika, na jego urządzeniu. Ale wiele osób może współtrenować modele. Jak to się dzieje? Każdy użytkownik trenuje lokalnie model na swoich danych. Następnie współdzieli parametry danego modelu lub tzw. gradienty, których używa się do aktualizacji parametrów w centralnym modelu.


Obecnie są już ataki, które na podstawie parametrów sieci tego modelu lub gradientów mogą wywnioskować dane konkretnego użytkownika. Mimo to powstają startupy, które skupiają się wyłącznie na tym, jak zastosować federated learning dla np. medycyny. 

Rok temu byłem na konferencji ICML. Jest to jedna z największych i najważniejszych konferencji w dziedzinie machine learning. Odbywała się ona w Kalifornii w Long Beach i był tam startup o nazwie Dog AI. Ten startup miał wielki napis – federated learning. Nikt nie miał wątpliwości, że właśnie ten temat jest obecnie jednym z najbardziej popularnych tematów w machine deep learning. 


Oprócz tego, że zajmujesz się szyfrowaniem danych, to również interesuje Cię obrona przed atakami modelu, jak temu można zapobiec. O co chodzi z takim atakiem na model? O czym mówimy, jaki jest kontekst?


Na czym polegają ataki na machine learning? Otóż dodaje się bardzo niewielkie, ale specyficzne zakłócenie do obrazka lub danych wyjściowych do modelu. To zakłócenie powoduje, że model zwraca błędną odpowiedź. Tutaj bardzo ważne jest to, że to zakłócenie jest zwykle niewidoczne dla ludzkiego oka.


Jest wiele różnych typów ataków. W niektórych przypadkach wystarczy zmiana jednego piksela. Dla przykładu – sieci splotowe są używane do klasyfikowania obiektów na zdjęciach. Załóżmy, że mamy taką sieć, która potrafi rozpoznać psy i koty. Do sieci na wejście wysyłamy obrazek kota i sieć prawidłowo klasyfikuje ten obiekt na obrazku jako kot.


Następnie, jako atakujący szukamy, które piksele można w jak najmniejszym stopniu zmodyfikować, by oszukać ten model. Okazuje się, że gdy mamy dostęp do takiej sieci (do tego modelu), to można bardzo łatwo znaleźć tzw. wektor ataku i dodajemy go do obrazka kotka. Wówczas sieć (ten model) z dużą pewnością zwraca odpowiedź, że na obrazku jest pies, mimo tego, że dla ludzkiego oka ewidentnie na obrazku jest kot.




źródło: giphy.com



Pamiętam, jak takie naklejki były. Te naklejki akurat czasem były zauważalne, ale tak jak powiedziałeś, to czasem sprowadza się nawet do czegoś mniejszego. Jakieś delikatne zmiany, człowiek tego nie zauważa, ale wynik będzie zauważalny. 


Jak można być odpornym bardziej na takie ataki? Co się robi, żeby sobie z tym poradzić?

Było wiele prób obrony sieci neuronowych przed tymi atakami, ale jak do tej pory nie ma w pełni skutecznej obrony. Obecnie jedna z popularnych metod polega na tym, że trenuje się sieć na tych zakłóconych danych wejściowych. Co to znaczy?


W trakcie trenowania modelu, prowadzimy atak na sieć i ten zaatakowany obrazek jest używany do trenowania tej sieci. Ta metoda jest w pewnym stopniu brute force i okazuje się, że naprawdę ona działa lepiej niż większość innych technik obrony modeli.


Można powiedzieć, że w świecie naukowym przez jakiś czas nawet toczyła się mała wojna między tymi, którzy atakowali te modele i tymi, którzy ich bronili. Powiedziałbym, że w większości przypadków atakujący wygrywali.

A jaka jest wartość dodana dla tego atakującego? Czy to jest po prostu zabawa czy coś więcej?

Jeden z ciekawych, nieudanych ataków miał miejsce na systemy rozpoznawania mowy. Atakujący potrafił znaleźć wektor ataku i dodać go do danych wejściowych, żeby oszukać model. Jednak takie wartości zmodyfikowane nie były wysyłane bezpośrednio do modelu, ale odgrywane i wysłane jako dźwięk i wówczas ten model wracał do poprawnej klasyfikacji.


Okazuje się, że dodanie białego szumu pełniło rolę obrony. Na poziomie modelu ten biały szum powodował, że dane wejściowe były przesuwane z małego obszaru z błędną klasyfikacją do dużego obszaru, który oznaczał poprawną klasyfikację.


Niby to jest ciekawe, że można taką Alexę oszukać, ale jaka w tym przypadku jest wartość, jeżeli powiesz, żeby zagrała muzykę, a ona zagra coś innego? Czy chodzi o to, że przez Alexę zarządzamy czymś poufnym i możemy jakoś się wtrącić?


 

Jako przykład ataku na systemy rozpoznawania mowy, możemy sobie wyobrazić, że użytkownik wydaje komendę, aby zamknąć wszystkie okna w domu. A tymczasem atakujący tę komendę zmienia tak, że zostają wyłączone w domu wszystkie alarmy.


Z jednej strony to wspaniałe, że sieci neuronowe, cały deep learning, czasem pokazuje bardzo fajne wyniki. Z drugiej natomiast powinna się pojawić świadomość, że takie delikatne zmiany w odpowiedni sposób (jeżeli wiesz co zmienić na wejściu) mogą wprowadzić w totalne zamieszanie naszą sieć, w efekcie czego ona zrobi zupełnie coś nieoczekiwanego. 


W których sytuacjach najbardziej trzeba uważać i te modele zabezpieczyć? Prawdopodobnie nie wszędzie chcemy to zabezpieczyć. Gdzie w ogóle warto zacząć o tym myśleć?


Na mojego laptopa loguję się przez Face ID. Jeszcze kilka lat temu, tego typu systemy logowania można było bardzo łatwo oszukać, np. poprzez wydrukowanie zdjęcia z twarzą użytkownika. Jednak obecnie są dodatkowe czujniki, które tworzą obraz 3d twarzy i te płaskie zdjęcia nie są skuteczne.


Natomiast naukowcy z MIT wydrukowali na drukarce 3D model żółwia i pokazali, że wciąż możliwe jest, aby te modele oszukać tak, żeby klasyfikowały ten model żółwia jako np. karabin. Co jest ciekawe, to Face ID często myli jeszcze się np. w przypadku bliźniaków. 


źródło: giphy.com, autor: Adweek



Swoją drogą, jak masz założoną maskę, to też Cię rozpoznaje? To jest bardzo aktualny temat, w szczególności dla iPhone’ów. 


Rzeczywiście, Face ID nie działa, gdy osoba ma założoną maskę. Ale np. ten Face ID potrafi dostosować się do sytuacji, gdy dana osoba np. ma okulary. Wydaje mi się, że gdybyśmy zrobili fine-tuning tego modelu to udało by się go tak wytrenować, żeby rozpoznawał twarz danej osoby, niezależnie od tego, czy ta osoba ma maskę, czy jej nie ma.

Gorzej jak masz to i to założone.

Tu kwestia jest taka, że zwykle im więcej mamy danych trenujących, tym lepiej można taki model wytrenować. Także powinniśmy te modele dla Face ID trenować na różnorodnych danych, gdzie osoby mają maski, okulary, makijaże, nakrycia głowy itp.

Ciekawe, to jest takie dodatkowe wyzwanie dla modelu, które wygenerowały obecne czasy.

Mieliśmy taki projekt na uczelni w Chicago, gdzie używaliśmy modeli machine learning do wykrywania liczby routerów w budynku. Otóż wytrenowaliśmy model, który działał świetnie i miał dużą precyzję (prawie 100%).


Po czym po weekendzie wracamy i ten model działa znaczne gorzej. Okazało się, że ktoś zmienił pozycje niektórych routerów i to miało dramatyczny wpływ na precyzję modeli. Tu wniosek jest taki, że często bardzo mała zmiana w środowisku, w którym działa dany model, powoduje bardzo dużą zmianę w precyzji tych modeli.

Właśnie, poruszyłeś temat spójności na train test. Jedna z Twoich publikacji (swoją drogą, polecam obejrzeć wszystkie publikacje Adama) dotyczyła NLP (przetwarzanie języka naturalnego) i chodziło o to, żeby sprawdzić, na ile różne rodzaje modeli potrafią tę wiedzę uogólnić. Na czym polegał ten eksperyment i jakie są wnioski?

Tak, jest to publikacja, gdzie porównujemy różne modele używane w NLP i w NLP nastąpił przełom około 2 lat temu, gdy opublikowano tzw. pretrained transformers. Są to modele z mechanizmem self-attention, które mają setki milionów, a nawet miliardy parametrów.


Trenuje się je na setkach gigabajtów tekstu i te modele maksymalizują współbieżność wykonania. W naszej publikacji badaliśmy, jak te nowe modele działają w porównaniu z poprzednimi, np. typu LSTM. Okazuje się, że nowe modele generalizują znacznie lepiej niż LSTM. 

U nas porównujemy model na ocenach filmów napisanych przez zwykłych użytkowników i chcemy, aby taki model też poprawnie klasyfikował oceny filmów napisane przez ekspertów. Tutaj chodzi o to, że sugerujemy daną opinię o filmie jako opinię negatywną lub pozytywną. Te pretrained transformers zwykle mają podobną precyzję na tak dobranych danych trenujących i testujących.


Czyli mamy zmianę stylu wypowiedzi z użytkownika zwykłego na eksperta. Teraz okazuje się, że te LSTM modele, mogą tracić nawet 20% ich precyzji.

W tej publikacji zdziwił mnie fakt, na ile LSTM sobie znacznie gorzej poradził. Właściwie czasem lepiej, a czasem gorzej niż bag-of-words a średnio wyszło nawet gorzej, więc tutaj by to znaczyło, że LSTM plus word2vec potrafi gorzej sobie radzić z takim uogólnieniem. Bardziej się przywiązuje do języka jako tako, stylu mówienia, a np. BERT faktycznie bardzo fajnie wygląda. Różnice są zauważalne. To nie jest tylko kilka procent różnicy.

Obecny trend, szczególnie dla NLP jest taki, że budujemy coraz większe modele, które mają miliardy parametrów. Trenujemy je na coraz większych zbiorach danych. Zwykle też pozwala nam to osiągnąć lepszą klasyfikację czy ogólnie lepsze wyniki w wielu benchmarkach z NLP.


Z drugiej strony powoduje to, że takich modeli nie możemy używać na naszych smartfonach czy innych urządzeniach mobilnych i wtedy konieczna jest ich kompresja. Ciekawe jest to, że jeden z pomysłów polegał na tym, aby zredukować model typu BERT, czyli ten transformer, do modelu typu LSTM. Taka kompresja ma oczywiście efekty uboczne.

Jak już wspomnieliśmy, te skompresowane modele gorzej się generalizują. Tu główny problem jest taki, aby te modele typu BERT kompresować, ale też zachować pewne pożądane właściwości tych modeli. 

Zacząłeś mówić o destylacji wiedzy, czyli kiedy pomniejszamy gruby model i tam faktycznie jest kilka pomysłów z LSTM. Jakby ktoś się tym interesował, to jest taki model np. BigBird przez Google zaproponowany.


Tam są różne podejścia do tego odchudzania, bo nie wszystkie możliwości z Birda potrzebujemy zawsze i np. część tych tasków da się osiągnąć, używając bardziej odchudzonego modelu. Rozmawiając o tym, po raz kolejny można zwrócić uwagę na to, na ile ten model faktycznie złapał takie uogólnienie.


Zresztą z tą destylacją też jest takie podejście, że robimy to w taki sposób, żeby maksymalnie wygenerować jeszcze więcej danych i maksymalnie spróbować ten model kalibrować, żeby nie trenować na tych samych danych. M.in. wykorzystuje się GPT-3 chociażby do tego, żeby wygenerować jeszcze więcej danych.

Podejście z generowaniem nowych danych, trochę sztuczne, wprowadza kolejną erozję szumu, więc tu też pewnie trzeba uważać na to, jak to w ogóle zmierzyć, bo generujemy nowe dane, te dane są niekoniecznie prawdziwe. Pojawia się cały szereg wyzwań i myślę, że ten wątek można by było na osobny tekst rozłożyć. 

Jak teraz nas czyta osoba, która sobie rozważa, że fajnie, że Adam fajnie zrobił studia w różnych miejscach. Warto, żebyś przypomniał, jak wyglądała Twoja ścieżka? Jak się odnaleźć w świecie, żeby maksymalnie wykorzystać swój potencjał?


Fajnie by było, jakbyś teraz streścił swoją historię, jeżeli chodzi o rozwój, studia, czego się nauczyłeś. Mile widziane będą konkretne porady, wskazówki, czy warto np. się dostać na doktorat w Stanach? Jeżeli tak, to w jaki sposób najlepiej to zrobić? Co lepiej zrobić, żeby rozwinąć się w tym obszarze od strony naukowej, ale też łącząc to z zastosowaniem w praktyce?

Doktorat w USA – już od dziecka marzyłem o wyjeździe do USA i o tym, żeby studiować na najlepszych uczelniach na świecie. Jeszcze przed wyjazdem za granicę, brałem kursy np. z NLP i machine learning, które były oferowane na platformie Coursera. Te kursy były wirtualną wersją tych z uczelni Stanford czy Princeton.


Myślę, że jeżeli ktoś naprawdę lubi pracować nad czymś nowym, czego może nikt wcześniej jeszcze nie zrobił lub nie wymyślił, np. może to być w ramach projektów na uczelni lub pracy inżynierskiej, a także magisterskiej, jeżeli ktoś to ogóle lubi, to jest to dobra wskazówka, że doktorat jest pewnie właściwym kolejnym krokiem dla tej osoby.


Odnośnie platformy Coursera jednym z trudności, jakie napotkali twórcy tej platformy, było to, że dużo więcej osób nie kończyło tych kursów w porównaniu ze standardowymi kursami na uczelniach na Stanfordzie czy w Princeton. Teraz okazuje się, że bezpośredni kontakt z innymi osobami, które ma się na tych uczelniach, osoby, które zmagają się z takimi samymi albo podobnymi tematami, one tworzą środowisko, w którym łatwiej jest danej osobie podjąć podobny trud.


Na przykład można uczyć się razem i też zdobywać tę wiedzę od innych studentów, a także powiedziałbym, że w wielu przypadkach jest to nawet taka mała rywalizacja między studentami. Także ten przykład z platformami Coursera i innymi platformami online do tych kursów, trochę źle wróży na rezultaty edukacji w czasie pandemii.

Natomiast jeżeli wrócimy do doktoratu w USA, to w moim przypadku myślę, że ważne jest to, że spotyka się tam z osobami z wielu krajów z całego świata, które także po wielu trudach, żeby tam się w ogóle dostać, przyjeżdżają do USA w końcu i mają podobne cele.


Chcą po prostu jak najlepiej się wykształcić. Myślę, że ta atmosfera na kampusach w USA czy w Kanadzie jest bardzo sprzyjająca ku temu, żeby zagłębić się w jakiś temat i po prostu uczyć się. Myślę, że jest to taka jedyna okazja w życiu, żeby w pełni w jakiś temat zagłębić się i próbować te trudne problemy rozwiązać.


Jeżeli nam się znudzi już ta nauka w bibliotece i mamy już po prostu dość, to zawsze też można dołączyć do wielu różnych klubów na uczelni. Jest mnóstwo możliwości na kampusie, żeby rozwijać też naukowe pasje. Myślę, że tutaj każdy może znaleźć coś dla siebie – czy są to jakieś zajęcia z jogi, ze sztuk walki, malowania, teatry.


Także zachęca się studentów na uczelniach amerykańskich do odbywania praktyk w wakacje. W moim przypadku byłem na praktykach w firmach Microsoft i Google. 

Też na doktoracie jest wiele otwartych drzwi do ciekawych, dalszych badań. Mogą dojść badania na uczelniach w ramach kolejnych programów po doktoracie albo też po prostu w firmach, gdzie są środki badawcze, gdzie prowadzi się te badania i też się publikuje.


Tutaj pomiędzy tymi dwoma opcjami, czyli pracą na uczelni, a pracą w firmie w tzw. ośrodku badawczym, to jest główna różnica, że w firmach te badania mają zwykle za cel, aby pomóc w rozwijaniu jakiegoś produktu lub serwisu. Na przykład w ramach moich praktyk w Microsofcie pracowałem nad projektem do rekomendacji indeksów i było to dla bazy danych SQL Server.

Natomiast w badaniach na uczelni, nie ma takich ograniczeń. Ten wachlarz możliwości co do tego, co chcemy robić, jest dużo szerszy. 

Muszę też przyznać, że są wady doktoratu w USA. Dla mnie największym mankamentem jest to, że jestem bardzo daleko od rodziny. Co więcej, doktorat w USA to znacznie więcej niż tylko praca na cały etat.


Często musimy pracować dłużej, uczyć się więcej niż tylko 8 godzin w ciągu dnia. Jest też spora konkurencja i ten doktorat zwykle trwa co najmniej 5 lat.

Spróbujmy wejść w Twoje buty i popatrzeć, jak Ty teraz widzisz dalsze, potencjalne kroki. Myślę, że to też będzie taka podpowiedź, czy komuś to odpowiada czy nie. Co planujesz robić dalej? Jakie masz plany?

Po doktoracie aplikowałem na tzw. program Postdoc, po którym chciałbym aplikować dalej na pozycję profesora. Bardzo podoba mi się praca naukowa, na uczelni i obecnie jestem tutaj w Vector Institute w Toronto i też na University of Toronto, ale część mojej pracy magisterskiej była zrealizowana w Cern w Genewie, gdzie pracowałem nad przetwarzaniem danych i zajmowałem się głównie bazami danych.


Myślę, że w dziedzinie informatyki bardzo łatwo projekty z uczelni przekształcić np. w startupy. Chciałbym, by moje badania z uczelni w przyszłości, znalazły zastosowanie w przemyśle, biznesie lub nawet w naszym codziennym życiu. 

Mam nadzieję, że niejedna osoba może się tym zainspirować. Przynajmniej, jeżeli rozważa pójść tą ścieżką.


Dzięki wielkie Adamie za rozmowę i za podzielenie się takim praktycznym spojrzeniem na tematy związane ze stabilnością modeli, potencjalnymi kłopotami, szyfrowaniem danych. Myślę, że to było interesujące, ale też co ważne – praktyczne.


To są prawdziwe bolączki obecne w świecie ML, które w ten czy inny sposób trzeba rozwiązywać. Dzięki wielkie. Do usłyszenia.

Dziękuję Vladimir za zaproszenie. Mam nadzieję, że te informacje będą przydatne dla osób, które słuchają podcastu Biznes Myśli i śledzą bloga.

Chciałem jeszcze podziękować mojemu przyjacielowi Łukaszowi Mrozowi, bez którego ten podcast nie byłby możliwy. Dzięki Łukasz.

Poruszony temat tak naprawdę mógłby być znacznie szerszy. Tutaj przy okazji powiem, że z Adamem rozmawialiśmy kilka godzin, a podcast trwa mniej niż godzinę i było o czym porozmawiać.


Zastanawiam się, czy jeszcze tutaj nie wrócić do niektórych wątków i nie rozszerzyć, bo w ogóle nie mówiliśmy na temat bazy danych, pewnych rzeczy związanych z architekturą, która jest ważna, jeżeli mówimy o wdrażaniu na produkcji ML.


Również nie porozmawialiśmy na kilka innych tematów, więc czy warto to rozszerzyć, też zostawiam dla Ciebie. Daj znać, czy chciałbyś, żebym jeszcze raz zaprosił Adama i żebyśmy jeszcze kilka innych tematów poruszyli. 

Przy okazji zwrócę uwagę, że m.in. mówiliśmy o NLP (przetwarzanie języka naturalnego) i tam było to, że BERT, czyli tzw. algorytm z rodziny transformerów, pokazuje, że radzi sobie całkiem dobrze, jeżeli chodzi o takie uogólnienie.


On działa też bardziej kontekstowo i lepiej potrafi wyciągnąć semantykę poszczególnych słów w zależności od tego, gdzie dane słowo występuje, w odróżnieniu np. od innych podejść, które były wcześniej znane. 

Tutaj mogę podpowiedzieć, że jest kurs, który prowadzę o NLP i tam pokazuję najnowsze techniki, więc jeżeli chcesz takie tematy zdobyć, to nie ma dużo miejsc, gdzie możesz się tego nauczyć.


Jeżeli chcesz się rozwinąć w tym obszarze, to warto obserwować, bo pierwsza edycja jest już za nami i rozważamy teraz, kiedy będzie kolejna. Też patrzymy, jaki jest na to popyt, więc jeżeli chcesz, daj o tym znać i zapisz się na listę oczekujących.

Od 2013 roku zacząłem pracować z uczeniem maszynowym (od strony praktycznej). W 2015 założyłem inicjatywę DataWorkshop. Pomagać ludziom zaczać stosować uczenie maszynow w praktyce. W 2017 zacząłem nagrywać podcast BiznesMyśli. Jestem perfekcjonistą w sercu i pragmatykiem z nawyku. Lubię podróżować.

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *