Рубрики
Статьи

Как я поступил и учусь в MADE. Честный отзыв студента

Mail.ru открыла 2-й набор в бесплатную Академию больших данных MADE. А я там сейчас учусь. Поэтому решил, что просто обязан рассказать, как поступал, что это за Академия больших данных и каково там учиться. В общем, «показать все, что скрыто».

Во-первых, что это такое за MADE?

MADE — это что-то вроде магистратуры от Mail.ru, где учат Data Science и машинному обучению для того, чтобы стать востребованным специалистом. Бесплатно. Долго, 1.5 года. «На выживание», отчисляя тех, кто не тянет. Если вы слышали про ШАД Яндекса или OzonMasters от, соответственно, Ozon, вот это — оно. 

Официально, программы Яндекса и Озона больше направлены на подготовку студентов, а MADE — на обучение уже действующих программистов/аналитиков и т.д. Но это, скорее, условности, ибо один мой знакомый, которому под 40 лет, учится в ШАД, и я знаю довольно много студентов, которые учатся в MADE. 

О поступлении

Я начал интересоваться анализом данных в марте 2019 года. Кратко про мой уровень тогда:

  • закончил факультет телекоммуникаций университета информатики и электроники 9 лет назад; сразу после этого писал на Java 2 года, работая по распределению
  • целых 6 лет в маркетинге, веб-аналитике, лидогенерации, обучении Google Ads, небольшая «выросшая корона крутого специалиста»
  • из математики с трудом помнил, что такое логарифм и производная, без гугла не мог перемножить матрицы и где-то слышал про то, что существует статистическая значимость
  • писал сайты на node.js и php

Конечно же, с такими вводными я сразу захотел поступить в ШАД 🙂 Для этого свернул все проекты и засел на фулл-тайм учиться в библиотеку по 8-10 часов. У меня было чуть меньше 1.5 месяца до экзаменов, и я по будням и выходным смотрел лекции по матанализу, линейной алгебре, проходил курсы по машинному обучению на coursera, учился писать на Python. 

Естественно, 40 дней подготовки для моего уровня было просто смешно и я не поступил. Провалил вступительный тест и не дошел до экзамена. Справедливости ради скажу, что до допуска к экзамену в тесте не хватило 1 балла. Но это уже не имело значения.

Так я не попал в ШАД

Сначала было отрицание, потом гнев и принятие. Я решил, что планов менять не хочу и точно поступлю учиться. Другие люди поступают, значит и я смогу. И дальше методично, по 8 часов в день, я продолжил просиживать за учебой в библиотеке. Так (в библиотеке) прошла моя весна и лето 2019.

Так прошло вся моя весна и лето 2019

Что я сделал:

  • Просмотрел десятки часов лекций по высшей математике. Сидел с учебниками и прорешал десятки задач.
  • Закончил специализацию по машинному обучению на Coursera.
  • Прошел курс по алгоритмам от университета Сан-Диего на Coursera.
  • Прошел курс по статистике на Stepik-е.
  • И еще много всего по мелочи…

Получилось такое «второе высшее на минималках». Подробные обзоры на курсы, которые проходил, здесь.

И тут, 3 сентября, я вижу объявление о том, что Mail.ru будет бесплатно обучать специалистов в области Data Science и машинного обучения. И набор открыт уже сейчас. Естественно, я даже не думал ждать еще год до ШАД. Притом, программы обучения были очень похожи. Появилась возможность — сразу отправил заявку.

Через день после дня X

Почему не платные курсы?

Потому что задача MADE — подготовить востребованных на рынке специалистов, в том числе для Mail.ru. Потому что обучение будет сложное: не все потянут и их не будут подтягивать. Потому что будут учить не тому, что большинство сможет освоить, а тому, что сейчас нужно рынку. Потому что это просто эффективно. Но я понимал, что за эту эффективность придется платить всем свободным временем, нервами и сном. И был к этому готов.

Платные курсы — намного более мягкий вариант. Берут туда почти всех. Проведут за ручку, все объяснят, отстающим помогут. Будет проще. Требования ниже. Сходимость к концу курса большая: подозреваю, в районе 70-80% учеников «доживает» или даже больше. Не это не «путь самурая», как потом сказал мой коллега по MADE, Михаил 🙂

Хотя если бы у меня было свободных 10-15 часов в неделю, и я не мог бы себе позволить учиться фулл-тайм полгода в библиотеке, то платные курсы были бы хорошим выходом. 

Вступительные экзамены

Все, чему я учился эти 6 месяцев в библиотеке, пригодилось. И алгоритмы, и машинное обучение, и конечно, математика. 

  1. Онлайн-тестирование по математике. Задачи от простых из матанализа, которые можно решить даже «на глаз», до сложных, где пришлось расписать, к примеру, неоднородный дифур 2-го порядка. Как-то решил все. До сих пор не уверен, что правильно.
  2. Тестирование по алгоритмам. Оно оказалось сильно проще, чем я ожидал. Первые 3 задачи можно было решить просто исходя из здравого смысла, а для 4-й уже понадобилось уметь обходить деревья. Конечно, потом (при учебе) такие странные решения, хоть они и давали правильный ответ, преподаватели просто не приняли бы. Но здесь была оценивающая система, и я умудрился сдать все 4 задачи. Сдавал на Python.
  3. Необязательный этап. Соревнование по анализу данных, чтобы набрать дополнительные баллы. Конечно, я участвовал в нем тоже. В отличие от тестов, здесь времени было не несколько часов, а 14 дней. В итоге, закончил его на 30 месте из 527 человек. 
Так я поучаствовал в своем первом соревновании по анализу данных и машинному обучению. И как не странно, не на Kaggle. Место 30 / 527

И 30 сентября мне пришло письмо. До последнего не верил, что пройду. Я был очень рад 🙂

Вот к этому письму я шел полгода

Как потом узнал, на очное был конкурс в районе 10 человек на место. А на дистанционное (куда поступал я), 32 человека на место. Иначе как упорство и удача я свой результат назвать не могу.

В этом году, судя по инфе на сайте, поступление будет похожим. За исключением двух моментов:

  • Конкурс будет один и тот же для очников и дистанционников. Это очень хорошо для тех, кто планирует учиться удаленно. 
  • Для части людей будет дополнительное онлайн-собеседование.

Об учебной нагрузке

На сайте MADE пишут про нагрузку в 15-20 часов в неделю. Как шутили коллеги в чатике «15-20 часов в неделю — это если вы уже всё знаете». У меня в 1-м семестре уходило в районе 25-30 часов. Сейчас — в районе 20-25 часов в неделю. 

Допустим, мы сдаем минимум, 3 предмета. Можно посчитать:

  • 3 лекции и 3 практических занятия по 3-м предметам — это уже минимум 9 часов в неделю
  • Домашка по каждому занимает совсем не 2 часа. По алгоритмам было такое, что я сидел по 15-20 часов только над одной задачей. Но даже если вы — молодец и будете тратить на ДЗ по каждому предмету всего 5 часов в неделю (что маловероятно), выйдет 15 часов. 
  • Сопутствующее обучение. К примеру, мне пришлось быстро выучить основы C++, чтобы сдавать алгоритмы.

9 + 3 • 5 = 24 часа. В неделю. Это уже ближе к реальности. 

Ещё у нас вместе с поступлением в MADE родился сын. А за месяц до поступления меня позвали работать Data Scientist-ом в 21vek. Все это вместе было крайне забавно. 🙂

Из плюсов большого объема учебы кроме знаний и навыков:

  • Никаких экзистенциальных кризисов. Точно понятно, куда будет уходить ВСЁ свободное время в ближайшие 1.5 года.
  • Сильно упало экранное время в телефоне
  • Перестал смотреть сериалы.
  • Начал медитировать. Надо же как-то компенсировать хронические недосыпы.

Учиться сложно. ДЗ много, предметов — 3+. Кто-то выбирает «путь самурая» и берет 4. Я сдал в 1-м семестре 4 предмета и больше такой подвиг морально не готов повторять. 

Несмотря на то, что после вступительных с хорошим конкурсом кто попало поступить не мог, первый семестр «пережили» не все. Алгоритмы и структуры данных (обязательный в 1 семестре предмет) сдала примерно половина. Остальные, вроде как, дальше не пошли.

Было непросто, но с 1-м семестром справился. Притом, хорошо.

Если резюмировать по нагрузке — это отличный вызов, который я искал.

Про предметы, которые изучаем

Самая первая лекция по машинному обучению. Ведет Виктор Кантор.

За 1-й семестр мы в основном проходили базу: алгоритмы, статистика, машинное обучение, продвинутый Python/С++. Получился своеобразный уравнивающий блок, после которого можно уже двигаться дальше к прикладным задачам.

За 2-й семестр мы изучали (и пока ещё изучаем) больше прикладных вещей: natural language processing, компьютерное зрение, big data, дизайн и планирование экспериментов. Довольно много работы с нейросетями: учились генерировать текст, переводить с одного языка на другой, находить точки на лице, распознавать автомобильные номера. Есть соревнования, когда нужно сделать алгоритм лучше, чем у других. Есть обычные ДЗ, где задача — к примеру, написать систему машинного перевода лучше, чем заданная планка качества. Или с подачи Сергея Николенко мы моделировали распространение коронавируса. 

И появились еще более теоретические предметы вроде методов оптимизации и продвинутого машинного обучения. 

Я взял NLP, Computer Vision, дизайн экспериментов (мини-курс), продвинутый ML и методы оптимизации. Но от последнего курса пришлось отказаться в середине семестра, ибо банально не успевал. 

На 2-м семестре так же начинается разделение по специализациям: Data Scientist, Machine Learning Engineer и Data Engineer. Но на нашем потоке это разделение скорее в виде рекомендаций, чем жестких ограничений. Если хотите пройти какой-то курс другой специализации, никто запрещать не будет.

За 3-й семестр, как я понял, будут углубленные предметы вроде нейробайесовских методов, распределенных систем и ML на графах. Но это уже посмотрим.

Преподаватели

Они не только просто классные, но и крутые спецы в своем деле. Спасибо им огромное за терпение и желание научить. К тому же, в том, чтобы проверить 80-100 довольно больших работ на каждое ДЗ и персонально дать комментарии каждому студенту, есть некоторая доля героизма. 

Очень здорово, что большинство преподавателей умеют доносить сложные вещи просто и понятно. Лично мне больше всего запомнились Радослав Нейчев (вот и вот пару его курсов по ML в МФТИ), Сергей Николенко (его канал с лекциями и книга «Глубокое обучение» про нейросети), Даниил Лысухин и Михаил Хальман. Но это — скорее личные предпочтения. Все преподаватели по своему крутые 🙂

Вместо резюме

Я очень рад, что поступил. Очень рад, что сейчас столько возможностей учиться. Конечно, учиться сложно. Но, по мне, — это хорошие сложности. Я к таким сложностям готов и в какой-то мере рад им.

Спасибо за эту возможность.

Как поступить?

Насколько я понял, теперь наборы будут проходить каждый год. До 1 августа 2020 можно подать заявку. Потом пройти онлайн-тестирования по математике и программированию. И, возможно, собеседование. 

Подавать заявку здесь: https://data.mail.ru

Поступить непросто, но реально. Я, как мог, пугал сложностями и лишениями. Но если вы все же выбрали «путь самурая», удачи. Она будет не лишней 🙂

Автор: Алексей Ярошенко

Data Scientist / ML Engineer. Раньше занимался интернет-маркетингом и учил людей контексту. Сертифицированный тренер Google в Беларуси.

13 ответов к “Как я поступил и учусь в MADE. Честный отзыв студента”

Алексей, добрый день. Благодарю за статью. Моя история очень похожая: степень магистра в БГУ, все на отлично, все забыто, сейчас увлекся датой и пытаюсь реанимировать.
Можете набросать список предметов, которые нужны для поступления, вместе с ссылками на учебники или курсы, которые с вашей точки зрения хороши для подготовки? Благодарю.

Добрый, Андрей!

Если взять отдельно математику, то продублирую свой коммент на FB: «Там у меня такая каша была, всего по чуть-чуть) От Кострикина и Жевняка с Карпуком до лекций Савватеева/Тониса по линалу и матану (на ютубе) и пачки разных решебников от брата, которые я уже не вспомню. И, конечно же, mathprofi ru»

По предметам: линейная алгебра, матанализ, теория вероятностей и мат. статистика + основы комбинаторики, python, алгоритмы и структуры данных. И неплохо было бы базово разбираться в машинном обучении, чтобы поучаствовать в соревновании по анализу данных.

Про курсы, которые проходил, описал отдельно здесь: https://yaroshenko.by/machine-learning-courses/

Возможно, вам еще будут полезны рекомендации по подготовке от самого MADE со списком источников, вот свежие:
https://data.mail.ru/static/core/pub/bigdata/docs/2020_MADE_Syllabus.pdf

И еще, свежий пример экзамена по математике:
https://data.mail.ru/static/core/pub/bigdata/docs/2020_MADE_demo_Math.pdf

Алексей, большое спасибо за статью! В инете пока что не нашел ни одного отзыва от студента об этой программе.

Не могли бы Вы, пожалуйста, подсказать, а насколько глубокое обучение в MADE ? Поясню. Вот студенты изучают, скажем, ML, NLP, Computer Vision, алгоритмы и структуры данных и приводят ли преподаватели доказательства тех или иных теорем, рассказывают ли о том, почему тот или иной алгоритм корректен и как это доказать, насколько подробно рассказывают о том КАК ИМЕННО работает NLP и Computer Vision с точки зрения математики, выводите ли вы какие-либо, например, формулы ? Или же акцент больше на следующем (грубо говоря): «вот смотрите, есть вот такой метод, он примерно работает вот так-то (объяснение на пальцах) и есть такая вот библиотека с его реализацией и мы вам объясним как ею пользоваться.» ?

Боюсь, обычно подразумевается, что как использовать библиотеку «на пальцах» мы и сами разберемся. А по глубине… наверное, лучше на примерах приведу:

  • В GANах мы подробно разбирали, почему же KL или JS дивергенции не очень хорошо работают в отличие от дистанции Вассерштейна.
  • Проходили формальное доказательство сходимости EM-алгоритма или, к примеру, делали байесовский вывод для линейной регрессии (выводили формулы перехода к сопряженному апостериорному распределению).
  • Разбирали и имплементировали статьи. К примеру, одно из заданий было с нуля написать свой LambdaRank/LambdaMART по статье.
  • Курс по методам оптимизации вообще состоит в основном из формальных доказательств.

Конечно, странно было бы, если бы мы совсем не пользовались готовыми библиотеками. Но, к примеру, прежде чем пользоваться LSTM, писали свою рекуррентную сеточку на линейных слоях. Или писали свой attention. Про алгоритмы и структуры данных — конечно, доказательства тоже были (по крайней мере, в 1-м семестре точно, во втором — не брал этот курс, ибо жестко + были другие интересные).

Так что скорее 1-й вариант, особенно во 2-м семестре.

По математике у нас были тесты с вариантами ответа. В одном из заданий они даже помогли 🙂 По программированию — обычный контест, куда ты посылаешь код, который должен пройти тесты. Как на яндекс.контест, leetcode или codeforces.

По времени у нас было 2 часа на математику на 5 задач и 4 часа на программирование на 4 задачи. Но, как я понял, по математике будет не 5 заданий, как в прошлый раз, а 10, поэтому и время, по идее, должно вырасти.

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

С одной стороны, вроде как и больше, с другой, больше времени должны дать. Думаю, по сложности будет примерно так же. Ни статьи, ни видео такие не планировал, но, возможно, все-же что-то сделаю, если несколько запросов будет 🙂 А учеба действительно помогает работе: много идей у меня так бы и не появились или я бы их отмел в формате «да никто же так не делает на kaggle», если бы я не учился)

Алексей, спасибо за статью.
Тоже планирую поступить и перекатиться из разработки в data science, еще одна ваша статья была бы очень полезна.

Забавно, я тоже поступал в минский ШАД, дошел до собеседования, и не дотянул. Сейчас буду поступать в MADE 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.