Jak zorganizowałem treningi z uczenia maszynowego na NGU

Nazywam się Sasha i uwielbiam uczenie maszynowe oraz nauczanie ludzi. Obecnie kieruję programami edukacyjnymi w centrum informatyki i prowadzę studia licencjackie z analizy danych na uniwersytecie w Petersburgu. Wcześniej pracowałem jako analityk w Yandeksie, a jeszcze wcześniej byłem naukowcem, zajmującym się modelowaniem matematycznym w IWT SO RAN.

W tym poście chciałbym opowiedzieć, co wynikło z pomysłu uruchomienia szkoleń z uczenia maszynowego dla studentów, absolwentów Nowosybirskiego Uniwersytetu Państwowego i wszystkich chętnych.

Jak zorganizowałem treningi z uczenia maszynowego na NGU

Od dawna chciałem zorganizować kurs przygotowawczy do konkursów z analizy danych na Kaggle i innych platformach. To wydawało się świetnym pomysłem:

  • Studenci i wszyscy chętni zastosują w praktyce teoretyczną wiedzę i zdobędą doświadczenie w rozwiązywaniu problemów podczas publicznych konkursów.
  • Studenci, którzy zajmują wysokie miejsca w takich konkursach, pozytywnie wpływają na atrakcyjność Nowosybirskiego Uniwersytetu Państwowego dla kandydatów, studentów i absolwentów. Tak samo wygląda to z treningami w programowaniu sportowym.
  • Taki kurs doskonale uzupełnia i rozszerza fundamentalną wiedzę: uczestnicy samodzielnie wdrażają modele uczenia maszynowego, często łączą się w zespoły, które rywalizują na światowym poziomie.
  • W innych uniwersytetach już odbywały się takie treningi, więc miałem nadzieję na sukces kursu również w Nowosybirskim Uniwersytecie Państwowym.

Uruchomienie

W Akademgorodku w Nowosybirsku jest niezwykle sprzyjająca atmosfera dla takich inicjatyw: studenci, absolwenci i wykładowcy centrum informatyki oraz silnych wydziałów technicznych, np. FIT, MMF, FF, silne wsparcie ze strony administracji Nowosybirskiego Uniwersytetu Państwowego, aktywna społeczność ODS, doświadczeni inżynierowie i analitycy z różnych firm IT. Wtedy również dowiedzieliśmy się o programie grantowym od Botan Investments — fundusz wspiera zespoły, które osiągają dobre wyniki w konkursach z sportowego uczenia maszynowego.

Znaleźliśmy salę na uniwersytecie do cotygodniowych spotkań, stworzyliśmy czat w Telegramie i zaczęliśmy 1 października razem ze studentami i absolwentami centrum CS. Na pierwsze zajęcia przyszło 19 osób. Sześć z nich stało się stałymi uczestnikami treningów. W ciągu roku akademickiego na spotkaniu przynajmniej raz pojawiło się 31 osób.

Pierwsze rezultaty

Poznałem się z chłopakami, wymieniliśmy doświadczenia, omówiliśmy zawody i ogólny plan na przyszłość. Dosyć szybko zrozumieliśmy, że walka o miejsca w zawodach związanych z analizą danych to regularna, wyczerpująca praca, przypominająca płatną pracę na pełen etat, ale bardzo interesująca i ekscytująca 🙂 Jeden z uczestników, mistrz Kaggle Maksym, doradził nam, aby najpierw rozwijać się w konkursach indywidualnie, a dopiero po kilku tygodniach łączyć się w zespoły, biorąc pod uwagę publiczny wynik. Tak zrobiliśmy! Na stacjonarnych treningach omawialiśmy modele, artykuły naukowe i niuanse bibliotek Pythona, wspólnie rozwiązując problemy.

Wynikami semestru jesiennego są trzy srebrne medale w dwóch zawodach na Kaggle: TGS Salt Identification i PLAsTiCC Astronomical Classification. I jedno trzecie miejsce w konkursie CFT dotyczącego poprawy błędów ortograficznych z pierwszymi zarobionymi pieniędzmi (in the money, jak mówią doświadczeni keglerzy).

Kolejnym bardzo ważnym pośrednim wynikiem specjalnego kursu było uruchomienie i konfiguracja klastra WKI NSU. Jego moce obliczeniowe znacznie poprawiły nasze życie w konkursach: 40 CPU, 755 GB RAM, 8 GPU NVIDIA Tesla V100.

Jak zorganizowałem treningi z uczenia maszynowego na NGU

Do tego czasu przeżywaliśmy, jak mogliśmy: obliczaliśmy na osobistych laptopach i komputerach stacjonarnych, w Google Colab i w Kaggle-kernels. Jedna z drużyn miała nawet napisany przez siebie skrypt, który automatycznie zapisywał model i ponownie uruchamiał obliczenia, które zatrzymały się z powodu przekroczenia limitu czasowego.

W semestrze wiosennym nadal się zbieraliśmy, wymienialiśmy udane odkrycia i opowiadaliśmy o swoich rozwiązaniach w konkursach. Dołączyli do nas nowi zainteresowani uczestnicy. W semestrze wiosennym udało się zdobyć już jedno złoto, trzy srebra i dziewięć brązów w ośmiu konkursach na Kaggle: PetFinder, Santander, Rozwiązywanie problemów z zaimkami płciowymi, Identyfikacja wielorybów, Quora, Google Landmarks i inne, brąz w Recco challenge, trzecie miejsce w Changellenge>>Cup i pierwsze miejsce (ponownie in the money) w konkursie dotyczącym uczenia maszynowego na mistrzostwach programowania od Yandexu.

Co mówią uczestnicy treningów

Michał Karczewski
„Bardzo się cieszę, że taka działalność odbywa się u nas w Syberii, ponieważ uważam, że udział w konkursach to najszybszy sposób na opanowanie ML. Sprzęt do takich konkursów jest dość drogi, aby kupić go samodzielnie, a tutaj można próbować pomysłów za darmo.”

Kirill Brodt
„Przed pojawieniem się szkoleń ML niewiele brałem udziału w zawodach, z wyjątkiem akademickich i indyjskich, ponieważ nie widziałem w tym sensu, bo pracowałem w obszarze ML i znałem to dobrze. Pierwszy semestr chodziłem jako słuchacz. Jednak od drugiego semestru, gdy pojawiły się zasoby obliczeniowe, pomyślałem, dlaczego nie wziąć udziału. I to mnie wciągnęło. Zadanie, dane i metryki zostały przygotowane za ciebie; tylko korzystaj z mocy ML, sprawdzaj najnowsze modele i techniki. Gdyby nie te treningi i, co równie ważne, zasoby obliczeniowe, długo bym nie zaczął brać udziału.”

Andriej Szewielew
„Stacjonarne szkolenia z ML pomogły mi znaleźć współpracowników, z którymi udało mi się pogłębić moją wiedzę na temat uczenia maszynowego i analizy danych. To także świetna opcja dla osób, które nie mają dużo wolnego czasu na samodzielne zgłębianie tematu zawodów, ale chcą być na bieżąco.”

Dołącz do nas

Zawody na Kaggle i innych platformach szlifują praktyczne umiejętności i szybko przekładają się na interesującą pracę w obszarze data science. Osoby, które wspólnie wzięły udział w trudnych zawodach, często stają się kolegami i kontynuują wspólne rozwiązywanie zadań pracowniczych. Tak było i u nas: Michał Karczewski i jego kolega z zespołu przeszli do pracy w jednej firmie nad systemem rekomendacji.

Z biegiem czasu planujemy rozszerzyć tę działalność o publikacje naukowe i uczestnictwo w konferencjach dotyczących uczenia maszynowego. Dołącz do nas jako uczestnik lub ekspert w Nowosybirsku — pisz do mnie lub do Kirilla. Zorganizujcie podobne treningi w swoich miastach i uczelniach.

Oto mała ściągawka, która pomoże zrobić pierwsze kroki:

  1. Zaplanuj wygodne miejsce i czas regularnych zajęć. Optymalnie — 1-2 razy w tygodniu.
  2. Napisz do potencjalnie zainteresowanych uczestników o pierwszym spotkaniu. Przede wszystkim są to studenci uczelni technicznych oraz uczestnicy ODS.
  3. Załóż czat do omawiania bieżących spraw: Telegram, VK, WhatsApp lub inny wygodny dla większości komunikator.
  4. Prowadź publiczny plan zajęć, listę zawodów i uczestników, monitoruj wyniki.
  5. W pobliskich uniwersytetach, instytutach naukowych lub firmach znajdź wolne moce obliczeniowe lub granty na nie.
  6. ZYSK!

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster