Лето – пора отпусков, отпусков и, конечно же, стажировок.
Будучи студентом третьего курса факультета «Прикладная математика и информатика» Иркутского государственного университета, они меня больше всего интересовали.
Мне посчастливилось присоединиться к сервису компьютерного зрения Яндекса на три месяца.
В этом посте я хочу рассказать вам, что такое быть стажёром в Яндексе, какие на самом деле перед ним стоят задачи и что вы за всё это получите.
Признаюсь, отбор я прошла с некоторым трудом, поэтому думаю, что мой пост может быть полезен тем, кто сейчас планирует свое лето.
Команда компьютерного зрения и я в серой футболке
Как это началось
Трудности меня ждали еще на этапе заполнения анкеты – несколько часов кропотливой работы по заполнению форм были безжалостно уничтожены ночным обновлением системы.Не идеально, на мой взгляд, решив тестовые задачи, я чуть ли не начал сомневаться в своих шансах.
И вдруг мне ответили и предложили познакомиться с группой нейросетевых технологий, входящих в состав сервиса компьютерного зрения, поскольку это направление я указал в своих интересах.
Пообщавшись с сотрудниками Яндекса «за жизнь» и обсудив возможные задачи, я приступил к работе над новым тестовым заданием — построение классификатора текста.
Два итоговых собеседования, месяц ожидания и вот – заветный звонок с предложением пройти стажировку в период с 16 июня по 15 сентября.
Осталось только собрать чемодан.
Перелет и проживание – все это было заранее организовано кураторами летней стажировки, за что им большое спасибо.
16 июня я пришел в главный офис Яндекса, где вместе с парой других стажеров прошел процесс трудоустройства и наконец смог заняться созданием багов и приступить к выполнению своих стажировочных обязательств.
О работе
Сначала несколько слов о том, зачем Яндексу сервис компьютерного зрения.Во многих задачах нам хотелось бы понять, что изображено на картинке: например, найти наиболее релевантные изображения или, в случае с покупками, похожие товары.
Объем данных, которые необходимо учитывать, часто настолько велик, что нет никакой надежды найти достаточное количество людей для просмотра всех изображений, не говоря уже о стоимости такого предприятия.
Так почему бы нам не научить компьютеры распознавать изображения? Несмотря на то, что в 1966 году такая задача выглядела как летний проект для группы студентов MIT , лучшие умы планеты до сих пор борются с этим.
Ни для кого не секрет, что на данный момент в этой области правят искусственные нейронные сети, идеально подходящие для работы с изображениями, а также текстами, звуками и многим другим.
Фактически сервис компьютерного зрения Яндекса занимается разработкой и внедрением нейросетевых подходов к проблемам с изображениями с целью получения невосполнимой прибыли.
Стоит отметить, что стажеры Яндекса — полноценные сотрудники, и поставленные перед ними задачи такие же, как если бы они уже были в штате.
Конкретно у нас на кафедре стажерам ставят самые интересные задачи.
Например, мне предоставили возможность не только работать над внутренними инструментами, но и самому обучать нейросети для Яндекс.
Маркета (распознавание нежелательной рекламы) и Авто.
ру (определение угла наклона автомобиля).
Конечно, у меня также был наставник, который определял приоритетные задачи и контролировал прогресс, но в остальном было много свободы для выполнения.
В целом обучение нейронных сетей — дело несложное, особенно сейчас, когда в Интернете огромное количество различных курсов и материалов, посвященных машинному обучению и нейронным сетям.
Это позволяет быстро вникнуть в эту область и сразу приступить к работе.
В моем случае «сразу» — это примерно две недели, за которые я разобрался во всем многообразии технологий компьютерного зрения внутри Яндекса, и еще две недели на то, чтобы отправить первый коммит на code review. Огромное спасибо моему наставнику и другим коллегам, которые часами рассказывали мне, как сделать то, на что у них ушло бы несколько минут! Когда задача поставлена и метрики качества понятны, начинается этап сбора данных.
Обычно это сотни тысяч или даже миллионы изображений, на сбор которых уходят дни.
Редко приходится обучать нейросеть с нуля.
Чаще всего для подобной задачи берут уже хорошо обученную сеть с надеждой, что она уже сможет извлечь для нас какие-то полезные функции в каких-то слоях (без веры и здорового оптимизма в нашем деле никак).
На основе рассчитанных признаков обучается что-то очень простое, скажем, несколько полносвязных слоев, и если полученное качество удовлетворяет сервис, модель отправляется в производство.
Теоретически этот подход очень хорошо работает для типичных задач — вроде тех, что делал я.
Но, как известно, «в теории нет разницы между теорией и практикой, а на практике есть».
Поэтому в нашу работу зачастую входит чтение и анализ научных статей, выбор архитектуры нейросети, подбор параметров обучения и много других разных хитростей и танцев с бубном.
Обсуждение идей — важная часть процесса, поэтому наша команда провела множество внутренних и внешних встреч, чтобы все были в курсе того, чем занимаются их коллеги.
Отдельно хотелось бы поговорить о команде и сотрудниках Яндекс.
Первое, что бросилось в глаза, — это большой процент молодых людей в компании, в том числе среди разработчиков.
Бытует мнение, что в основном набирают крепких олимпиадников из топовых вузов, а по факту набирают только выпускников ШАД , что не совсем так, хотя таких людей здесь действительно очень много.
Но «Яндекс» очень активно участвует в различных образовательных проектах и курсах повышения квалификации, поэтому оттуда тоже приходит много новых кадров.
Частично по своему опыту и в основном по опыту нынешних сотрудников могу сказать, что отсутствие хорошего вуза в резюме или опыта участия в конкурсах не будет записано в минус для кандидата; гораздо больший вес уделяется навыкам и знаниям, непосредственно связанным с деятельностью разработчика.
Возможно, мне всегда везет на хороших людей, но за все время у меня не было плохого опыта общения с кем-либо в Яндексе, а это не только всякие разработчики и аналитики, но и охрана, врачи, служба поддержки, домохозяйки и другие.
И я вообще считаю свою команду образцовой как с точки зрения достигнутых результатов, так и с точки зрения того, насколько комфортно в ней работать.
Три месяца летней стажировки пролетели как один миг, и мне не хотелось покидать уже полюбившуюся команду.
К счастью, Яндекс набирает стажеров круглый год, поэтому мне удалось вернуться в ту же команду зимой, на период с 16 декабря по 3 марта.
В целом вторая стажировка ничем не отличалась от первой: я фактически продолжил делаем все то же самое, только у меня сменился наставник, и теперь вместо картинок мы анализировали видео.
В конце концов, это был мой второй стаж в качестве стажера, поэтому меня повысили до старшего стажера, то есть старшего стажера.
К этому времени наша команда уже значительно разрослась, что вызвало определенные трудности в работе – теперь всем не так-то просто сидеть за соседними столиками во время обеда.
Жизнь и будни стажера
Летом меня вместе с другими стажерами и участниками образовательных проектов Яндекса поселили в центре Москвы, благодаря чему дорога до офиса заняла около получаса.Иногда нам организовывали различные мероприятия, например, пешеходную экскурсию по городу или совместное подписание NDA :) Что мне больше всего запомнилось из дня летней стажировки: много беготни, решения логических задачек, а в конце - пицца и футболки! Ну а где еще вам предложат расшифровать сообщение на Whitespace? Конечно, Яндекс организует мероприятия не только для своих стажеров, но и для всех сотрудников.
Ещё мне запомнилось лето 2016 года к Летним Олимпийским играм, к которым Яндекс подготовил несколько спецпроектов, часть из которых была придумана на внутреннем хакатоне.
Так уж получилось, что первую стажировку я чуть не закончила корпоративом, а вторую стажировку начала с празднования на новогоднем корпоративе.
Зимой мне удалось съездить на экскурсию по офису.
Может показаться, что стажировка – это весело – и это так!
Исходя из своего опыта, хотелось бы отметить плюсы и минусы стажировки в Яндексе: Те моменты, которые, на мой взгляд, можно назвать недостатками:
- Специфика опыта.
Яндекс — технологическая компания, и многие интересные проблемы уже решены.
К сожалению, ценность опыта использования этих решений где-то за пределами Яндекса не всегда очевидна.
- Мотивация.
После работы над решением сложных и интересных задач очень сложно заставить себя вернуться к обычной учебе в университете.
После проведения десятков, а то и сотен экспериментов на целом кластере машин с целью получить результат лучше, чем кто-либо другой, энтузиазма для работы над курсовой работой едва хватает. Есть люди, для которых этот огромный разрыв между работой и академической деятельностью стал одной из причин ухода из аспирантуры.
Хотя в Яндексе тоже есть группа исследователей, которые занимаются научной работой.
- Опыт. Помимо красивой строчки в резюме, здесь вы сможете получить важные профессиональные навыки: писать чистый код, планировать свои задачи, знать современные подходы и производственные решения.
Яндекс поддерживает стремление сотрудников расти профессионально: здесь вас ждут различные мероприятия и мастер-классы по программированию, собственная библиотека, регулярные командировки на конференции.
В службе компьютерного зрения практически каждый сотрудник раз в год ездит на одну из топовых конференций, таких как NIPS, ICML, ICLR, CVPR и т. д. Но для того, чтобы знать самые передовые разработки в своей области, вам не обязательно иметь куда-то съездить – регулярные семинары с анализом научных статей позволяют всегда быть в курсе последних результатов.
- Офис.
Честно говоря, иногда мне вообще не хочется выходить из офиса.
И дело тут не в том, что у тебя всегда есть сроки и нужно срочно исправлять ошибки (в нашем отделе я такого никогда не замечала), а в том, насколько комфортно здесь находиться.
Благо, офис работает круглосуточно, и вы всегда можете прийти поиграть в пинг-понг или настольный теннис (или поработать).
Я думаю, это крутой опыт. Яндекс каждый год набирает летних стажеров.
Теперь еще есть возможность провести лето с пользой - прием заявок ребята заканчивают обучение первого мая.
Если вы хотите пройти стажировку в Москве, вам, как и мне год назад, оплатят проезд и проживание.
А если в вашем городе есть офис разработки Яндекса, то вам не придется никуда уезжать.
Теги: #Образовательный процесс в IT #стажировка в Яндексе #нейронные сети #компьютерное зрение
-
Лесная Промышленность
19 Oct, 24 -
Быстрая Зарядка Организма
19 Oct, 24 -
Системные Названия Цветов В Css
19 Oct, 24 -
Core 2 Quad — Последняя Версия?
19 Oct, 24