Z wielką niecierpliwością czekałem na pierwszą konferencja PyData w Polsce, chciałem spotkać i poznać ludzi zajmujących się ML oraz analizą danych. Miałem wielkie oczekiwania zarówno do strony organizacyjnej, jak i merytorycznej. Pojechałem, uczestniczyłem i dziś opisuję swoje odczucia.
O mały włos, bym nie pojechał
Na wstępnie muszę powiedzieć, że już od dawna szykowałem się na jedną z konferencji PyData, odznaczają się wysokim poziomem merytorycznym oraz ciekawymi ludźmi. Dwa razy było blisko abym pojechał do Berlina lub do Amsterdamu, niestety zawsze coś wypadało. Gdy usłyszałem, że będzie w Warszawie to pomyślałem, że opatrzność czuwa nad mną. Gdy tylko ogłoszą prelegentów i część prezentacji to się zapisuję.
Czas mijał a my z żoną w międzyczasie postanowiliśmy wyjechać na dłużej do Włoch, trochę zapomniałem o terminach i tak się złożyło, że zaplanowany wyjazd kolidował z konferencją. Tak naprawdę to mieliśmy wracać w czwartek 19.10 więc nawet kombinowałem aby chociaż na 20-tego się załapać. Jak zwykle szybka riposta żony i już wiedziałem, że mnie nie będzie. No cóż, takie życie.
Życie zawsze podąża niezbadanymi drogami i będąc na Sycyli ostatecznie musieliśmy wrócić wcześniej. Choć ciężko było się żegnać ze słońcem i ciepłą sycylijską pogodą to na pocieszenie mogłem zarejestrować się na PyData Warsaw.
Wrażenia organizacyjne
Konferencja PyData Warsaw odbyła się 19-20.2017 w Centrum Nauki Kopernik. W mojej opinii miejsce idealne, nie daleko centrum, łatwo dojechać oraz dobre zaplecze konferencyjne. Tutaj same plusy za wybór miejsca. Sala wykładowa, na której odbywały się prelekcje także na duży plus. Dobre nagłośnienie duża ilość projektorów, tak aby każdy mógł zobaczyć to, co dzieje się na ekranie.
Wszystkie trzy sale powstawały z jednej dużej poprzez jej podzielenie, minusem tego rozwiązania było to, że gdy któryś z prelegentów miał donośny głos to dało się go w tle słyszeć. Za to ogromnym plusem było ułatwione poruszania się pomiędzy salami, wszystko w jednym miejscu i nie nastręczało trudności przemieszczanie się pomiędzy sesjami.
Dobrze był także zlokalizowany bufet kawowy, rozstawienie go zaraz przed salami sprzyjało rozmowom z uczestnikami oraz pozwalało na dokończenie rozmowy z prelegentem z prezentacji. W ramach konferencji serwowany był także obiad, chwała za to, jedynym zarzutem z mojej strony byłoby dodanie więcej opcji wegetariańskich np. ryba lub jakiś wegetariański kotlet. Dobrze także aby sala w której podano obiad była większa, ale nie jest to wielki problem, ostatecznie wszyscy się pomieścili i grupowali przy wspólnych stolikach. Była to także okazja do zapoznania się.
Na dobrej konferencji nie może zabraknąć After Party, odbyło się ono w klubie „Piwnica pod Harendą” miejsce ok. Stosunkowo niedaleko miejsca konferencji więc nie mieliśmy za daleko. Dobrym pomysłem były przystawki oraz podanie pizzy, która jak zwykle bardzo szybko się rozeszła. Tu moja osobista prośba, aby myśleć także o osobach niejedzących mięsa.
Krótkie podsumowanie prezentacji w których uczestniczyłem na PyData
Pełny harmonogram konferencji znajdziecie pod adresem: https://pydata.org/warsaw2017/schedule/. Możecie tam przejrzeć tytuły oraz abstrakty prezentacji. W trakcie konferencji były trzy równoległe ścieżki, więc zawsze trzeba było się zdecydować na jedną z trzech prezentacji, czasami wybór był naprawdę trudny. Na szczęście byłem wraz ze wspólnikiem z firmy i rozdzielaliśmy się a potem opowiadaliśmy sobie czy było warto. Oto moja lista prezentacji, na których się pojawiłem, wraz z moim komentarzem:
Prezentacje z Czwartku 19.10.17
BigData and ML@Google by Jarek Kuśmierek
Prezentacja za bardzo marketingowa, dowiedziałem się jakie Google ma produkty i usługi. Zastanawiam się co z tego wyniosłem, ale nic mi nie przychodzi do głowy. Jak na keynote spodziewałem się czegoś więcej.
Towards Interpretable Accountable Models by Katharine Jarmul
Prezentacja luźna niezahaczająca o twarde tematy, aczkolwiek dająca do myślenia. I właśnie taki powinien być keynote. Pani Katarzyna wskazywała na problem interpretacji modeli w ML, dlaczego działanie na zasadach czarnej skrzynki nie powinno nam wystarczyć. Wskazywała w jakich kontekstach interpretacja modeli jest potrzebna, a nawet wymagana. Do tej pory dla mnie ten temat nie istniał, podawałem coś na wejście, wskazywałem, jakie ma być wyjście i algorytm się uczył. Nigdy nie zastanawiałem się czego dokładnie się nauczył.
Teaching Machine Learning by Piotr Migdał
Tutaj do końca nie wiem co napisać, bo prezentacja była poświęcona doświadczeniom Piotra z nauczania ML. Niektórzy mogli być zawiedzeni, ale dla mnie jako nauczyciela akademickiego oraz szkoleniowca potwierdziła kilka moich spostrzeżeń. Piotr mówił o tym co pewnie wszyscy wiemy, lecz nie wszyscy stosujemy. Podczas nauki warto zaczynać od praktycznych przykładów, nawet jeżeli nasi uczniowie jeszcze nie wiedzą co się dzieje pod spodem. Teorię można wprowadzać, dopiero gdy opanuje się pewne praktyczne umiejętności. W prezentacji zabrakło mi bardziej skomplikowanych przykładów, jak on wprowadza pojęcia lub algorytmy dla np. managerów.
Recent advances in neural machine translation by Marcin Chochowski
W porównaniu do poprzednich ta prezentacja była (za) bardzo techniczna. To co z niej wyniosłem to, że w Samsungu rzeczywiście testują modele tłumaczące. Praktycznie każdy wykorzystuje jakąś wersję rekurencyjnej sieci neuronowej. Niestety nie pamiętam, albo nie było to jasno zaznaczone co działa dobrze a co nie. Jak sam tytuł wskazuje był to przegląd modeli do automatycznego tłumaczenia, ale mi zabrakło jasnego odwołania do przykładowych kodów na githubie oraz podsumowania czego właściwie warto używać.
Natomiast ciekawe były pytania na koniec a szczególnie pytanie skąd brać dane do tłumaczeń, zaskakująca odpowiedź z https://www.opensubtitles.org/, dokumentów UE, ONZ itp.
Natural Language Processing for the Impatient by Sebastian Dziadzio
Jedna z lepiej przygotowanych prezentacji na PyData, nie zawierała opisu jakiś super nowatorskich metod oraz przykładów. Raczej opisywała i zwracała uwagę na miejsca, przy których możemy się potknąć implementując modele NLP. To co mi się podobało to sposób prowadzenia całej prezentacji przez Sebastiana, angażująco z humorem i co cię rzadko zdarza z żartami w punkt. Warto było przyjść i posłuchać.
Prezentacja informująca jakie problemy napotkamy próbując budować word2vec na bazie języka Polskiego. Dla mnie raczej podstawowe rzeczy, ale może ktoś, kto nie zajmował się NLP nie jest ich świadomy. Warto przypomnieć, dla tych którzy chcą coś robić w NLP dla języka Polskiego, że IPIPAN ma już przeliczone modele word2vec http://mozart.ipipan.waw.pl/~axw/models/.
Niestety muszę przyznać, że ta prezentacja najmniej przypadła mi do gustu. Najbardziej mi przeszkadzało nie to, że drugi prelegent mówił cicho i nie miał obycia z mikrofonem, ale przeklinanie pierwszego prelegenta. Tak wiem, Gary Vaynerchuk też przeklina, a jednak go lubię. Wracając do merytoryki, nie zrozumiałem co właściwie zostało zrobione. Na początku przydało by się pokazać aplikację w działaniu. Pozwoliło to lepiej przeprowadzić nas przez cały proces dochodzenia do ostatecznego rozwiązania.
To jest druga moja najlepsza prezentacja, tutaj bardzo cenię autora za to że mówiąc o segmentacji oraz o poszczególnych modelach od razu podawał linki do Githuba z kodem do samodzielnego wypróbowania. Z tej prezentacji mam najwięcej notatek. W skrócie Krzysztof opowiedział jakie modele testowali i podobnie jak w prezentacji Samsunga o automatycznym tłumaczeniu przedstawił listę najnowszych rozwiązań. W przeciwieństwie do tamtej prezentacji tutaj za każdym razem jasno podsumowywał co u nich działało i jak dane rozwiązanie prezentuje się na tle poprzednich.
W czwartek chciałem jeszcze pójść na prezentację „Debugging machine learning. Mostly for profit, but with a bit of fun too. by Michał Łopuszyński” ale niestety musieliśmy zameldować się w wynajętym mieszkaniu i przyszykować na afterparty 🙂
Prezentacje z Piątku 20.10.17
Winning together: Bridging the gap between academia and industry (Python edition) by Radim Řehůřek
Bardzo dobra prezentacja twórcy biblioteki Gensim. Opowiadał o tym, czy da się oraz jak można połączyć prace badawczą z tym co chce biznes/przemysł. Bardzo utożsamiałem się z metaforą, że wiele publikacji jest jak mumia, po przeczytaniu wygląda dobrze, ale jak zaczynasz się brać za implementację to wszystko obraca się w proch. Fajnie poprowadzona prezentacja z ciekawymi przemyśleniami autora, który działa na styku nauki i biznesu. Temat ten jest mi szczególnie bliski bo sam próbuję działać w ten sposób (uczelnia UWM vs firma Ermlab). Miałem okazję porozmawiać po prezentacji i dopytać się o doświadczenia i wskazówki na przyszłość.
Building People Analytics by Cameron Davidson-Pilon
Kolejny keynote, na temat budowania rozwiązań data science dla oddziału HR. Prezentacja OK, bez szczególnych plusów i minusów. Prelegent przedstawił swoje rozwiązania kilku problemów modelowania danych dla oddziału HR.
Bardzo dobra prezentacja, dobrze poprowadzona, omawiająca framework PyTorch. Adam od początku powoli wprowadzał w tajniki PyTorch i tego co potrafi. Podobało mi się zaznaczanie w czym się różni do Tensorflow oraz to jak można pisać własne moduły rozszerzające funkcjonalności. Wystąpienie to zachęciło mnie do nauki PyTorch.
Przyznam się, że na tej prezentacji odpłynąłem, nie przez autora, ale chyba brak kawy i cukru :(. Niewiele pamiętam, wiem, że pokazywał spark’a i to tyle.
How to visualize neural network parameters and activity by Justin Shenk
Tutaj znowu nawiązanie do tego, że powinniśmy dążyć do tego aby modele były interpretowalne. W jakiejś części pomaga w tym wizualizacja tego czego sieć się tak naprawdę nauczyła. Niestety autor nie pokazał nic nowego, opowiedział i zademonstrował działanie https://github.com/yosinski/deep-visualization-toolbox.
Exploring word2vec vector space by Julia Bazińska
Prezentacja pokazywała, w jaki sposób można dokonywać eksploracji języka poprzez word2vec, jak można zastosować podstawowe operacje wektorowe do wyszukiwania synonimów, podobnych znaczeń oraz stronniczych określeń. Pozwalało to na inne spojrzenie na język oraz dawało kilka technik grzebania w danych. Ogólnie prezentacja mi się podobała, Julia ma dar ciekawego sposobu wypowiedzi, ale widać było że się denerwuje i warto byłoby poćwiczyć prezentację.
Virtual environments and dependency management in Python by Piotr Grzesik
To była moja ostatnia prezentacja, na której niestety nie mogłem zostać do końca, gdyż w połowie musieliśmy wyjść na pociąg. Dobre podsumowanie tego w jaki sposób w python’ie zarządzać zależnościami. Dla mnie to zawsze stanowiło problem i tutaj kilka wskazówek szczególnie w kontekście python 3 mi się przydało. Z krytycznych uwag popracowałbym nad formą prezentacji, zwolniłbym tempo oraz łapałbym więcej kontaktu wzrokowego z publicznością.
Uwagi końcowe
Czekam z niecierpliwością na udostępnienie prezentacji wtedy będę mógł zaktualizować wpis i je podlinkować. Zakładam że powinny się także pojawić na stronie konferencji. Jeżeli znacie linki do tych prezentacji to proszę wrzucajcie je w komentarzach.
Siłą każdej konferencji są zaproszeni sprawdzeni prelegenci oraz sama społeczność. Ja będę PyData Warsaw wspominał jako udane przedsięwzięcie, miałem okazję spotkać się z kilkoma osobami obserwującymi About Data oraz porozmawiać z prelegentami czy to po ich wystąpieniach, czy na After Party. Dzięki ekipie z Allegro oraz Pracuj za ciekawą rozmowę na After Party.