14 октября в Казахстанском филиале МГУ прошла встреча студентов направлений «Математика» и «Прикладная математика и информатика» с выпускниками Филиала Аймолдиным Ануаром (ВМК-2014) и Шокетаевой Надирой (мехмат-2017). Ануар и Надира поделись своими впечатлениями о работе в Яндексе и обучении в Школе анализа данных Яндекс (сокращенно – ШАД) со студентами 1 и 2-го курсов.
Какие предметы Вы считаете наиболее важными, чтобы успешно заниматься машинным обучением и обработкой данных?
Надира: На первых курсах самыми полезными предметами мне показались математический анализ, линейная алгебра и, конечно, практикум на ЭВМ. До университета я совсем программировать не умела, но после практикума мне хватило знаний, чтобы поступить в ШАД, что в дальнейшем позволило устроиться в Яндекс. Очень советую всем изучать не только C и C++, которые даются в обязательной программе на мехмате, но и python.
На старших курсах я бы выделила теорию вероятностей и математическую статистику. Сейчас на работе я встречаюсь с задачами анализа результатов поисковой системы, и методы из математической статистики позволяют оценить эти результаты значительно тоньше обычных детерминированных подходов. В свое время я придерживалась подхода учить все предметы, чтобы связи между ними углублялись или уточнялись. И это действительно помогло.
Ануар: Предметы 1-2 курса, а особенно математический анализ и линейная алгебра – это Ваше конкурентное преимущество перед теми, кто хочет стать специалистом по анализу данных, но изучает всё поверхностно. С учетом популярности данного направления сейчас многие начинают изучение сразу с машинного обучения, не зная ни математического анализа, ни линейной алгебры на должном уровне. Например, таким людям будет тяжело вникать в суть глубокого обучения, использующее различные матричные разложения, о которых очень подробно рассказывается на линейной алгебре на ВМК и мехмате.
Начиная с 3 года обучения в университете у Вас появляется возможность выбирать интересные Вам предметы. Подойдите к этому ответственно. Например, я в свое время ошибся с выбором кафедры и сейчас бы пошел на другую. Несмотря на большое количество оптимизационных задач в различных курсах кафедры оптимального управления, многие из них оторваны от практических задач, которые нужны в машинном обучении. На кафедре оптимального управления, тем не менее, очень понравился курс выпуклого анализа. Это важный курс, который позволяет доказывать сходимость методов. Кстати, когда речь заходит о самых важных книгах в машинном обучении, специалисты обычно советуют и книги по выпуклой оптимизации. Также очень понравился курс по компьютерной графике, который очень сильно помог мне развить свои навыки программирования. Еще хотелось бы отметить очень важный предмет, на который многие студенты уделяют обычно мало времени: «Алгоритмы и структуры данных». Я в свое время изучал его самостоятельно уже после окончания университета. К слову, олимпиады по спортивному программированию могут значительно помочь в этом. Алгоритмы и структуры данных – это именно то, о чём будут Вас спрашивать на любом собеседовании.
Что можете посоветовать по самостоятельному изучению?
Ануар: http://mooc.org/ (massive open online course) – возможно подход, который может перевернуть классическое образование. Если говорить о себе, благодаря этим курсам я очень сильно вырос как математик с точки зрения практических навыков. Также есть площадки https://ru.coursera.org/, https://www.udacity.com/ и https://stepik.org/catalog, на которых можете брать какие-то курсы. Курсы несложные и понятные (рассчитаны далеко не на выпускника мехмата МГУ). Они могут помочь Вам и во время основной учебы. В контексте анализа данных на coursera есть отличные специализации от Яндекса и МФТИ. Такое обучение помогает лучше понять связь между предметами и выделить основные акценты в них. Вас за ручку проводят по всем курсам от анализа и алгебры через методы оптимизации и статистику приведут к машинному обучению.
Пожалуй, самый легкий и доступный путь в анализ данных для Вас – это кафедра ММП на ВМК. Уже после бакалавриата Вы будете очень востребованным специалистом. Если вы не уверены в себе, то можно пойти на кафедру математической статистики (и на мехмате, и на ВМК они очень на хорошем уровне дают теорию), так как это пригодится. Одна из проблем ВМК – это уменьшение нагрузки после 4-го семестра. Многие студенты не сразу замечают, что учиться становится всё проще и проще. И у всех есть момент, который надо не упустить: когда необходимо срочно поступать в ШАД, техносферу или взять какие-то спецкурсы. Надо брать инициативу в свои руки и занять себя. Очень важно не растерять багаж первых двух курсов.
Расскажите про Школу анализа данных (ШАД) Яндекс?
Ануар: На вступительном экзамене не будут спрашивать базовые вещи из Демидовича. Задачи имеют олимпиадный характер: с помощью несложных базовых определений и навыков собрать решение. Часто основной частью задачи является конструирование решения, где необходимо использовать только определения.
Надира: Когда я готовилась к ШАДу, я удивилась, насколько задачи были похожи на задачи из олимпиад Филиала. Поэтому рекомендую участвовать в олимпиадах по математике в нашем университете! В качестве подготовки также советую сборник задач по математическим олимпиадам В.А. Садовничего (примечание: книжку «Студенческие олимпиады Казахстанского филиала МГУ по математике» студенты могут взять в библиотеке).
Всего есть 3 тура. Первый онлайн-тур очень легкий и состоит из задач по линейной алгебре, математическому анализу, теории вероятности и программированию. Но в нем нельзя допускать ни одной ошибки. Второй онлайн-тур сложнее. Здесь опять же нельзя допускать ошибки. Последний тур – скайп-собеседование. Как правило, там даются несколько задач на линейную алгебру, математическую статистику и алгоритмы. Также обращают внимание на Вашу мотивацию. Вы должны понимать, зачем вам ШАД.
После поступления в ШАД Вы выбираете одно из 3 направлений: анализ данных, большие данные и компьютерные науки. Обучение в ШАДе занимает достаточно много времени. В частности, если смотреть все лекции (они записываются и выкладываются в интернет), делать все обязательные и бонусные домашние задания, то это займет не меньше времени, чем основное обучение на 3-4 курсе в Москве. Обучение в ШАДе длится 4 семестра. В каждом семестре необходимо сдать не менее 3 предметов (обычно 2-3 обязательных для каждого направления и несколько дополнительных предметов на выбор).
Ануар: Одним из самых интересных предметов является алгоритмы. Если вы успешно освоите курсы Алгоритмы-1 и Алгоритмы-2, то появится возможность легко пройти собеседование по алгоритмам в условный Google. Кстати, очень важно, что в ШАДе учат писать современный промышленный код. Также важной особенностью является то, что домашние задания даются обычно на жестко фиксированный срок (обычно 1 или 2 недели). Поэтому учиться придется всё время в течение семестра.
Поступление в ШАД не такое простое, и даже если не получилось попасть в ШАД, всегда есть хорошие альтернативы. Техносфера – это более инженерный подход в анализе данных. Если DS-специалист, которого готовит ШАД, обычно создает модельки, то DS-специалист от Техносферы учится работать с теми модельками, которые уже есть, и имеет хорошее понимание об особенностях внедрения таких продуктов. В принципе, сейчас никто не пишет нейронные сети сам, а используют библиотечные решения. И хорошие DS-инженеры могут легко разобраться с существующими фреймворками и добавить те слои, которые нужны.
Как Вы попали на работу и чем там занимаетесь?
Надира: Весной на 4 курсе я попала на собеседование в Яндекс. После нескольких этапов собеседования, я попала в отдел оценки качества запросов. Данный отдел как раз занимается метриками для сравнения различных данных в поисковой выдаче между собой. Чем я пользуюсь? Как правило, это набор собственных библиотек Яндекса и разработка собственных фичей. Данный отдел является основным, который придумывает метрики, что является очень интересной задачей и, как следствие, привлекает много олимпиадников.
В Яндексе очень много отделов. Это более 6000 человек и 3 офиса в Москве. В целом, работники относятся к одной из трех категорий: разработчики, аналитики и менеджеры. Разработчики на собеседованиях показывают знания алгоритмов и навыки программирования. Но вопросы часто задают так, чтобы понять насколько хорошо Вы представляете себе не только алгоритмы. Например, на просьбу написать бинарный поиск на C++, предполагается вспомнить соответствующую функцию из STL, а не писать бинарный поиск самому. У аналитика часто спрашивают математическую статистику и продуктовые вещи. Мне помогли очень онлайн курсы по статистике, которые я прошла до этого. Сами офисы, конечно, предлагают шикарные условия для работы: спортзалы, питание, досуг. С учетом почти свободного графика здесь можно жить!
Ануар: У меня было около 5 собеседований: алгоритмы, статистика (ЦПТ, z-тесты, t-тесты), логика и общее развитие, аналитика (анализ деятельности ботов, бизнес оптимизация), код (например, как проверить, что дерево является бинарным). Кстати, в разных командах Яндекса, разное отношение к Школе анализа данных Яндекс. Я был в отделе антифродов, который должен оперативно реагировать на деятельность ботов, поэтому там не очень поддерживают учебу в ШАДе. А вот в отделе по метрикам к дополнительной учебе относятся более лояльно. Так как учеба в ШАДе для меня была очень важным аспектом, я решил покинуть Яндекс в пользу ШАДа и перевелся в Казпочту.
В Казахстане сейчас наблюдается очень сильный прогресс и увеличение спроса на специалистов по машинному обучению и анализу данных. Сейчас рынок имеет и положительные, и отрицательные стороны. С одной стороны, во многих местах выдается очень большой кредит доверия специалистам по машинному обучению как раз из-за дефицита таких специалистов. С другой стороны, возникает типичная проблема анализа данных: плохие или некорректные данные. Но в ближайшем будущем видится сильное укрепление казахстанцев на позициях по машинному обучению.
В Алматы сейчас очень колоссальный спрос на машинное обучение и анализ данных именно от бизнеса. Буквально год назад это было всё на порядок менее развито. Фактически тогда мне пришлось поехать в Москву, чтобы заниматься тем, чем мне нравилось. А сейчас уже есть очень много достойных предложений, не уступающих Яндексу. Есть много стартапов с попыткой выйти на международные рынки. Есть банки и Телеком, которые хотят прогнозировать приток клиентов.
На финансовом рынке России интересны сбертехнологии от Сбербанка России. В частности часть судебных исков составляется автоматически. Еще стоит обратить внимание, что машинное обучение и большие данные – это совсем разные направления. Например, недавно решал задачу о банковских мошенничествах. По истории всех транзакций необходимо было найти мошеннические действия. Самые наивные решения в таких задачах часто бывают ошибочными. Например, увидел всплеск и думаешь: «Вот они мошенники». А после анализа вручную выясняется, что это просто выброс. Вот здесь как раз и применяются различные методы понижения размерности и кластеризации. В общем, бизнес в первую очередь заинтересован в автоматизации обработки данных и прогнозировании.
Какие сферы деятельности можно заменить машинным обучением?
1. Безопасное движение автомобилей на автопилоте.
2. Перевод. Сейчас качество перевода на порядок лучше, чем было 10 лет назад.
3. Обучение. Например, в скором будущем должны появиться помощники, которые будут подбирать образовательную программу для детей и траекторию обучения под каждого ученика индивидуально.
4. Медицина. Например, научили машину анализировать книги по медицине и обучили большой выборке по пациентам. Теперь используют как рекомендательную систему.
5. Консультанты в магазинах.
6. Рекомендательные системы для расширения бизнеса (сейчас еще один выпускник Филиала Амир Мирас (ВМК-2017) активно занимается такой деятельностью в Москве).
7. Картины, музыка и художественные тексты уже вовсю создаются благодаря обученным сетям.
Что Вы можете пожелать студентам Филиала?
Надира: Если Вы сейчас на 2-ом курсе, готовьтесь к ШАДу, готовьтесь к Техносфере и изучайте курсы. Стоит отметить, что работа в нашей сфере всё-таки делится на 2 категории: есть люди, которые научились брать модельки и их применять, а есть люди, которые создают что-то свое и постоянно развиваются. Вам надо стремиться быть во второй категории.
Ануар: В любых бизнес-вопросах Вы разберетесь уже после окончания университета. А сейчас Ваша основная задача – учить математику и программирование. Кстати, очень важным моментом является средний балл. Когда я учился в свое время, я даже не представлял, насколько это важно. Я учился по принципу: нравится предмет или не нравится. Это неправильный подход. Очень важно иметь хороший средний балл. Есть компании, которые не берут на стажировку со средним баллом меньше 4.5. Причем такие компании часто предлагают очень высокие зарплаты на входе. Сюда можно отнести и компании по высокочастотному трейдингу. Поэтому берите инициативу в свои руки. Я осознал, чем мне надо заниматься, лишь после окончания университета. И это была очень большая проблема. Так как нельзя уже просто так отгородиться от всего и сказать, что мне надо проходить онлайн курсы. У вас сейчас есть много возможностей. Используйте их с толком. Траектория по жизни, конечно, не всегда должна быть гладкой. Но ни в коем случае не стоит просто плыть по течению. Берите управление в свои руки. Чтобы стать крутым специалистом в анализе данных, необходимо очень сильно вложиться в свое обучение.
Текст и фото: Ален Баев