Jak radzić sobie z dynamicznym rozwojem społeczności

Sierpień 2017 r.

Sam Witteveen i Martin Andrews założyli TensorFlow i Deep Learning w Singapurze w lutym 2017 roku. Społeczność rozrosła się do 1,6 tys.członków w zaledwie 8 miesięcy. W trakcie wywiadu uczestnicy omówili wyjątkowe wyzwania, które wiążą się z tak szybkim rozwojem, oraz sposoby na to, aby treści o tematyce technicznej były interesujące i zabawne.

TensorFlow Singapur

Marcin Andrzej Martin Andrews Sam Witteveen Sam Witteveen
Sam, Martin, powiedz nam, dlaczego zdecydowałeś się założyć społeczność zajmującą się systemami uczącymi się i deep learning w Singapurze.

Sam: Z Martinem i ja zaczęliśmy rozmawiać o tworzeniu społeczności w listopadzie 2016 roku. Widzieliśmy, że użytkownicy byli zainteresowani systemami uczącymi się i deep learning. Nie udało się jednak zebrać takiej grupy. Oficjalnie rozpoczęliśmy ją w lutym 2017 r. po intensywnej promocji ze strony naszej firmy. Martin wystąpił na wielu wydarzeniach związanych z Pythonem i skontaktowałem się z lokalną sceną startupów.

Od samego początku przyświecała nam idea tworzenia treści zarówno dla początkujących, jak i zaawansowanych programistów, z krótkimi wykładami i gościnnymi prelegentami.

Martin: Zgodnie z naszą filozofią nie rozmawiamy bez kodu. Każdy, kto mówi, musi pokazać działający kod. Mimo że w Singapurze panuje tętniąca życiem scena spotkań i odbywają się one co najmniej raz w tygodniu, trudno jest zachęcić ludzi do wypowiadania się na wydarzeniach. Na początku wiedzieliśmy, że będzie to problem, dlatego Sam i ja wygłaszaliśmy wykłady na każdym z naszych wydarzeń. Nawet jeśli nie weźmiemy udziału w wydarzeniu, z Samem dbamy o to, aby na każdym wydarzeniu znajdowało się treści dla początkujących i nowoczesne. Uważamy też, że ważne jest, aby wydarzenia występowały regularnie i można na nich polegać. Firma Google udostępniła salę na 200 osób. To bardzo przydatne, bo dzięki temu nie musimy się martwić tym aspektem.

Czy w ramach wydarzeń organizowane są wydarzenia społecznościowe?

Sam: to znaczy, że nie ograniczamy nikomu korzystania z sieci, ale tak naprawdę nie mamy czasu przeznaczony na kontakty z innymi osobami. Jednak użytkownicy w dalszym ciągu korzystają z bezpłatnych sieci kontaktów.

Martin: Pizza jest z jakiegoś powodu bardzo droga w Singapurze i nie udało nam się wyrazić zgody na inne dobre jedzenie dla programistów (śmiech). Nie mamy więc jedzenia.

Zwykle nasze spotkania trwają od 19:00 do 21:00. Potem połowa tłumu się rozchodzi, a reszta poświęcana czas, rozmawiając.

Piszesz o promowaniu spotkań swojej społeczności. Jak to podeszłeś(-aś) i jakich narzędzi użyłeś(-aś)?

Sam: „Dzięki przekazom ustnym ludzie dowiedzieli się o nas. Dbamy też o to, aby podczas każdego spotkania prezentować przynajmniej jeden „gorący” temat, taki jak dodawanie napisów do zdjęć. To ważny czynnik zachęcający użytkowników do powrotu. Co miesiąc wybraliśmy też jeden z tych tematów. Przedstawiamy motyw miesiąca. Omówiliśmy na przykład deep learning na komórki, różne motywy związane z tekstem itp.

Przed pierwszym spotkaniem opublikowałem kilka ogłoszeń w społecznościach deweloperów i startupów na Facebooku. Od tamtej pory korzystamy ze Meetup.com i nasze rozwiązanie doskonale się sprawdza.

W zaledwie 7 miesięcy ich liczba wzrosła z 0 do 1,6 tys. Z jakimi wyjątkowymi wyzwaniami wiąże się tak szybki rozwój?

Sam: Jednym z naszych wyzwań jest to, aby spotkania były interesujące dla nowych uczestników, którzy nie mieli okazji do udziału w poprzednich spotkaniach, oraz dla starszych uczestników, którzy chcą mieć dostęp do bardziej zaawansowanych treści. Powtarzanie treści dla początkujących stanowimy osobne wydarzenia uzupełniające. Poza tym TensorFlow jest bardzo nowatorski, więc przyjeżdżają na spotkania ludzi, którzy czują, że mogą one być dla nich przydatne. Nie jesteśmy jednak w 100% pewni, jak to zrobić. Dlatego z Martinem aktywnie możemy się z nimi skontaktować. Wyzwaniem jest znalezienie osób, które wykorzystują ciekawe zastosowania ML/DL, i zachęcenie ich do dyskusji.

Martin: Początkujący nie są aż tak głośni – chcą się tylko uczyć. Zaawansowani ludzie zawsze potrzebują bardziej zaawansowanych rozwiązań. Musimy więc zachować równowagę między bardziej głośnymi elementami i naszym osądem co do odpowiedniego miksu. Wymyślanie nowych, interesujących tematów do omówienia w każdym miesiącu nie lada wyzwanie.

Sam: Powiększamy też przestrzeń do organizacji spotkań (śmiech).

Jak trudno jest początkującym osobom wejść w świat deep learning?

Sam: jeśli umiesz programować, bardzo szybko przyswoisz podstawy. Zdawaliśmy sobie sprawę, że użytkownicy mogą nie mieć doświadczenia z Pythonem, więc przed naszym wydarzeniem „Początkujący” wysłaliśmy link do podstawowej klasy Pythona. Byłem bardzo zadowolony z otrzymanych późniejszych informacji. Prawie wszystkie 100 uczestników czuło, jakby uczyło się wiele rzeczy.

Martin: Zamiast być na wyłączność, staramy się podkreślać, że każdy może zdobywać wiedzę. Staramy się też, żeby wszystkie nasze przykłady były wizualne. Na przykład nagrałam sobie kilka cyfr na telefonie z Androidem, a potem przekształciłam je w zdjęcia spektrogramów i użyłam standardowej sieci, aby je rozróżnić. To przykład dla początkujących, który będzie też interesujący dla bardziej zaawansowanych uczestników. Sam wykorzystał koncepcję CycleGAN, aby pokazać, jak zima wygląda w Singapurze, co nigdy nie będzie miało miejsca w rzeczywistości. Staramy się, by członkowie naszej społeczności próbowali nowych rzeczy i dobrze się przy tym bawili.

Sam: Technologia jest naprawdę ciekawa, jeśli można ją pokazać w ciekawy sposób. Uważam, że zasługujemy na duży szacunek, pokazując, co się nie udało i jak udało nam się rozwiązać problem. Nie widzimy więc, że wiemy wszystko od samego początku i znamy wszystkie odpowiedzi.

Wspomniałeś, że trudno znaleźć ludzi chętnych do wypowiadania się na spotkaniach. Jak ich motywujesz i jak skutecznie to robisz?

Martin: Wysyłamy kwestionariusz do każdego nowego członka grupy (MeetUp.com może zrobić to automatycznie). Pytamy ich o doświadczenie i to, czy korzystali już z deep learning, a także jedno pytanie: „Jeśli im uda się odnieść sukces, czy będą o tym mówić?”. Ze względu na sposób sformułowania w nim ciężko jest odmówić (śmiech). Ponad 80% z nich twierdzi, że może mówić, ale nadal jest to trudne. Staramy się, aby było jak najłatwiej, skłaniając do myślenia, że jeśli ktoś wygłosi krótką rozmowę na temat swoich osobistych doświadczeń z deep learning, chętnie to wysłucha.

Wygląda na to, że wiele się dzieje. Jak organizować i znajdować czas na przygotowanie się do spotkań i prowadzenie społeczności?

Sam: Organizowanie zjazdów nie jest zbyt czasochłonne. Przygotowanie treści to bardzo czasochłonne.

Martin: Jednym z osobistych powodów, dla których tak robię, było to, że chciałam co miesiąc ustalać sztuczny termin produkcji nowych treści. Poza tym bardzo łatwo można go odłożyć. Chcieliśmy też dowiedzieć się, „kto jest kim” w świetle lokalnej, bo podejrzewaliśmy, że na kampusach uniwersyteckich może się ukrywać wiele osób.

Systemy uczące się i deep learning mogą być wykorzystywane na wiele ciekawych sposobów. Czy możesz podać przykłady od swojej społeczności?

Martin: Jeden z użytkowników zastosował uczenie się transferowe (w ramach którego wykorzystujesz już wytrenowaną sieć i trenujesz ją do rozpoznawania nowych obiektów) oraz wytrenował ją, aby rozpoznawała swoją rodzinę na zdjęciach świątecznych. Nie wiedziałam, że ktoś będzie próbował czegoś takiego albo że tak naprawdę będzie działać. Chodzi o to, że wstępnie wytrenowana sieć nie została stworzona do rozpoznawania konkretnych osób.

Sam: Współpracujemy ze startupami nad zbieraniem danych, aby śledzić, czy upadły u osób starszych. Na podstawie tych danych stara się przewidzieć, czy trzeba wysłać kogoś w celu sprawdzenia, czy starsza osoba potrzebuje pomocy.

Użytkownicy mają wiedzę z własnej dziedziny i dają im kilka wskazówek. Dobrze, gdy potem wrócą i powiedzą, czy się udało.

Na co czekasz w najbliższej przyszłości?

Sam: Frank Chen z zespołu Google Brain opowie o nadchodzących zmianach w TensorFlow. Miło, że występuje on jako mówca oraz że wybrał naszą grupę do tworzenia ogłoszeń.

Martin: Z niecierpliwością czekamy na udostępnienie TPU w chmurze...

Sam: Chętnie rozmawiamy też z innymi organizatorami, zwłaszcza jeśli mieszkają w tej części świata i chcą porozmawiać. Zawsze szukamy prelegentów – chętnie porozmawiamy też na innych spotkaniach w regionie.