Як я арганізаваў трэніроўкі па машынным навучанні ў НДУ

Мяне клічуць Саша і я люблю машыннае навучанне, а таксама навучанне людзей. Цяпер курырую адукацыйныя праграмы ў Computer Science цэнтры і кірую бакалаўрыятам па аналізе дадзеных у СПбГУ. Да гэтага працаваў аналітыкам у Яндэксе, а яшчэ раней – навукоўцам: займаўся матэматычным мадэляваннем у ІВТ СА РАН.

У гэтым пасце жадаю распавесці, што атрымалася з ідэі запуску трэніровак па машынным навучанні для студэнтаў, выпускнікоў Новасібірскага дзяржаўнага ўніверсітэта і ўсіх жадаючых.

Як я арганізаваў трэніроўкі па машынным навучанні ў НДУ

Мне даўно хацелася арганізаваць спецкурс па падрыхтоўцы да спаборніцтваў па аналізе даных на Kaggle і іншых платформах. Гэта здавалася выдатнай ідэяй:

  • Студэнты і ўсе жадаючыя прыменяць на практыцы тэарэтычныя веды, атрымаюць вопыт вырашэння задач на публічных спаборніцтвах.
  • Студэнты, якія займаюць месцы ў топе на такіх спаборніцтвах, добра ўплываюць на прывабнасць НДУ для абітурыентаў, студэнтаў і выпускнікоў. З трэніроўкамі па спартовым праграмаванні адбываецца сапраўды таксама.
  • Такі спецкурс выдатна дапаўняе і пашырае фундаментальныя веды: удзельнікі самастойна рэалізуюць мадэлі машыннага навучання, часта аб'ядноўваюцца ў каманды, якія канкуруюць на сусветным узроўні.
  • У іншых унівэрсытэтах ужо праводзіліся такія трэніроўкі, таму я спадзяваўся на посьпех спэцкурсу і ў НДУ.

запуск

У Акадэмгарадку Новасібірска вельмі прасвядная глеба для падобных пачынанняў: студэнты, выпускнікі і выкладчыкі Computer Science цэнтра і моцных тэхнічных факультэтаў, напрыклад, ФІТ, ММФ, ФФ, магутная падтрымка адміністрацыі НДУ, актыўная ODS-супольнасць, вопытныя інжынеры і аналітыкі розных IT-кампаній. Прыкладна тады ж мы даведаліся аб грантавай праграме ад Botan Investments - фонд падтрымлівае каманды, якія паказваюць добрыя вынікі ў спаборніцтвах па спартыўным ML.

Мы знайшлі аўдыторыю ў НДУ для штотыднёвых сустрэч, стварылі чацік у Тэлеграме і з 1 кастрычніка запусціліся разам са студэнтамі і выпускнікамі CS цэнтра. На першы занятак прыйшлі 19 чалавек. Шэсць з іх сталі пастаяннымі ўдзельнікамі трэніровак. Усяго за навучальны год на сустрэчу хаця б раз прыйшоў 31 чалавек.

Першыя вынікі

Мы з хлопцамі пазнаёміліся, абмяняліся вопытам, абмеркавалі спаборніцтвы і прыкладны план на будучыню. Даволі хутка зразумелі, што барацьба за месцы ў спаборніцтвах па аналізе дадзеных — гэта рэгулярная знясільваючая праца, падобная да неаплатнай full-time працы, але вельмі цікавай і захапляльнай 🙂 і толькі праз некалькі тыдняў пасля гэтага аб'ядноўвацца ў каманды, улічваючы public score. Мы так і зрабілі! На вочных трэніроўках абмяркоўвалі мадэлі, навуковыя артыкулы і тонкасці Python-бібліятэк, разам вырашалі праблемы.

Вынікамі восеньскага семестра сталі тры срэбра ў двух спаборніцтвах на Kaggle: TGS Salt Identification и PLAsTiCC Astronomical Classification. І адно трэцяе месца ў конкурсе ЦФТ па выпраўленні памылак друку з першымі выйгранымі грашыма (in the money, як кажуць дасведчаныя кегглеры).

Яшчэ адным вельмі важным ускосным вынікам спецкурса стаў запуск і настройка кластара ВКИ НГУ. Яго вылічальныя магутнасці прыкметна палепшылі наша спаборніцкае жыццё: 40 CPU, 755Gb RAM, 8 GPU NVIDIA Tesla V100.

Як я арганізаваў трэніроўкі па машынным навучанні ў НДУ

Да гэтага мы выжывалі як маглі: лічылі на асабістых наўтбуках і дэсктопах, у Google Colab і ў Kaggle-kernels. У адной каманды нават быў самапісны скрыпт, які аўтаматычна захоўваў мадэль і перазапускаў разлік, які спыніўся па ліміце часу.

У вясновым семестры мы працягнулі збірацца, абменьвацца паспяховымі знаходкамі і расказваць аб сваіх рашэннях спаборніцтваў. Да нас сталі прыходзіць новыя зацікаўленыя ўдзельнікі. За вясновы семестр атрымалася ўзяць ужо адно золата, тры срэбра і дзевяць бронз у васьмі конкурсах на Kaggle: PetFinder, Сантандер, Gendered pronoun resolution, Whale Identification, Quora, Google Landmarks і іншых, бронзу ў Recco challenge, трэцяе месца ў Changellenge>>Cup і першае месца (зноў in the money) у спаборніцтве па машынным навучанні на чэмпіянаце па праграмаванні ад Яндэкса.

Што гавораць удзельнікі трэніровак

Міхаіл Карчэўскі
«Я вельмі рады, што такая дзейнасць вядзецца ў нас у Сібіры, бо лічу, што ўдзел у конкурсах – самы хуткі спосаб асвоіць ML. Для такіх конкурсаў жалеза дастаткова дарагое, каб купіць самастойна, а тут можна спрабаваць ідэі бясплатна».

Кірыл Бродт
«Да з'яўлення мл-трэніровак я асабліва не ўдзельнічаў у конкурсах за выключэннем навучальных і індускіх спаборніцтваў: не бачыў у гэтым сэнсу, бо праца ў мяне ў галіне МА была, ды і з ім я знаёмы. Першы семестр хадзіў як слухач. А пачынаючы з другога семестра, як толькі з'явіліся вылічальныя рэсурсы, падумаў, чаму б і не паўдзельнічаць. І мяне гэта зацягнула. Задачу, дадзеныя і метрыкі за цябе прыдумалі і прыгатавалі, бяры ды выкарыстоўвай усю моц МА, правярай state-of-the-art мадэлі і тэхнікі. Калі б не трэніроўкі і, не менш важна, вылічальныя рэсурсы, я б не хутка пачаў удзельнічаць».

Андрэй Шавялёў
«Гэтыя ML-трэніроўкі дапамаглі мне знайсці аднадумцаў, сумесна з якімі ўдалося паглыбіць свае веды ў галіне машыннага навучання і аналізу дадзеных. Таксама гэта выдатны варыянт для тых, у каго няма асабліва вольнага часу на самастойны разбор і апусканне ў тэму конкурсаў, але быць у тэме ўсё ж жадаецца».

Далучайцеся да нас

Спаборніцтвы на Kaggle і іншых пляцоўках навострываюць практычныя ўменні і хутка канвертуюцца ў цікавую працу ў вобласці data science. Людзі, якія разам паўдзельнічалі ў цяжкім спаборніцтве, часта становяцца калегамі і працягваюць паспяхова рашаць ужо працоўныя задачы. Такое здаралася і ў нас: Міхась Карчэўскі ў пары з сябрам з каманды перайшлі працаваць у адну кампанію над рэкамендацыйнай сістэмай.

З часам мы плануем пашырыць гэтую актыўнасць навуковымі публікацыямі і ўдзелам у канферэнцыях па машынным навучанні. Далучайцеся да нас у якасці ўдзельнікаў або экспертаў у Новасібірску - пішыце мне або Кірылу. Арганізуйце аналагічныя трэніроўкі ў сваіх гарадах і ўніверсітэтах.

Вось маленькая шпаргалка, якая дапаможа зрабіць першыя крокі:

  1. Прадумайце зручнае месца і час рэгулярных заняткаў. Аптымальна - 1-2 разы на тыдзень.
  2. Напішыце патэнцыйна зацікаўленым удзельнікам аб першай сустрэчы. У першую чаргу гэта студэнты тэхнічных вну, удзельнікі ODS.
  3. Завядзіце Чацік для абмеркавання бягучых спраў: Telegram, VK, WhatsApp або любы іншы зручны большасці мэсанджар.
  4. Вядзіце агульнадаступны план заняткаў, спіс спаборніцтваў і ўдзельнікаў, сачыце за вынікамі.
  5. У блізкіх універсітэтах, навуковых інстытутах ці кампаніях знайдзіце вольныя вылічальныя магутнасці ці гранты на іх.
  6. PROFIT!

Крыніца: habr.com

Дадаць каментар