Как устроена программа научного руководства в Яндексе
Всем хочется, чтобы тема диплома была интересной, а проведённые исследования пригодились — звучит как утопия, но такое возможно, особенно если точно знаешь, чем хочется заниматься. Студент четвертого курса ФИВТ МФТИ Федор Моисеев рассказал, каково это, когда ты пишешь научную работу в Яндексе, и что нужно, чтобы попасть на программу научного руководства компании.
Я учусь на кафедре анализа данных Факультета инноваций и высоких технологий МФТИ. До того, как пойти на программу научного руководства, я стажировался как Android-разработчик в ABBYY и как исследователь в Yandex Research. Перед третьим курсом я попробовал работать программистом, но понял, что для меня это недостаточно креативное занятие. Было скучновато, работа превратилась в сплошную рутину.
Хотелось придумывать что-то новое
За время стажировки я понял, что интереснее всего мне заниматься обработкой текстов на естественном языке (NLP), и решил податься на программу научного руководства Яндекса, чтобы заниматься исследованиями в этой области.
Сначала нужно заполнить заявку на сайте и решить несколько несложных задач. Если заявка одобрена, тебе присылают список статей. Нужно проанализировать одну из них и предложить идею исследования по теме, желательно на английском. Мне кажется, что это самый сложный этап. Надо прочитать много материала, а потом еще и придумать что-то новое и желательно классное. Зато помогает понять, надо ли это тебе вообще. Если и этот этап пройден успешно, то дальше следуют собеседования. Некоторые из них технические, а другие посвящены потенциальным задачам и анализу статьи. Если и здесь все хорошо, то тебе высылают предложение. Если тебя готовы взять несколько менторов, нужно выбрать одного.
У меня уже была хорошая база знаний после учебы на факультете и на кафедре, так что я специально не готовился, просто перед собеседованием пролистал на всякий случай слайды лекций Школы анализа данных. А перед подготовкой к техническому собеседованию посидел в документации библиотеки TensorFlow. Поскольку я уже был на стажировке в отделе исследований, то знал, что меня ждет.
Мне хотелось углубиться в область обработки естественного языка и написать хороший, интересный диплом
Исследователь из группы компьютерного зрения, рассказала, чем предстоит заниматься, тема меня заинтересовала, и я пошел к ней. Задача заключается в следующем: есть современная архитектура для машинного перевода и распознавания естественных языков под названием Transformer. Она показывает впечатляющее качество, но, как и в случае со многими другими современными моделями глубинного обучения, пока что непонятно, как в точности она обрабатывает текст и какую информацию из него извлекает. Это препятствует дальнейшему улучшению модели. Я пытаюсь разобраться, как же все-таки Transformer накапливает информацию о тексте, как она меняется в процессе, что считает важным, а на что не обращает внимания и как в итоге из всего этого получается перевод.
Несколько раз в неделю мы встречаемся с научным руководителем, обсуждаем полученные результаты и что делать дальше. В остальное время я читаю статьи, провожу эксперименты и пытаюсь анализировать их результаты. Для меня это интереснее, чем просто программирование, и это возможность стать успешным ученым в области машинного обучения и заниматься любимым делом.