Мене звуть Сашко, і я люблю машинне навчання, а також навчання людей. Зараз курирую освітні програми в Computer Science центрі та керую бакалавріатом з аналізу даних у СПбДУ. До цього працював аналітиком в Яндексі, а ще раніше - вченим: займався математичним моделюванням в ІВТ СО РАН.
У цьому посту хочу розповісти, що вийшло з ідеї запуску тренувань з машинного навчання для студентів, випускників Новосибірського державного університету та всіх бажаючих.
Мені давно хотілося організувати спецкурс із підготовки до змагань з аналізу даних на Kaggle та інших платформах. Це здавалося чудовою ідеєю:
- Студенти та всі бажаючі застосують на практиці теоретичні знання, матимуть досвід вирішення завдань на публічних змаганнях.
- Студенти, які займають місця у топі на таких змаганнях, добре впливають на привабливість НГУ для абітурієнтів, студентів та випускників. З тренуваннями зі спортивного програмування відбувається так само.
- Такий спецкурс відмінно доповнює та розширює фундаментальні знання: учасники самостійно реалізують моделі машинного навчання, часто об'єднуються у команди, які конкурують на світовому рівні.
- В інших університетах уже проводилися такі тренування, тож я сподівався на успіх спецкурсу і в НГУ.
запуск
В Академмістечку Новосибірська дуже благодатний ґрунт для подібних починань: студенти, випускники та викладачі Computer Science центру та сильних технічних факультетів, наприклад, ФІТ, ММФ, ФФ, потужна підтримка адміністрації НГУ, активна ODS-спільнота, досвідчені інженери та аналітики різних IT-компаній. Приблизно тоді ж ми дізналися про грантову програму від
Ми знайшли аудиторію в НГУ для щотижневих зустрічей, створили чатик у Телеграмі та з 1 жовтня запустилися разом зі студентами та випускниками CS центру. На перше заняття прийшли 19 людей. Шість із них стали постійними учасниками тренувань. Загалом за навчальний рік на зустріч хоча б раз прийшла 31 особа.
перші результати
Ми з хлопцями познайомилися, обмінялися досвідом, обговорили змагання та зразковий план на майбутнє. Досить швидко зрозуміли, що боротьба за місця у змаганнях з аналізу даних — це регулярна виснажлива праця, схожа на неоплачувану full-time роботу, але дуже цікаву і захоплюючу 🙂 і лише через кілька тижнів після цього об'єднуватись у команди, враховуючи public score. Ми так і зробили! На очних тренуваннях обговорювали моделі, наукові статті та тонкощі Python-бібліотек, які разом вирішували проблеми.
Результатами осіннього семестру стали три срібла у двох змаганнях на Kaggle:
Ще одним дуже важливим непрямим результатом спецкурсу став запуск та налаштування кластера ВКІ НГУ. Його обчислювальні потужності помітно покращили наше змагальне життя: 40 CPU, 755Gb RAM, 8 GPU NVIDIA Tesla V100.
До цього ми виживали як могли: вважали на особистих ноутбуках і десктопах, Google Colab і Kaggle-kernels. В однієї команди навіть був самописний скрипт, який автоматично зберігав модель і перезапускав розрахунок, що зупинився за лімітом часу.
У весняному семестрі ми продовжили збиратися, обмінюватися успішними знахідками та розповідати про свої рішення змагань. До нас почали приходити нові зацікавлені учасники. За весняний семестр вдалося взяти вже одне золото, три срібла та дев'ять бронз у восьми конкурсах на Kaggle:
Що кажуть учасники тренувань
«Я дуже радий, що така діяльність ведеться у нас у Сибіру, тому що вважаю, що участь у конкурсах – найшвидший спосіб освоїти ML. Для таких конкурсів залізо досить дороге, щоби купити самостійно, а тут можна пробувати ідеї безкоштовно».
«До появи мл-тренувань я особливо не брав участі в конкурсах за винятком навчальних та індуських змагань: не бачив у цьому сенсу, бо робота у мене в галузі МО була, та й з ним я знайомий. Перший семестр ходив як слухач. А починаючи з другого семестру, тільки-но з'явилися обчислювальні ресурси, подумав, чому б і не взяти участь. І це мене затягло. Завдання, дані та метрики за тебе придумали і приготували, бери та використовуй всю міць МО, перевіряй state-of-the-art моделі та техніки. Якби не тренування і, не менш важливо, обчислювальні ресурси, я не скоро почав би брати участь».
«Очні ML-тренування допомогли мені знайти однодумців, спільно з якими вдалося поглибити свої знання у галузі машинного навчання та аналізу даних. Також це відмінний варіант для тих, хто не має особливо вільного часу на самостійний розбір і занурення в тему конкурсів, але бути в темі все ж таки хочеться».
приєднуйся до нас
Змагання на Kaggle та інших майданчиках відточують практичні вміння та швидко конвертуються у цікаву роботу в області data science. Люди, які разом взяли участь у важкому змаганні, часто стають колегами та продовжують успішно вирішувати вже робочі завдання. Таке траплялося й у нас: Михайло Карчевський у парі з другом із команди перейшли працювати в одну компанію над рекомендаційною системою.
Згодом ми плануємо розширити цю активність науковими публікаціями та участю у конференціях з машинного навчання. Приєднуйтесь до нас як учасники або експерти в Новосибірську — пишіть
Ось маленька шпаргалка, яка допоможе зробити перші кроки:
- Продумайте зручне місце та час регулярних занять. Оптимально – 1-2 рази на тиждень.
- Напишіть потенційно зацікавленим учасникам про першу зустріч. Насамперед це студенти технічних вузів, учасники ODS.
- Заведіть чатик для обговорення поточних справ: Telegram, VK, WhatsApp або будь-який інший зручний для більшості месенджер.
- Ведіть загальнодоступний план занять, список змагань та учасників, слідкуйте за результатами.
- У близьких університетах, наукових інститутах чи компаніях знайдіть вільні обчислювальні потужності чи гранти на них.
- PROFIT!
Джерело: habr.com