Support us

Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Оставить комментарий
Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Александр Буслаев — инженер алгоритмов компьютерного зрения, выпускник ИТМО в Санкт-Петербурге, четырёхкратный победитель соревнований по машинному обучению на площадках Kaggle, TopCoder и других. В одном из конкурсов он выиграл $25 тысяч. Недавно инженер присоединился к минской команде mapbox, которая создаёт SDK для беспилотников.      

dev.by поговорил с новым сотрудником стартапа и узнал, зачем айтишнику участвовать в соревнованиях и как победы отражаются на зарплате и популярности аккаунта в LinkedIn. 

Читать далее…

Как несчастный случай привёл в Data Science

Александр, количество твоих побед на соревнованиях по машинному обучению, наверное, открывает тебе дорогу практически в любую ИТ-компанию и страну. Почему выбрал Минск?

Я давно думал о переезде. В Петербурге совсем плохо с погодой, в Москве я бы не хотел жить, а больше в России негде работать. Минск относительно недалеко находится, и пока мне здесь нравится. Уже заселились в съёмную квартиру вместе с кошкой и вещами. Но я считаю, что полностью переезд будет завершён в момент покупки собственного жилья.

На работе пока осваиваюсь, ещё не до конца понимаю, что делаю, но потихоньку вливаюсь в рабочий процесс. За неделю даже успел акклиматизироваться.

Как началась твоя карьера в ИТ?

Родился я в Западной Украине, а жил в Тольятти. В школе у меня была предрасположенность к физике и математике. В 11-м классе участвовал в олимпиаде по информатике и занял первое место, не умея программировать. Меня пригласили съездить в Петербург. После этой поездки я решил поступать в ИТМО на кафедру компьютерных технологий, где готовят чемпионов соревнований по программированию. Конкретно на неё я не попал, но поступил на похожую кафедру.

На третьем курсе к нам на лекции стали приходить работодатели. Один из них рассказал, как можно с беспилотников следить за автомобилями, распознавать леса. Мне это показалось интересным, и я решил, что надо хотя бы попробовать попасть в эту компанию. Получилось. Так я начал заниматься компьютерным зрением, делал реализацию оптической стабилизации, улучшал алгоритмы «сшивки» фотографий, сделанных с дрона.

Потом работал в LG Electronics, правда, не очень долго. Там я успел сделать несколько интересных вещей, одна из них — система HDR для телефонов LG. Она делает фотографию с тремя разными выдержками и склеивает их в одну. После этого занимался восстановлением линий электропередач в 3D по фотографиям.

Но основная часть моей истории начинается с того момента, когда я сломал ногу. Четыре месяца я не мог ходить, поэтому у меня было время подумать о жизни и о том, чем я хочу заниматься дальше. Немного позанимался веб-программированием, а потом углубился в Data Science, компьютерное зрение, современные методы обработки данных и т. д. За время, пока у меня был постельный режим, я успел попрактиковаться и начал участвовать в соревнованиях по машинному обучению.

33 тысячи просмотров поста в LinkedIn. Кто больше?

Расскажи о своём первом соревновании по машинному обучению: это был триумф или провал?

Первым было соревнование по подсчёту морских котиков на аэрофотоснимках на платформе Kaggle. Участвовать в нём я решил после того, как посмотрел ролик, где парень решает задачи по детекции, и подумал: а чем я хуже? В то время как раз вышел Tensorflow Object Detection, позволявший решать ML задачи практически без программирования.

Первый раз я участвовал один, потому что меня ещё никто не знал, а сам я не привык напрашиваться в команду. В итоге занял 13-е место (всего было 385 участников). После этого меня стали приглашать в команды. При первом командном сражении заняли 7-е место, затем было фиаско, а после него началось победное шествие. В трёх конкурсах подряд были первые места: одна победа в команде и две — сольных.

Почувствовал ли всплеск интереса к тебе в LinkedIn после череды побед на соревнованиях?

Предложений о работе, конечно, прибавилось. Особенно это стало заметно, когда я начал афишировать победы. Пост о последнем конкурсе набрал 33 тысячи просмотров и 550 лайков в LinkedIn. Также после статьи на habr стали обращать на меня внимание, звать на интервью. Но mapbox опередил всех.

Как работодатели относились к твоему участию в соревнованиях  поощряли или, наоборот, порицали: мол, лучше бы работой занимался?

После первого конкурса хвалили. А потом я перестал им об этом говорить. Я считаю, что от того, что люди участвуют в соревнованиях, выигрывают все: и работодатели, и сотрудники. Придуманные на конкурсе методы и подходы лично мне потом удавалось не раз применить на рабочем проекте.

Это и есть то, ради чего ты участвуешь в соревнованиях?

У меня такой подход к жизни: если у кого-то что-то получается, значит, и у меня должно. На работе ты сделал задачу, но не понимаешь, насколько хорошо. А в соревнованиях можно максимально объективно понять, насколько ты силён, сравнив свой результат с чужим. Ещё было желание утвердиться: первые четыре года я не получал желаемого результата на работе, а на соревнованиях сходу начало получаться.  Это дало прилив сил.

Два месяца на обучение модели

Как обычно проходят соревнования по машинному обучению?

Проходят они онлайн и длятся в среднем два месяца. Команды, как правило, сборные. Последний раз я был в команде с ребятами из Германии, Омска и Питера. А чуть раньше — с парнем, который живёт в США, приходилось работать в три смены.

Решать задачи нужно на своих машинах. На первом соревновании у меня не было нормального «железа», ответы предсказывал по три дня. После этого я пришёл на работу и сказал: «ребята, смотрите, как я могу» — и мне выдали рабочий компьютер с четырьмя видеокартами. А чуть позже я купил хорошую машину с двумя мощными видеокартами, каждая из которых стоила $1 тысячу.

Как распределяются роли в сборной команде?

Обычно структура в соревнованиях плоская: каждый отвечает за себя, лидера или начальника в команде нет. Все участники делают одно и то же, ориентируясь на свой жизненный опыт. В финал попадает суммарное решение.

Кто ставит задачи?

Иногда корпорации, иногда правительства стран, университеты и научные сообщества. На одном из конкурсов, например, были задачи от компании, которая занимается  разработкой алгоритмов для ускорения изобретения лекарств. Участникам нужно было обучать модели глубокого обучения, чтобы исследовать изображения клеток и идентифицировать их ядра.  

В одной из своих статей на habr ты писал о том, что организаторы часто допускают ошибки в данных. Приведёшь пример?

Часто встречаются неточности в разметке данных (почти всегда это тормозит решение задачи). Разметка — это то, что делается людьми, поэтому она всегда не идеальна. Недавно проходил конкурс, в котором я хотел поучаствовать, но, увидев разметку, передумал: шоссе не было размечено. Из-за такого безобразия нейронные сети сходят с ума, а призовые места распределяются рандомно.

К слову, часто на конкурсах хорошие нейронки начинаются с 50-го или даже 100-го места. А самые верхние решения зачастую не подготовлены к реальной жизни, но зато они дают самую высокую метрику.

Соревнования проходят удалённо. Можно ли воспользоваться обходными путями, чтобы достичь максимального значения метрик?

Проследить за тобой не могут. Но, если человек делает что-то нелегально, в конце это должно вскрыться. На Kaggle, например, не очень много внимания уделяют проверке кода, а на TopCoder в некоторых соревнованиях к этому подходят серьёзно. Организаторы воспроизводят решение и, если метрика сильно расходится на любом наборе данных, тебе говорят: «потрудитесь объяснить». Использовать внешние данные обычно не запрещено, но на них нужно оставить ссылку на форуме, чтобы другие участники конкурса тоже могли ими воспользоваться.

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

Я начинал подготовку на Coursera. Первый курс очень известный — машинное обучение от Andrew Ng. Второй — нейронные сети на Stepik, он тоже довольно сильный. Сейчас я бы порекомендовал специализацию по машинному обучению от МФТИ и Яндекса.

Заработок на соревнованиях

Что обычно вручают победителям соревнований в качестве награды?

Обычно деньги: от тысячи до нескольких миллионов долларов. Мой самый большой трофей — $25 тысяч. За последний конкурс в дополнение к деньгам хотели дать суперкомпьютер, но пришлось объяснить, что у нас сборная команда. Тогда организаторы решили вручить по 4 видеокарты, каждая из которых стоит $3 тысячи.

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

Во-первых, это не так надёжно, как работа. Соревнования с хорошими призами проходят не так часто. Во-вторых, конкуренция достаточно высокая. Если за первое место дают, например, $25 тысяч, то за второе уже $10 тысяч. Плюс на конкурсах не ставят такие глобальные задачи, как на работе. Понятно, что твоё решение, возможно, будут использовать, но ты понятия не имеешь, где и как. Поэтому мне больше нравится классическая работа.

Есть ли зависимость между количеством завоёванных наград и продвижением по карьерной лестнице, зарплатой?

Рассылать резюме — это уже не лучший способ поиска работы. Гораздо приятнее, когда тебя находят, чем когда ты пишешь и просишь: а не могли бы вы меня прособеседовать.

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

Тема автономных авто «самая горячая на рынке»

Если выбирать между работой в стартапе и корпорации, что интересней?

Я работал в LG Electronics, и с тех пор мне не очень нравятся большие компании.

На предыдущей работе мы выросли с 20 человек до 200 — и, как известно, бурный рост сопровождается административными сложностями. Поэтому мне ближе небольшие компании, но не стартапы, которые выжигают деньги, а сложившиеся бизнесы.

Как mapbox удалось переманить тебя из Петербурга в Минск?  

Тема автономных автомобилей сейчас самая горячая на рынке, и пока ещё никто полностью не решил эту задачу. Мне понравилось, что в Mapbox не делают машину целиком, а занимаются именно тем, что мне интересно — алгоритмами. Алгоритмы, хорошие деньги и профит для всего человечества меня подкупили.

Как проходило собеседование?

Моё собеседование в mapbox длилось примерно три часа. Меня попросили рассказать, чем я занимался на предыдущей работе, какие подходы применял в решении задач. Я спросил, вам какую версию: короткую, среднюю или расширенную? Мне ответили, что расширенную. На следующий день перезвонили и предложили работу.  

Чем ты будешь заниматься в команде?

Буду учить тяжёлые нейронные сети под автомобили и разметку данных. Задача не из простых: нужно  собрать хороший набор данных и сделать так, чтобы алгоритмы могли обрабатывать большой спектр дорожных ситуаций. Команда собирается хорошая, думаю, у нас есть шанс догнать и обогнать уже существующих игроков.

Фото: Андрей Давыдчик

По теме
Все материалы по теме
По теме
Все материалы по теме
16 лет dev.by — «дефолтный» источник информации о беларусском ИТ

Вы можете...

Читайте также
TinyML, No-code и обучение с подкреплением: новейшие тренды в машинном обучении
TinyML, No-code и обучение с подкреплением: новейшие тренды в машинном обучении
TinyML, No-code и обучение с подкреплением: новейшие тренды в машинном обучении
Пока 20% топ-менеджеров утверждают, что машинное обучение является существенной частью их бизнеса, неудивительно, что стоимость мирового рынка машинного обучения, по некоторым оценкам, достигнет $117 млрд к концу 2027 года. Мы перевели материал Udacity о семи самых обсуждаемых тенденциях в машинном обучении в 2022 году.
«Узнали, что беларус — и отказали». С какой дискриминацией сталкиваются экспаты
«Узнали, что беларус — и отказали». С какой дискриминацией сталкиваются экспаты
«Узнали, что беларус — и отказали». С какой дискриминацией сталкиваются экспаты
91 комментарий
Meta разработала ИИ для «чтения мыслей»
Meta разработала ИИ для «чтения мыслей»
Meta разработала ИИ для «чтения мыслей»
Становятся менее лояльными, угрожают информационной безопасности: почему ИТ-компании запрещают сотрудникам релокацию
Становятся менее лояльными, угрожают информационной безопасности: почему ИТ-компании запрещают сотрудникам релокацию
Становятся менее лояльными, угрожают информационной безопасности: почему ИТ-компании запрещают сотрудникам релокацию
2 комментария

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.