В настоящее время я прикладной ученый, который занимается исследованиями в области машинного обучения (ML) на Amazon без докторской степени. Я работаю над интеллектуально сложными проблемами с большим потенциалом для инноваций с нуля, работаю с действительно яркими и мотивированными людьми и получаю высокую зарплату в отрасли¹, занимаясь любимым делом. К сожалению, хотя многие люди заинтересованы в машинном обучении, в Интернете не так много руководств для тех, кто пытается перейти к машинному обучению из разработки программного обеспечения. Этот пост призван восполнить этот пробел, описывая мой путь от колледжа до разработки программного обеспечения, чтобы стать исследователем машинного обучения. Хотя детали этого поста зависят от моего опыта, я считаю, что есть общие выводы, применимые ко всем, которые кратко изложены в нижней части поста.

Колледж (2015–2019 гг.)

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

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

К счастью, я смог связаться с недавно нанятым доцентом летом перед выпускным курсом и стал одним из первых студентов, присоединившихся к его лаборатории. Тем летом я научился глубокому обучению, репродуцируя статьи и участвуя в соревнованиях Kaggle, таких как идентификация горбатых китов, а также читая литературу для мозгового штурма для моей дипломной работы. Когда я впервые встретился со своим консультантом, я сказал ему, что хочу работать над проектом, у которого есть потенциал для публикации, поскольку я знал, что мне понадобятся публикации, независимо от того, подаю ли я заявление в аспирантуру или пытаюсь нанять на должности машинного обучения в промышленности. . Поэтому он поручил мне работать со старшим аспирантом над проектом 3D Vision. Хотя я был совершенно новичком в этой области, я быстро освоился и благодаря тяжелой работе (в среднем я проводил исследования 25 часов в неделю с полной нагрузкой на курс) я смог внести значительный вклад в работу над дипломной работой. Прямо перед выпускной неделей мы отправили статью в NeurIPS. Эта статья, к сожалению, была отклонена, но после некоторой дополнительной работы летом наша статья была позже принята в CVPR², который является еще одним ведущим центром компьютерного зрения.

Первая работа в Amazon (август 2019 г.)

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

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

Хотя новые выпускники Amazon, как правило, не имеют никакого контроля над размещением своей команды, я разослал менеджерам по найму холодные электронные письма и сумел подключиться к подразделению облачного машинного обучения Amazon Web Services (AWS). Я присоединился к команде SageMaker, которая продает универсальную облачную платформу для машинного обучения. В SageMaker я в течение года работал над сервисом, который снижает стоимость логического вывода в реальном времени и задержку моделей глубокого обучения. Я участвовал в запуске ключевой функции и написал сопроводительную официальную запись в блоге AWS ⁴.

Поворотный момент (июнь 2020 г.)

Вскоре после этого моя Статья CVPR из дипломной работы² была принята и опубликована. Таким образом, примерно через год после окончания колледжа у меня за плечами была как первоклассная статья по машинному обучению, так и запуск новой функции. Все шло по плану, и теперь у меня было достаточно рычагов воздействия, чтобы начать переговоры с исследовательскими группами машинного обучения в Amazon.

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

Я настраиваю кофейные чаты, чтобы получить совет как от ученых Amazon, так и от инженеров с исследовательским опытом, которые в конечном итоге решили посвятить себя инженерному делу. Большинство разговоров были весьма обескураживающими и посеяли в моем сознании новые сомнения; многие говорили мне, что мой единственный вариант — вернуться в школу и получить либо степень магистра, основанную на исследованиях, либо, что предпочтительнее, докторскую степень. С другой стороны, меня также воодушевила небольшая группа людей, которые сказали мне, что внутренний перевод возможен и что они знают людей, которые успешно это сделали. В целом, эти разговоры породили больше сомнений и повысили ставки — если бы я потерпел неудачу, я бы не только упустил возможность раннего продвижения по службе, но и «потратил бы впустую» пару лет своей жизни.

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

Таким образом, я начал искать исследовательские группы машинного обучения внутри компании и связался с менеджером, который только что основал новую команду в Prime Video, работающую над машинным обучением для понимания видео. Поскольку у меня не было ни степени магистра, ни доктора наук, мне не разрешили напрямую пройти собеседование на роль прикладного ученого, но я мог пройти собеседование на должность инженера-исследователя. Таким образом, я провел внутренний цикл интервью для инженера-исследователя, который включал один раунд алгоритма ML и один раунд кодирования. В ходе этого процесса я столкнулся с поразительной степенью предвзятости; хотя я прошел оба тура, позже мне сказали, что несколько человек, включая моего менеджера, выразили обеспокоенность по поводу отсутствия у меня степени магистра и доктора философии. Это тема, которую я буду развивать в оставшихся разделах.

Тем не менее, мой переход в команду был одобрен, и я стал первым сотрудником команды. Я полностью посвятил себя своей цели стать ученым-исследователем машинного обучения.

От инженера-исследователя до ученого (июль 2020 г. — май 2021 г.)

Когда я присоединился к Prime Video в качестве инженера-исследователя, моим следующим шагом был внутренний переход, чтобы стать научным сотрудником-прикладником. Поскольку среди прикладных ученых на Amazon в основном есть доктора наук, мне нужно было продемонстрировать способность самостоятельно проводить исследования на уровне аспиранта или сильного магистранта. Затем мне нужно было подвести итоги этих исследовательских проектов и собрать отзывы коллег в стиле документа о продвижении по службе, чтобы подать заявку на смену роли. Большинство ученых-прикладников нанимаются извне, и очень немногие инженеры успешно переходят на новый уровень внутри компании, так что шансы были против меня, особенно из-за предвзятости по степени. Временами мне казалось, что я снимаю в темноте, потому что было очень мало людей, которые могли бы помочь мне в этом процессе.

Рассуждая об ожиданиях ученого-исследователя и оценивая свои текущие пробелы, я создал дорожную карту, чтобы меньше заниматься инженерными проектами и больше заниматься машинным обучением в своей повседневной работе. Однако осуществить этот план оказалось сложнее, чем предполагалось. Хотя мой руководитель поддержал мой переход на должность научного сотрудника, ожидания компании по работе мешали мне добиваться своих карьерных целей. Если бы я в качестве инженера тратил слишком много времени на исследовательские проекты, это, естественно, привело бы к тому, что у меня было бы меньше технических результатов по сравнению с другими инженерами. Это было бы довольно вредно с точки зрения оценки производительности.

Поиск правильного баланса был деликатным процессом, который требовал частого обсуждения ожиданий и целей с моей цепочкой руководителей, а также выделения значительного времени вне работы для работы над исследовательскими проектами. К счастью, я совершил этот переход во время пика COVID, и поэтому у меня было гораздо меньше отвлекающих факторов и социальных обязательств, чем обычно. Если бы я не работал дольше, я, вероятно, не смог бы собрать достаточно данных для исследований и отзывов коллег для перехода на Applied Scientist.

Один из исследовательских проектов, над которым я работал, был с ведущим научным сотрудником из сестринской группы, который смог предоставить обратную связь, поддерживающую мой переходный документ. Я внес новаторский вклад и помог разработать современную модель самоконтроля для сегментации сцен фильма, что привело к написанию второго документа CVPR³ и программному докладу всей компании. Затем я произвел эту модель и развернул ее. После этого я написал документ о переходе и прошел техническую оценку у старшего научного сотрудника. Несмотря на то, что у меня были все результаты, чтобы доказать, что я оправдываю ожидания ученого-прикладника, мой переход все же был отложен из-за внутренней проверки моего документа. В мае 2021 года мой переход в Applied Scientist был окончательно одобрен — через 3 года после того, как я занялся машинным обучением, и через 11 месяцев после того, как я присоединился к Prime Video.

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

Практические советы

Если вы студент и уже знаете, что вас интересуют исследования в области машинного обучения, лучшее, что вы можете сделать, — это получить исследовательский опыт и стать соавторами (или даже лид-авторами) над опубликованными статьями. Поговорите с преподавателями, с которыми вам интересно работать, и узнайте, есть ли проекты, требующие помощи в проведении экспериментов. Иногда преподаватели слишком заняты, чтобы отвечать или наставлять вас напрямую, поэтому в этом случае вы можете попробовать найти аспиранта, которому нужна помощь в их проектах и ​​который хочет работать с вами. Посещение дополнительных занятий полезно, но дает убывающую отдачу, поскольку большая часть знаний, необходимых для проведения исследований, очень специфична, и лучше всего их усваивать, читая соответствующие статьи и фактически проводя практические эксперименты. Если вы уже близки к окончанию учебы и у вас нет исследовательского опыта, возможно, стоит пройти 1–2-летнюю магистерскую программу, но только если программа ориентирована на исследования (обычно с требования к диссертации). Магистерская программа, ориентированная на класс, не является продуктивным использованием времени, когда вы могли бы получать опыт и деньги, работая в промышленности. Стоит ли делать докторскую степень — это сложная тема, которая заслуживает отдельного поста, но, по сути, я не думаю, что докторская степень необходима для карьерного роста в рамках отраслевых исследований. Докторская степень — это хорошая идея, только если вы хотите сосредоточиться на работе над очень конкретной проблемой, а затем хотите стать профессором.

Точно так же, если вы работаете в промышленности и не имеете опыта исследований, один из вариантов — вернуться к магистерской программе, ориентированной на исследования. Вы также можете попробовать сделать боковое переключение внутри компании, как это сделал я, сначала присоединившись к исследовательской группе в качестве инженера-программиста и постепенно получая больше возможностей для исследовательской работы. Если вы не соответствуете требованиям к должности для академической родословной, как правило, легче перевестись внутри компании, чем сменить роль снаружи, потому что системы найма высоко автоматизированы и оптимизированы для минимизации ложных срабатываний (но не ложных отрицаний). Обратной стороной является то, что для установления связей и завоевания доверия при росте внутри компании требуется время. Один момент в вашу пользу заключается в том, что инженерный опыт ценен для масштабируемого повторения экспериментов и часто дает вам преимущество перед чистыми учеными, особенно в эмпирических областях.

Независимо от того, где вы находитесь, вам потребуются вычислительные ресурсы для проведения исследований в области машинного обучения, которые требуют все больших вычислительных ресурсов. Если у вас нет доступа к академическому или отраслевому вычислительному кластеру, я бы посоветовал собрать свой собственный ПК (см. эту публикацию в блоге ⁵ моего друга Тима Деттмерса из Университета Вашингтона) и заняться сторонними проектами, такими как Конференция по машинному обучению провела соревнования ⁶ чтобы освоить машинное обучение и создать портфолио. Я думаю, что конкурсы Kaggle также являются подходящим вариантом для обучения, но не идеальным для создания портфолио, поскольку проекты часто менее актуальны для академической литературы и больше ориентированы на реальное использование — в отличие от конкурсов, проводимых на конференциях по машинному обучению, таких как НейриПС.

Заключительные мысли

Размышляя о своей работе в Amazon, я могу извлечь следующие важные уроки:

  • Я единственный человек, который может и должен владеть своей карьерой. Поскольку я только что закончила обучение, я не понимала поощрений своих менеджеров и часто обижалась на них, когда они не давали мне проекты, которые я хотел. Чего я не понимал, так это того, что я никогда не должен ожидать, что кто-то пойдет в бой за меня. Мне нужно было идти на поводу у себя и создавать возможности, которые я хотел.
  • Удача – это когда подготовка встречается с возможностью. Хотя мне повезло, что в Prime Video появилась подходящая возможность, я также был готов максимально использовать эту возможность благодаря упорному труду. и сети.
  • Правила редко высечены на камне. Несмотря на то, что степень доктора наук является жестким требованием при размещении вакансий в области исследований в области машинного обучения, ученые степени — это всего лишь показатель способностей. Наличие докторской степени указывает на то, что кто-то, вероятно, способен проводить независимые исследования, но есть множество людей, не имеющих докторской степени и выполняющих потрясающие работы. В конце концов, единственное, что имеет значение, это то, сможете ли вы выполнить работу или нет. Степень может облегчить вам трудоустройство, но после того, как вас наняли, никого не волнует, какие у вас степени. Если вы сомневаетесь в требованиях, просто попробуйте подумать с точки зрения менеджера по найму о том, каковы функциональные обязанности этой роли. На мой взгляд, то же самое относится к MBA и другим профессиональным степеням.
  • Зарабатывайте на жизнь тем, что вам нравится. Некоторые люди выступают за то, чтобы зарабатывать на жизнь, а затем заниматься любимым делом помимо работы. Хотя я думаю, что это в равной степени верное направление, и восхищаюсь теми, кто способен осуществить его, мне это показалось сложным. Когда я впервые пришел в Amazon в составе не исследовательской группы, я пытался следить за исследовательскими работами после работы, но это не было устойчивым, потому что работа уже требовала много моей умственной и физической энергии. Я процветаю, когда моя страсть пересекается с моей работой.

¹ Начинающие исследователи машинного обучения в отрасли могут рассчитывать на заработок около 200 000 тыс., а старшие исследователи могут рассчитывать на более чем 500 000 тысяч.

² Документ ЦВПР №1

³ Документ CVPR #2

Публикация в блоге AWS

Руководство по созданию ПК с глубоким обучением

Список конкурсов/конкурсов ML Conference