Четыре стажировки в США и стартап в области машинного обучения
В 2018 году Юрий окончил бакалаврскую программу «Прикладная математика и информатика», а в 2020 — магистерскую «Промышленное программирование».
— Юра, расскажи, на каких стажировках ты был.
— За время учебы я съездил на четыре стажировки в США.
Первая была летом 2018 года, сразу после окончания бакалавриата. Тогда я три месяца провел в Google в Нью-Йорке, занимался чистым software engineering. Я попал в команду Google Docs, где делал полезную фичу для таблиц. К сожалению, я не успел выкатить ее в продакшн до окончания стажировки, а мой ментор уволился спустя пару месяцев, поэтому фича так пока и не появилась.
Кстати, могу поделиться одной поучительной историей с этой стажировки: в Google каждый стажер перед началом работы над проектом должен написать дизайн-документ. Грубо говоря, это подробный план, где ты рассказываешь, как будешь решать задачу и чего именно хочешь добиться. Так как у меня был довольно сложный проект, мне дали уже готовый дизайн-документ, и я начал по нему работать. Где-то за месяц сделал первую часть проекта, все проверил, довел код до совершенства. А потом мы с руководителем стажировки поняли, что план, написанный сотрудниками Google, вообще не работает. Для меня это был урок, что в любой задаче сначала нужно делать прототип: можно быстро написать код самого безобразного качества, но обязательно нужно проверить, что идея вообще работоспособная.
Несмотря на этот случай, на стажировке мне очень понравилось. Это совершенно новый опыт, который дает возможность пожить в другой стране, поработать в крутой компании и понять, а чего ты, собственно, хочешь делать дальше.
После возвращения из Google я решил, что хочу съездить еще на несколько стажировок. Это нетривиальная задачка: впереди у меня было всего два года магистратуры, а стажировки доступны только студентам. Обычно ребята ездят на них летом, когда нет учебы, но мне пришлось действовать нестандартно. Так, с февраля по декабрь 2019 года я побывал еще на трех стажировках подряд: в Nvidia, в Lyft и в Amazon.
— Ого! Чем ты там занимался?
— Сначала я поехал в компанию Nvidia в Калифорнию. Стажировался в команде, которая занимается распознаванием звуков и генерацией речи. У меня был чисто исследовательский проект: я делал модель, которая генерирует аудио из текста. Выдающихся результатов не получилось, но знаю, что мои наработки цитировали в научных статьях
Следующая стажировка была в Lyft в Сан-Франциско. Это крупный агрегатор такси типа Uber, но работает только на территории США и Канады, поэтому в России он не широко известен. Помимо такси и каршеринга, Lyft занимается беспилотниками. Я как раз стажировался в этом подразделении — Level 5 — в команде HD Maps. Мы делали очень точные карты для автопилотов, чтобы машина понимала, где она находится. Руководителем моей стажировки был Владимир Игловиков — известный в комьюнити инженер. Мы с ним прикольно поработали, классный чувак.
И последняя стажировка была в Сиэтле в Amazon Alexa Deep Learning Team. Там был очень амбициозный исследовательский проект: мы делали neural architecture search, чтобы найти архитектуру нейронной сети, которая была бы эффективней распространенных трансформеров. Задача сложная и дорогая: у меня только на вычисления ушло больше 100 тысяч долларов. К сожалению, результаты получились неудовлетворительными. Но так бывает, это абсолютно нормальная история в науке.
На самом деле у меня планировалась еще одна стажировка, но она слетела из-за начинающейся пандемии. О том, как вообще попасть на стажировку, я рассказывал в факультетском блоге на Хабре. Можно почитать здесь и здесь.
— Как тебе удалось совмещать стажировки с учебой?
— Первая моя стажировка была летом, я отлично провел три месяца каникул. По возвращении из Google, когда решил, что хочу поехать еще, я подошел к нашему декану Александру Владимировичу Омельченко. Объяснил ему ситуацию и попросил поучиться в индивидуальном порядке. Он ответил: «Ноль проблем», — и так я начал учиться онлайн, когда это еще не было мейнстримом.
В NVidia я уехал зимой, в середине первого курса магистратуры. Тогда у нас была не очень интенсивная учеба, потому что все студенты уже прошли хардовую бакалаврскую программу и просто добирали недостающие специализированные курсы. Вообще мы с самого начала бакалавриата привыкли записывать все лекции на видео и аудио, вести конспекты. Поэтому удаленная учеба не была чем-то сложным: одногруппники скидывали мне записи и презентации, я их отсматривал по вечерам и выходным, делал домашки. Сдавал все вовремя, а некоторые задания даже самым первым! В общем, считаю, что получилось неплохо.
— Чем ты собирался заняться после выпуска из магистратуры?
— Еще один плюс стажировок в том, что если все прошло хорошо, вам могут предложить полноценный рабочий контракт. Вот и у меня к концу магистратуры на руках были офферы из Nvidia, Lyft, Amazon и еще парочки компаний, которые предполагали релокацию в США. Я мог выбрать любой из них, но все упиралось в американскую визу.
Я решил податься на визу H1B. Это рабочая виза для специалистов с профильным образованием, которую спонсирует работодатель. Одно но: каждый год выдают определенное количество таких виз, а желающих ее получить гораздо больше. Поэтому H1B разыгрывают случайно среди всех заявок. Кстати, есть нюанс: многие не знают, что на H1B можно одновременно податься от нескольких компаний. И чем больше заявок, тем больше шансов ее получить. У меня было три заявки: две пролетели, а одна — от Lyft — выиграла. Поэтому после окончания магистратуры я собирался переехать в Калифорнию, чтобы заниматься беспилотниками. Но и тут вмешался коронавирус, который разрушил все мои планы.
— Что случилось?
— Пандемия сильно ударила по бизнесу Lyft. Они начали сокращать сотрудников и отозвали мой оффер. Это было грустно, но очень меня взбодрило: в тот момент вокруг ничего не происходило, я сидел в Питере и просто днями и ночами писал диплом.
Мой диплом был по технологии замены голоса: берем аудиозапись с голосом одного человека и создаем новую, где произносят ту же фразу, но голосом другого человека. Я заинтересовался этой темой еще во время стажировки в Nvidia. В то время мои знакомые реализовывали похожую штуку, я на них смотрел и думал: «Да они совершенно неправильно делают, тут надо по-другому». Ну и решил проверить свои идеи в магистерской диссертации.
Потом произошла эта история с отзывом оффера. Я как-то быстро собрался и решил закинуть презентацию дипломного проекта в инвестиционный фонд Botan Investments. У них была программа: показываешь свою бизнес-идею в области машинного обучения, и если она нравится учредителям фонда, тебя везут на Кипр на встречу с потенциальными инвесторами. Если честно, я просто хотел бесплатно съездить на Кипр, но все обернулось так, что мне предложили начать свой стартап.
— Расскажи о Myna Labs. Какой продукт вы разрабатываете?
— У нас несколько продуктов, над которыми мы работаем. Один из них — развлекательное мобильное приложение saidit. Оно записывает видео с аудио-фильтрами, которые позволяют говорить голосом другого человека. Например, голосом Трампа или Билли Айлиш.
Мы работаем над ним с лета 2020 года, а в феврале 2021 выкатили в AppStore. К сожалению, оно не взлетело так же, как другие проекты в этом направлении. Постфактум уже стало понятно, что только голос — это не очень интересно. Потому что люди вообще плохо идентифицируют голоса без лиц, даже если слышат оригинал. Поэтому мы решили, что надо добавить визуал. Еще рано говорить, но скорее всего у нас получится приложение, которое делает крутой deepfake — замену и лица, и голоса — на мобильном устройстве в реальном времени. Опять же не факт, что зайдет пользователям, но технологически это очень круто!
Еще один продукт, над которым мы работаем — это мессенджер, где люди смогут общаться с виртуальными знаменитостями при помощи видеосообщений. Типа Telegram, где ты пишешь фейковому Канье Уэсту, а он тебе в ответ присылает персональное видео. Похожие проекты на рынке уже есть, но их технологии далеки от совершенства. Это действительно сложная задача.
— Сколько человек у тебя в команде? Как вы сейчас развиваетесь?
— Я часто шучу, что мы антистартап. В классических стартапах обычно так: вы получили первое финансирование, и теперь нужно показать какие-то результаты, чтобы поднять следующий раунд инвестиций. И часто, если есть несколько идей или вариантов развития, нужно выбрать одно и вкладываться в него.
Мы больше похожи на стартап большой корпорации. Если у нас есть несколько вариантов, как решить задачу, мы будем одновременно выделять ресурсы на все. Неважно, что часть идей умрет или окажется бестолковыми, главное решить задачу — такая у нас логика. Плюс все наши продукты сонаправлены: часто то, что делается для одного приложения, переиспользуется в другом. Поэтому в какой-то момент мы начали активно расширяться, и сейчас у нас порядка 30 сотрудников, из которых человек 20 — инженеры и machine learning исследователи.
У нас работают ребята из Питера, Москвы, Харькова, Киева, Минска, Ижевска, других городов. Ребята из Вышки — студенты и выпускники — тоже есть. Все невероятно крутые ML-инженеры и толковые разработчики.
— А твоя роль, чем ты сейчас занимаешься?
— Я стараюсь класть ближайшую рельсу под поезд, который едет. Когда мы активно нанимали людей, я занимался этим вместе с рекрутерами: придумывал и проверял тестовые, интервьюировал кандидатов и так далее. Потом были сложности с серверами: потребовались дополнительные вычислительные ресурсы, поэтому я перевозил наше оборудование в дата-центр.
Раньше я много кодил, но чем больше людей, тем меньше я пишу сам. Сейчас у нас большая инженерная команда, и если я буду кодить по паре часов в день, это ни на что существенно не повлияет. Я люблю программировать, мне очень легко закопаться и уйти в это с головой. А другие вопросы, которые сейчас важнее, решать тоже надо. Думаю, что буду возвращаться к кодингу, когда мы наладим все процессы. По крайней мере, я на это надеюсь.
— Что тебе дал университет? Советуешь ли выпускникам бакалавриата идти в магистратуру?
— Университет дал мне многое. Я окончил физмат школу в Киеве и думал, что хорошо разбираюсь в математике. Но когда поступил в бакалавриат, оказался одним из последних по этому предмету. По сравнению с другими ребятами из топовых питерских школ, я не знал практически ничего… Помню, что первый курс был жестким, я спал по пять часов в день. Где-то к концу второго курса мы все выровнялись, и дальше разницы в подготовке уже не было. Для меня это был важный опыт, когда вокруг столько умных людей. Было на кого смотреть и чему учиться.
И у нас были очень классные пары! Я иногда вставал утром и искренне радовался, что сейчас поеду в универ, потому что сегодня параллельное программирование или операционные системы или еще что-то очень крутое.
Нужно ли идти в магистратуру? Это сложный вопрос. Сначала важно понять, чем ты вообще хочешь заниматься. Если какими-то серьезными исследованиями, то в больших компаниях типа Google и Facebook желательно иметь PhD. Поэтому нужно идти в магистратуру и аспирантуру или сразу на PhD за рубеж. Еще стоит идти в магу, если там читают классные курсы. При таком варианте советую совмещать учебу с работой или стажировками. Но точно не стоит идти в магистратуру, если цель — найти работу получше. Выпускники нашего бакалавриата и так могут устроиться везде, куда хотят.
Кстати, я веду скромный бложик в Telegram, где делюсь своими мыслями и полезными ссылочками. Добро пожаловать!