Kif organizzajt it-taħriġ tat-tagħlim tal-magni fl-NSU

Меня зовут Саша и я люблю машинное обучение, а также обучение людей. Сейчас курирую образовательные программы в Computer Science центре и руковожу бакалавриатом по анализу данных в СПбГУ. До этого работал аналитиком в Яндексе, а ещё раньше — учёным: занимался математическим моделированием в ИВТ СО РАН.

В этом посте хочу рассказать, что получилось из идеи запуска тренировок по машинному обучению для студентов, выпускников Новосибирского государственного университета и всех желающих.

Kif organizzajt it-taħriġ tat-tagħlim tal-magni fl-NSU

Мне давно хотелось организовать спецкурс по подготовке к соревнованиям по анализу данных на Kaggle и других платформах. Это казалось отличной идеей:

  • Студенты и все желающие применят на практике теоретические знания, получат опыт решения задач на публичных соревнованиях.
  • Студенты, которые занимают места в топе на таких соревнованиях, хорошо влияют на привлекательность НГУ для абитуриентов, студентов и выпускников. С тренировками по спортивному программированию происходит точно также.
  • Такой спецкурс отлично дополняет и расширяет фундаментальные знания: участники самостоятельно реализуют модели машинного обучения, часто объединяются в команды, которые конкурируют на мировом уровне.
  • В других университетах уже проводились такие тренировки, поэтому я надеялся на успех спецкурса и в НГУ.

Tnedija

В Академгородке Новосибирска очень благодатная почва для подобных начинаний: студенты, выпускники и преподаватели Computer Science центра и сильных технических факультетов, например, ФИТ, ММФ, ФФ, мощная поддержка администрации НГУ, активное ODS-сообщество, опытные инженеры и аналитики разных IT-компаний. Примерно тогда же мы узнали о грантовой программе от Botan Investments — фонд поддерживает команды, которые показывают хорошие результаты в соревнованиях по спортивному ML.

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

L-ewwel riżultati

Мы с ребятами познакомились, обменялись опытом, обсудили соревнования и примерный план на будущее. Довольно быстро поняли, что борьба за места в соревнованиях по анализу данных — это регулярный изнурительный труд, похожий на неоплачиваемую full-time работу, но очень интересную и захватывающую 🙂 Один из участников, Kaggle-master Максим, посоветовал нам сначала продвигаться в конкурсах индивидуально, и только через несколько недель после этого объединяться в команды, учитывая public score. Мы так и сделали! На очных тренировках обсуждали модели, научные статьи и тонкости Python-библиотек, вместе решали проблемы.

Результатами осеннего семестра стали три серебра в двух соревнованиях на Kaggle: TGS Salt Identification и PLAsTiCC Astronomical Classification. И одно третье место в конкурсе ЦФТ по исправлению опечаток с первыми выигранными деньгами (in the money, как говорят опытные кегглеры).

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

Kif organizzajt it-taħriġ tat-tagħlim tal-magni fl-NSU

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

В весеннем семестре мы продолжили собираться, обмениваться успешными находками и рассказывать о своих решениях соревнований. К нам стали приходить новые заинтересованные участники. За весенний семестр получилось взять уже одно золото, три серебра и девять бронз в восьми конкурсах на Kaggle: PetFinder, Santander, Gendered pronoun resolution, Whale Identification, Kwora, Google Landmarks и других, бронзу в Recco challenge, третье место в Changellenge>>Cup и первое место (снова in the money) в соревновании по машинному обучению на чемпионате по программированию minn Yandex.

Что говорят участники тренировок

Михаил Карчевский
«Я очень рад, что такая деятельность ведётся у нас в Сибири, так как считаю, что участие в конкурсах — самый быстрый способ освоить ML. Для таких конкурсов железо достаточно дорогое, чтобы купить самостоятельно, а тут можно пробовать идеи бесплатно».

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

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

Ingħaqad magħna

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

Со временем мы планируем расширить эту активность научными публикациями и участием в конференциях по машинному обучению. Присоединяйтесь к нам в качестве участников или экспертов в Новосибирске — пишите me jew Kirill. Организуйте аналогичные тренировки в своих городах и университетах.

Вот маленькая шпаргалка, которая поможет сделать первые шаги:

  1. Продумайте удобное место и время регулярных занятий. Оптимально — 1-2 раза в неделю.
  2. Напишите потенциально заинтересованным участникам о первой встрече. В первую очередь это студенты технических вузов, участники ODS.
  3. Заведите чатик для обсуждения текущих дел: Telegram, VK, WhatsApp или любой другой удобный большинству мессенджер.
  4. Ведите общедоступный план занятий, список соревнований и участников, следите за результатами.
  5. В близких университетах, научных институтах или компаниях найдите свободные вычислительные мощности или гранты на них.
  6. QLIGĦ!

Sors: www.habr.com

Żid kumment