Как организирах обучения по машинно обучение в НГУ

Казвам се Саша и обичам машинното обучение, както и обучението на хора. В момента ръководя образователни програми в центъра по компютърни науки и водя бакалавриата по анализ на данни в СПбГУ. Преди това работих като аналитик в Яндекс, а още по-рано бях учен, занимавайки се с математическо моделиране в ИВТ СО РАН.

В този пост искам да разкажа какво стана с идеята за стартиране на тренировки по машинно обучение за студенти, завършили Новосибирския държавен университет, и всички желаещи.

Как организирах обучения по машинно обучение в НГУ

Отдавна желаех да организирам специален курс за подготовка за състезания по анализ на данни на Kaggle и други платформи. Това изглеждаше страхотна идея:

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

Стартиране

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

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

Първи резултати

Запознахме се с момчетата, обменихме опит, обсъдихме състезанията и приблизителния план за бъдещето. Бързо разбрахме, че борбата за места в състезанията по анализ на данни е регулярна изтощителна работа, приличаща на неплатена 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.

Как организирах обучения по машинно обучение в НГУ

Преди това оцеляваме както можем: изчислявахме на лични лаптопи и десктопи, в Google Colab и в Kaggle-kernels. Една от командите дори имаше самописан скрипт, който автоматично запазваше модела и рестартираше изчисленията, ако спрат поради лимита на времето.

През пролетния семестър продължихме да се събираме, да обменяме успешни находки и да разказваме за нашите решения на състезанията. Нови заинтересовани участници започнаха да идват при нас. През пролетния семестър успяхме да спечелим една златна, три сребърни и девет бронзови медала в осем конкурса на Kaggle: PetFinder, Santander, Разрешаване на гендерни местоимения, Идентификация на китове, 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. ПЕЧЕЛЕНЕ!

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster