1. Введение
Этот текст — небольшое обобщение моего опыта подачи заявок на Computer Science PhD с уклоном в machine learning в Северной Америке. Я постарался собрать в этом гайде свои просчеты (учиться лучше на чужих ошибках) и более-менее универсальные вещи, полезные всем. Но все равно нужно понимать, что это довольно индивидуальный опыт, поэтому ваша личная стратегия может отличаться. Например, в случае выбора вузов/научных руководителей или в написании statement of purpose. Ну или вы находитесь в других стартовых условиях по сравнению со мной (оценки, статьи, рекомендации).
Имейте в виду, что основная часть гайда писалась до получения результатов, потому что мне хотелось избежать «ошибки выживших» (survivorship bias) и проанализировать свой опыт безотносительно того, поступил я или нет. В конце руководства есть мои результаты: я поступил в 2 из 11 вузов, в которые подавался. На мой взгляд, все равно стоит избегать ошибок, которые я здесь буду описывать. Ну и нужно понимать, что в процессе подачи на ML PhD очень много шума, поэтому можно сделать все хорошо и пролететь и наверное даже наоборот.
1. Введение
2. Зачем мне PhD?
3. Выбор страны
4. Оценка расходов
5. Подготовка к GRE
6. Подготовка к TOEFL
7. Оценки в вузе(-ах)
8. Рекомендации
9. Статьи
10. Выбор университета и научного руководителя
11. Написание statement of purpose/personal history
12. CV и вишенки на торте
13. Процесс подачи заявок
14. Ожидание и таймлайны ответов
15. Как справляться с отказами
16. Мои результаты и пару слов про визы в США
17. Заключение и благодарности
Будьте готовы, что подача заявок на PhD займет у вас от двух месяцев до полугода, в зависимости от вашего стартового уровня и способов организации работы. У меня вышло в районе двух месяцев и это было стрессово. Если у вас нет научных статей, возможно, имеет смысл накинуть год-два на их написание. По деньгам: $400 (GRE + TOEFL) + $70-150 за каждую поданную заявку + $150 (подготовка к GRE/TOEFL через Magoosh). Учтите, что эти цифры актуальны на конец 2017 года.
Процесс подачи на PhD вкратце устроен следующим образом: вы готовитесь и сдаете GRE/TOEFL, выбирайте вуз и научника, пишете statement of purpose/personal history, пишете потенциальным научным руководителям, заполняете заявки, ждете ответов, проходите собеседования (в некоторых случаях берут без них), поступаете и пилите офигенные исследования и вас берут профессором в Стэнфорд или исследователем в Google (но это неточно). Каждая из глав этого гайда описывает одну из частей процесса выше. В конце каждой главы я также собрал полезные ссылки, на которые натыкался в процессе подготовки, потому что мой опыт не первый и не последний.
- Хороший краткий гайд про подачу заявок на phd с важными замечаниями. Особенно часть про admissions is a crapshot
- Пост профессора из Carnegie-Mellon как они отбирают студентов
- Еще один хороший и честный guide, на этот раз с уклоном в Computer Science: http://www.pgbovine.net/grad-school-app-tips.htm
- Гайд с уклоном в психологию
- Короткие советы с уклоном в калифорнийские реалии
- Таймлайн подготовки, рассчитанный на восемь месяцев
- Очень обстоятельное руководство, написанное в 1997 г. и обновленное в 2017 г.
- И еще один хороший гайд (я знаю, вы уже устали от этих ссылок)
2. Зачем мне PhD?
Это главный вопрос, на который себе нужно ответить, прежде чем во все это ввязываться. Подача заявок стоит времени, денег и, что самое важное, нервов. Да, в процессе вы что-то поймете про себя и станете чуть лучше представлять, как устроены исследования в этой области, но эти же знания можно получить в менее стрессовых условиях и сделать за это время гораздо больше полезного.
На мой взгляд, нормальный ответ на вопрос “Зачем мне PhD” только один — вы хотите заниматься исследованиями в этой области. Если вы смотрите на phd как на способ попасть в гугл/фейсбук/амазон, то есть куча других более надежных и интересных способов. Нужно понимать, что phd занимает от 4 до 6 лет и за это время вполне можно выстроить нормальную карьеру как data scientist или data engineer. При этом если ваше phd пойдет не так, то вы окажетесь в очень проигрышной позиции по сравнению с людьми, которые работали, пока вы мучались с phd.
По сути, phd — это лицензия на то, чтобы заниматься исследованиями (но не единственный способ ими заниматься). Если вы не знаете, что с этой лицензией делать дальше, тогда в это лучше не ввязываться.
- Важный текст о том, почему НЕ надо делать PhD
- Еще один хороший пост про то, почему НЕ надо делать PhD
- Гайд про экономическое phd, но там до фига полезных и универсальных идей
- Руководство для новоиспеченных phd про выбор между академией и индустрией. Его полезно прочитать и до подачи заявок, чтобы понимать, что вас ждет
- Тред на Quora про выбор между PhD и индустрией
3. Выбор страны
Изначально этого пункта не было в этом руководстве, но я решил его добавить из-за ситуации с визами. Суровая правда жизни в том, что в текущей геополитической ситуации (2018 год), многим иностранцам стало сложнее получать учебные визы в США, особенно если они занимаются технологиями двойного назначения: атомная физика, computer science, химия и так далее. Почти 100%, что подаваясь на визу, вы попадете на вещь, которая называется administrative processing, которая раньше занимала в районе трех недель, а теперь может занимать три месяца и даже больше.
Вторая проблема с американской учебной визой в том, что велика вероятность, что ее дадут вам всего на год. Это значит, что вы либо застрянете в США (можно находиться там без визы, если у вас все в порядке с внутренними документами), либо вам придется каждый год обновлять визу, если вы хотите ездить на конференции за пределы США (виза дает право въезда в страну, но не на пребывание). Если для вас важно географическая мобильность или вы хотите регулярно навещать родственников, вам стоит серьезно подумать про подачу документов не в США, например, в Канаду или Европу.
Также важно понимать особенности стран в подходах к PhD. В Европе PhD обычно требует образования магистра и длится 3-4 года, в течении которых вы работаете над конкретным проектом. В Канаде и США люди обычно поступают в аспирантуру после бакалавриата, первые два года проходят обучение, выбирают научного руководителя с темой и в итоге защищаются через 5-6 лет после начала обучения. Вы можете поступить на PhD в США и со степенью магистра, но это не главное, на что смотрят в большинстве вузов в первую очередь.
Комментарий про ситуацию с PhD заявками от иностранцев в США
4. Оценка расходов
Это в основном касается американских/канадских вузов, которые почти все требует заплатить application fee ($70-125 на вуз), а также прислать им официальные отчеты GRE ($27 GRE + $19 TOEFL). В итоге выходит, что одна заявка в вуз обходится в $100-150 долларов. Еще есть фиксированные косты сдачи GRE и TOEFL — примерно $200 за каждый. Иными словами, если вы хотите податься в 10 американских вузов, то это обойдется вам примерно в $2000. Расчет актуален на конец 2017 года.
Вторая важная составляющая расходов — это время. У меня ушло примерно два месяца: один на подготовку к GRE и другой на поиск научных руководителей, написание statement of purpose и заполнение заявок. На мой взгляд, это абсолютный минимум, ниже которого опускаться не стоит. Это не чистое время, потому что я параллельно работал в научной лаборатории, поэтому если у вас больше свободного времени, возможно вы управитесь быстрее. Если вы сторонник минимума стресса, то лучше начинать за 3-6 месяцев до дедлайна заявок.
- FAQ по GRE, включая стоимость:
- Стоимость TOEFL
- Подготовка к GRE и TOEFL на Magoosh
5. Подготовка к GRE
5.1 Общее
GRE — это тест на 3 часа 45 минут, который проверяет ваше знание численных методов (quant, Q), ваше умение анализировать тексты/предложения в сочетании со словарным запасом (verbal, V), а также умение писать аналитические тексты (AWA). Про сам тест подробно написано в куче мест, поэтому здесь я поделюсь своими впечатлениями и трюками.
С GRE в целом дурацкая история, на мой взгляд. Если написать его очень хорошо, то это не дает особого преимущества, ведь большинство сильных кандидатов пишут его хорошо. А вот если написать его плохо, то это может сильно навредить. Это делает подготовку к нему муторным и утомительным занятием, поскольку такая постановка вопроса не мотивирует вообще (нужно изо всех сил бежать, чтобы остаться на месте). Я использовал несколько ментальных трюков, чтобы сделать этот нудный процесс более приятным/эффективным.
Установите себе цель. Моя цель была 165Q, 155V. Цель по AWA я не выставил и это была ошибка. В итоге я сдал на 169Q, 159V и 3.0 AWA, где первые две оценки — это очень хорошо для моей специальности (96 и 83%), а последняя — крайне посредственно (18%). Если бы я выставил конкретную цель по AWA, моя подготовка была бы эффективнее.
Смотрите на GRE как на возможность чему-то научиться. В случае с математикой я освежил некоторые школьные знания + научился нескольким оценочным трюкам. В случае c verbal я существенно расширил словарный запас и выучил часть слов, которые никогда иначе бы не выучил. Без этого трюка готовиться к GRE ужасно скучно.
Понимайте мету теста. Вопросы в GRE не всегда сформулированы максимально ясно и это сделано специально. Составители прекрасно понимают условия, в которых вы решаете тест и в рамках правил иногда стараются сбить вас с толку. Нужно понимать, как устроены эти ловушки, чтобы в них не попадаться. В этом очень полезен magoosh (см. ниже).
Используйте www.magoosh.com. Подписка на полгода стоит $150 и она того стоит. На Magoosh куча коротких и ясных видео, которые вам объяснят как устроен GRE, основные трюки и ловушки составителей, а также помогут освежить ту математику, которую вы забыли. Плюс там примерно по тысяче задач на quant и verbal, а также удобная и ясная статистика и способ отслеживать разделы, в которых вы больше всего ошибаетесь.
Оцените время, которое вам нужно на подготовку. Rule of thumb, которое везде пишут и с которым я согласен — в среднем нужно 40 часов, чтобы улучшить балл в категории (например, quant) на 5 единиц. Например, если вы написали в первый раз тест на 160Q/155V, то вам нужно 80 часов, чтобы поднять балл до 165Q/160V. Но тут важно понимать свои индивидуальные особенности. Например, если вы уверены, что ваши баллы занижены из-за нервов, то вам может потребоваться меньше/больше времени чтобы выработать свою стратегию написания теста.
Установите рутину подготовки с учетом своих приоритетов и доступного времени. У меня на подготовку был ровно месяц и поэтому в моем случае рутина была 40 вопросов quant и 40 вопросов verbal ежедневно. Рутины по AWA у меня не было и это было ошибкой.
5.2 Quant
Важно понимать, что GRE Quant — это тест скорее не только на знание базовой математики, но и на внимание с концентрацией. В начале подготовки я оценил себя по этим трем пунктам (отлично/норм/плохо) и строил подготовку соответственно. В моем случае математика была отлично, внимание плохо и концентрация отлично. Под концентрацией можно понимать умение работать под жестким временным давлением.
Каждый день я решал минимум 40 вопросов с magoosh в quiz mode — это когда вы отвечаете на вопросы и только потом видите ответы. Я бы вообще не использовал practice mode, когда вы видите правильный ответ сразу после своего ответа. Подготовка в формате quiz больше похожа по условиям на реальный тест. Плюс анализировать ошибки проще и лучше кучей.
Кроме того, в процессе написания этого текста мне посоветовали Crunchprep — утверждается, что им тоже удобно пользоваться и можно посмотреть, что подтянуть.
5.3 Verbal
GRE Verbal в первую очередь про словарный запас, и во вторую — про понимание, как устроены самые распространенные ловушки в задачах на чтение. Чтобы нормально сдать Verbal достаточно вдумчиво посмотреть все видео на magoosh про verbal (их меньше, чем по математике) + постоянно работать над словарем. С последним мне очень помог сайт quizzlet.com (есть еще memrise.com), где можно составлять списки слов, а потом запускать обучение, где сайт тебе их подсовывает хитрым образом для изучения. Я завел привычку записывать туда все незнакомые слова, которые я встречал в вопросах magoosh и текстах, которые я читал. Слова я записывал пачками по 50 штук и под конец подготовки старался прорабатывать одну пачку каждые 2-3 дня. С чтением на мой взгляд достаточно прорешать все связанные с ним вопросы на magoosh. Самый важный трюк, который я вытащил — это то, что сначала нужно читать вопрос, потом формулировать свой ответ и только в конце смотреть на варианты ответа.
5.4 AWA
С этой частью я немного облажался, поскольку получил 3.0 из 7.0, что довольно плохо. Идеальный вариант подготовки, как я понимаю постфактум — это найти людей, которые смогут давать фидбек по письму и писать по 3-4 эссе в неделю. Основная проблема с AWA для меня была в том, что сложно писать осмысленные вещи под жестким временным давлением. Magoosh предлагает хорошую схему: интро, 3-4 абзаца с тезисами, заключение. Мне она была полезна, потому что позволяет не думать о структуре, а сосредоточиться на содержании.
В процессе написания этого текста мне также посоветовали вот этот ресурс, который дает грубую оценку за эссе в полуавтоматическом режиме.
5.5 Навык сдачи самого теста
Чтобы нормально сдать GRE на мой взгляд очень важно снизить уровень стресса при его сдаче. Например, быть знакомым с интерфейсом теста. Кроме того, очень важно правильно распоряжаться временем. Например, не подвисать на сложных вопросах и возвращаться к ним в оставшееся время. Для этого я рекомендую сдать как можно больше mockup тестов (такая опция есть на magoosh, а еще список бесплатных тестов можно найти здесь). Кроме того, GRE предлагает два powerprep теста при бронировании времени сдачи. Их обязательно надо сдать, чтобы получить представление об интерфейсе.
Лично я за последние 10 дней подготовки сдал шесть тестов: два PowerPrep и четыре Magoosh. Мне это очень сильно помогло при сдаче самого теста. Например, мне в секции quant попался очень хитро сформулированный вопрос про вероятности, на котором я подвис. Но поскольку у меня был опыт сдачи, я этот вопрос пропустил, потом со спокойной душой вернулся к нему в конце и оказалось, что вопрос простой, просто сформулирован с подвохом.
5.6 Бронирование времени
Самое позднее время комфортной сдачи GRE и TOEFL — первая неделя ноября, если вы хотите делать только одну попытку. Если хотите несколько, добавляйте по месяцу на каждую дополнительную попытку для GRE. Октябрь/ноябрь — самое горячее время сдачи, поэтому время лучше бронировать минимум за месяц вперед, а то и раньше, чтобы получить тест в удобное время суток.
Например я сова и первоначально забронировал тест на 8 утра, поскольку бронировал в последний момент. Мне потом пришлось мониторить удобное время и потратить $50 на смену времени, чтобы взять тест в четыре часа дня. Постфактум я считаю, что это было очень правильно решение, поскольку более простой TOEFL я сдавал в 8 утра и чувствовал, что мозг еще не очень включился. Если вы жаворонок, то возможно для вас это верно с точностью до наоборот.
5.7 Пересдача GRE/TOEFL
Если вы не уверены в своих силах, запланируйте тесты так, чтобы у вас было время на одну-две пересдачи. GRE вы можете сдавать пять раз в год с минимальным интервалом в 21 день, TOEFL вы можете пересдавать сколько захотите с интервалом в 12 дней. На практике это означает, что лучше добавлять по месяцу на каждую попытку пересдачи GRE и по две недели — на TOEFL.
6. Подготовка к TOEFL
TOEFL состоит из четырех частей: speaking, writing, listening, reading. За каждую из них можно получить максимум 30 баллов. Как правило университеты требуют, чтобы ваш результат был не ниже определенного порога, чаще всего 80 или 100. Некоторые университеты указывают минимумы по секциям. Например, я не стал подавать в Cornell, потому что у них отсечение по speaking было 22 (у меня вышло 20). Вообще, speaking обычно самая важная часть, если у универа есть отдельная разбалловка, поэтому ей стоит уделить отдельное внимание (см. ниже).
Если вы нормально готовились к GRE Verbal и AWA, то вы автоматом готовы и к reading/writing, потому что они упрощенные версии GRE Verbal. Listening тоже не должна представлять проблем, если вы способны смотреть сериалы/фильмы без субтитров и понимать большую часть того, что там происходит. Если нет, то это хороший способ подготовки. Главная сложность с listening во время теста — это то, что в комнате несколько людей сдают тест, поэтому вы можете слушать, когда кто-то другой наговаривает speaking. К этому надо быть морально готовым и не тушеваться.
Самая сложная часть для меня оказалась speaking. Я считал, что по дефолту готов к ней, но в тесте оказался важный нюанс — ограничение по времени. У вас есть 45-60 секунд, а иногда еще меньше, чтобы четко ответить на поставленный вопрос. Это требует некоторой практики. У magoosh есть сервис подготовки к toefl ($50 за месяц). Я купил, но по факту почти не использовал. Если бы я готовился к тесту сейчас, то обязательно проработал бы несколько десятков вопросов speaking.
7. Оценки в вузе(-ах)
Тут есть две важные составляющие: undergrad (бакалавриат/специалитет) и graduate (магистратура). Требования по оценкам варьируются от вузу к вузу. Кому-то интересны ваши оценки только в undergrad целиком, кому-то интересны за последние два года, включая магистратуру (если вы были в ней). В моем случае я был скорее в плохом положении — у меня были очень плохие оценки, несмотря на то, что я окончил очень хороший вуз на очень хорошей программе.
В зависимости от вуза и программы, высокие оценки повысят ваш шанс пройти первоначальный отбор, но на окончательное решение они скорее всего не повлияют. Плохие оценки снижают вероятность того, что вы пройдете предварительные фильтры и делают ваш профиль чуть менее конкурентоспособным: у вас будет очень много конкурентов с GPA близким к идеальному. При этом судя по тому что я читал, разницы между GPA 3.8 и 4.0 особо нет. По моим ощущениям, если у вас сильны другие части заявки, то GPA > 3.5 вполне норм.
Здесь я шел по пути минимизации повреждений — если у вас есть хорошая причина, почему оценки были плохие, то стоит ее упомянуть в statement of purpose, но без фанатизма и в позитивном ключе. Кроме того, если у вас есть академические рекомендатели, которые у вас преподавали, можно их попросить написать нечто вроде «его оценки в бакалавриате отстой, но это полная чушь». Сработает это или нет — зависит от вуза и программы, но это не то, на что вы можете сильно повлиять, поэтому не стоит сильно напрягаться на эту тему (хотя я все равно напрягался).
Если у вас плохие оценки, то вам вдвойне важно хорошо втащить GRE и очень осмысленно подходить в выбору вузов, куда вы подаете заявления. Например, я не стал подаваться в MIT, потому что они известны тем, что для них очень важен GPA. А еще тот же MIT прямо пишет, что для них ничего не значит GRE. Наверное, в MIT можно попасть с плохими оценками, просто вероятность не очень высокая, а моя задача была максимизировать вероятность попадания на пхд при условии, что мне нравится потенциальный вуз и научные руководители. Чуть больше про это в пункте про выбор вуза и потенциального научного руководителя.
8. Рекомендации
Для большинства вузов вам потребуются 2-3 рекомендации преподавателей/научных руководителей/людей, которые вас знают с научной или трудовой точки зрения. И тут возникают две проблемы — как таких людей найти и что они там должны писать.
8.1 Как выбрать рекомендателя
Поскольку вы подаете документы на исследовательскую позицию, то в идеале рекомендации должны быть от исследователей в интересующей вас области, которые говорят о вашей способности заниматься самостоятельными исследователями. Я бы нацеливался на минимум две рекомендации из академической среды. Статус рекомендателя тоже важен — если он известен, то выше шанс, что к его рекомендации прислушаются.
Поскольку у большинства из нас нет возможности получать рекомендацию условных Бенжио, Хинтона или Лекуна, то есть несколько возможных источников рекомендаций. Во-первых, научный руководитель диплома — это практически обязательный вариант, особенно если вы учились в магистратуре. Во-вторых, кто-то из деканата, кто вас хорошо знает и хорошо к вам относится. В-третьих, если вы делали интересные исследовательские проекты или летнюю практику, то подойдет руководитель проекта/практики. В-четвертых, ваш непосредственный руководитель на работе, если вы достаточно долго проработали где-то и гордитесь тем, что там сделали.
Общий принцип при выборе рекомендателя — пусть лучше вам напишет хорошую рекомендацию менее статусный человек, которые хорошо к вам относится, чем безликую — статусный. Идеальный вариант — и то, и то, но в этом случае вам, скорее всего, не нужно это руководство.
8.2 Как писать рекомендации
Есть шанс, что рекомендатель попросит вас написать рекомендацию за него, чтобы он потом отредактировал. Это странный опыт, поскольку с одной стороны хочется написать о себе хорошо, с другой стороны — объективно. Поскольку я не писал рекомендаций за себя, то могу дать несколько общих советов.
Избегайте рекомендаций типа did well in class. Университеты получают такие рекомендации тысячами и они бесполезны. Если рекомендацию пишет человек, который читал у вас курс, пусть напишет подробнее, чем вы так хороши, какой интересный проект сделали и насколько вы круты среди тех, кого он обучал в своей жизни.
Рекомендация должна демонстрировать, насколько вы самостоятельны и способны к исследовательской работе. Профессора как правило жутко занятые люди, поэтому ценят тех, кто требует меньше их драгоценного времени. Если рекомендация показывает, что вы способны заниматься исследованиями самостоятельно (но не пропадаете!) — это хороший знак. В идеале должны быть конкретные примеры проектов и что вы сделали в них.
Из рекомендации должно быть хотя бы приблизительно понятно, насколько вы приятный человек. Если вы гений и уникум, то наверное это часть не очень важна, но если нет, то при прочих равных отдадут предпочтение тому, с кем приятно работать. Про это не надо писать много, но если из рекомендации будет понятно, что вы приятный и порядочный человек, это точно не будет лишним.
8.3 Как облегчить жизнь рекомендателям
Чем круче у вас рекомендатели, тем хуже у них со свободным временем. Ваша задача — сделать процесс написания и подачи рекомендаций максимально безболезненным для них. Лично я сделал для них таблицу в Google Sheets, где указал все вузы, куда подавался, их дедлайны и статус рекомендации (отправлен/не отправлен запрос, получена/не получена рекомендация, и нужна ли вообще рекомендация от этого человека). Не лишним будет при приближении самого раннего дедлайна прислать напоминание рекомендателям, что через X недель/дней наступает первый дедлайн.
9. Статьи
Это очень важная часть заявки, ведь основная часть научной работы — это написание статей. Даже если вы не планируете после PhD заниматься наукой, вам придется во время обучения писать статьи и также защищать диссертацию. Чтобы понимать, на что вы идете, хорошо бы попробовать это сделать заранее, чтобы понять, насколько это вам интересно.
Если вы студент бакалавриата или магистратуры, то все относительно просто — вы ищете людей и лаборатории в университете, которые занимаются тем, что вам интересно и пробуете делать с ними исследовательские проекты. Не стесняйтесь обращаться к профессорам — всем нужны работящие студенты и лишние руки (особенно бесплатные). При этом не стоит завышать планку слишком высоко и метить сразу на NIPS или ICLR, но хорошо бы конечно подаваться на англоязычные конференции или workshops. Даже если вашу статью не приняли, но вам она нравится, выложите ее на arXiv — это лучше, чем ничего. Никто не ждет от вас статьи на NIPS — это очень сложно и одна из целей вашего обучения в аспирантуре как раз научиться писать такие статьи.
Если вы работали в индустрии и не хотите идти в магистратуру, а сразу хотите сразу поступать на PhD, то тут сложнее. Тут я могу предложить только один рецепт — устроиться research assistant в лабораторию и принять участие в нескольких проектах.
Мне повезло и я устроился в лабораторию в США, которая занимается neuroscience и несколько своих статей я написал там. Если вы думаете, что моя история уникальна, то вот пример человека, который в США работал очень высокооплачиваемым юристом, а потом поступил в NYU, проработав до этого год в научной лаборатории. Мораль этой истории: даже если вы много достигли в старой профессии/индустрии, вам скорее всего придется пожертвовать временем/деньгами для поступления PhD.
Правда, есть еще одна проблема в том, что в России не так много групп и университетов, которые делают ML-research мирового уровня. На мой взгляд их четыре: ВШЭ, МФТИ, МГУ и Сколтех. Я не хочу советовать конкретные имена, но довольно легко найти людей в этих вузах, которые имеют публикации в международных конференциях. Как попасть в такую группу — отдельный вопрос и тут я к сожалению не могу ничего посоветовать.
Наконец, еще один способ получить исследовательский опыт — это воспроизвести какую-нибудь известную статью с нуля. Это позволит вам понять, насколько вы способны делать то, что сделали авторы статьи. Более того, на ICLR есть Reproducibility Challenge, в котором организаторы призывают воспроизводить статьи из предыдущего года. Это тоже хороший способ показать, что вы способны заниматься исследованиями в этой области, а также получить квазипубликацию для заявки на PhD.
10. Выбор университета и научного руководителя
10.1 Общее
По идее, этот раздел должен идти сразу после «зачем мне PhD», но он стоит в конце по одной простой причине. В США и Канаде огромное количество хороших вузов и еще больше хороших профессоров. Для того, чтобы вдумчиво их просмотреть, нужно очень много времени. Пункты выше (GRE, статьи, TOEFL, GPA) накладывают ограничения на ваш выбор вузов. Например, если ваши оценки так себе, то для вас скорее всего закрыты вузы типа MIT. Или например ваш GRE не дотягивает до официально указанного порога (некоторые вузы указывают и такое). Это значит, что если вы отложите выбор вузов под конец, вы можете сэкономить время, используя ваши результаты в качестве дополнительных фильтров.
На мой взгляд перед началом подготовки к PhD стоит выбрать несколько dream school — места, куда вы хотите подаваться невзирая на шансы, просто чтобы попытаться. После того, как вы сдадите тесты, вы можете добавить к этому списку несколько более реалистичных кандидатур с учетом ваших результатов.
Еще важно понимать, что в США и Канаде очень много хороших вузов, из которых вы скорее всего знаете только 5-10 самых известных (скажем Stanford, Berkeley, Harvard, Yale, Carnegie Mellon, MIT и Caltech). В эти вузы очень сложно попасть, потому что их знают все и каждый год туда подается огромное количество народу. Лично я ориентировался на попадание в вуз из топ-50.
10.2 Поиск научного руководителя
Для себя я решил, что мне не очень важен рейтинг школы — рангов много (QS, TIMES, US NEWS и так далее), они могут разниться и часто не очень понятно, как они составлены. Поэтому в первую очередь я искал профессоров, которые занимаются интересными мне исследованиями и выглядят приятными людьми. Последнюю часть не стоит недооценивать — вы проведете с научным руководителем несколько лет и если он вам неприятен с самого начала, то вряд ли это будут приятное время.
Для поиска научников я использовал CSrankings.org — удобный и минималистичный сайт, в котором можно выбирать различные направления CS/AI/ML и смотреть универы, отсортированные по количеству публикаций в ведущих конференциях по этим направлениям. Что еще более ценно, для каждого университета приводится разбивка по цитированиям профессоров. Собственно, я просто выбрал интересующие меня направления, взял период за последние пять лет и шел по списку людей из каждого универа. Как правило, я фильтровал профессоров, у которых меньше 10 публикаций, потому что искал людей, которые активно работают.
Для каждого профессора я оценивал три вещи. Первое — профиль в google scholar. Там я смотрел не только самые цитируемые статьи, но и широту интересов профессора, а также его последние статьи. Я старался избегать слишком узких или слишких широких специалистов, а также чистых теоретиков (таких довольно много) и чистых прикладников (таких мало, потому что прикладные статьи сложнее публиковать). Я искал людей, которые сильны фундаментально и используют это знание для решения прикладных задач. Это отсеивало примерно половину профессоров (очень субъективно).
Второе — личный сайт. Это лучшее (хоть и весьма несовершенное) из возможных приближений личностей профессора, если вы с ним незнакомы. По моим наблюдениям, у хороших профессоров сайт не перегружен регалиями или понтами, там ясно прописано, чем человек занимается вообще и сейчас, из публикаций выделены ключевые и в идеале есть пометки для потенциальных студентов. Кроме того, на сайте частенько пишут, берут студентов или нет. Из вещей, которые меня настораживали: обилие понтов и/или регалий (ты профессор, понятно, что ты крутой/крутая), отсутствие обновлений, отсутствие студентов или малое их количество.
Третье — социальные сети. Это опциональная вещь, но живой твиттер/фейсбук — это большой плюс для профессора. По нему можно понять, как он мыслит, какие вещи его интересуют и что он за человек. Таких профессоров не очень много, но я думаю, что с годами их будет все больше, поэтому этот совет будет все актуальнее.
Важно понимать, что мой способ выбора научника сильно смещен в сторону крутых ребят. Если профессор активно публикуется в лучших конференциях, велики шансы, что он работает в хорошем вузе, в который сложнее поступить. С другой стороны, если вам не нравится потенциальный научный руководитель даже на бумаге, то есть шанс, что вам с ним будет тяжеловато.
10.3 Выбор вуза
Поскольку мы живем в неидеальном мире, то может получиться так, что идеальный научник находит в неидеальном вузе. Это либо расположение, либо критерии поступления, либо научник просто не берет студентов в этом году. Поэтому после фильтрации научников, я фильтровал вузы. Критерии были следующие.
Количество потенциальных научников. Я не подавался в вузы, где не мог найти как минимум трех потенциальных руководителей, которые мне нравились. Это вопрос максимизации отдачи на вложенные ресурсы — вы платите за каждую заявку деньги, поэтому делать ставку на одного научного руководителя рискованно. Плюс многие вузы просят вас указать трех потенциальных руководителей.
Соответствие критериев отбора моим параметрам. Например, у меня был не очень высокий speaking в TOEFL — 20 и по этому критерию для меня был закрыт Cornell. Другие универы, типа MIT, очень придирчиво смотрят на GPA. Третьи универы дают cutoff по GRE, явный или неявный. С явным все понятно, а неявный обычно проявляется в том, что универ дает баллы поступивших туда по разным годам (вот например для Duke University). Если ваши баллы существенно ниже, то стоит задуматься.
Возможности финансирования. Большинство вузов пишут, как финансируют своих PhD студентов. Обычно это работа teaching/research assistant. Если на сайте вуза этого ясно не указано, то это может быть тревожный знак, потому что есть шанс, что у вас будут проблемы с финансированием. Ну то есть вас могут взять, но без финансирования, что лично для меня было равносильно отказу, потому что аспирантура в США, как и вообще все образование, очень дорогая.
Во сколько вузов подаваться, зависит от наличия у вас времени и денег, а также от относительной силы вашей заявки. Если вы считаете, что у вас сильная заявка для тех вузов, куда вы собираетесь подавать, то можно податься в небольшое число вузов (<7), если заявка относительно слабая, то возможно стоит раскинуть сети шире. Важно понимать, что ваша оценка относительной силы резюме может быть завышена, поэтому стоит подстраховаться.
Я знаю несколько людей, которые подавались либо одновременно со мной, либо на год раньше. Первый из США, с очень сильным резюме, подался в ~10 крутых вузов, из которых его взяли больше чем в половину и он сейчас в Стэнфорде. Второй из России, с не очень хорошими оценками в undergrad, подался в пять университетов на шесть программ, из которых его взяли в два вуза, один из которых в топ-10 US News. Третья из Китая, которая подалась в ~20 мест, из которых ее взяли в один или два университета, и она в итоге пошла в университет из топ-25. Все они подавались на biomedical engineering.
Лично я подался в 11 (8 в США, 2 в Канаде, 1 в Европе) вузом на Computer Science, девять из которых требовали плату за заявку. На мой взгляд, больше — это уже перебор. Каждый вуз требует заполнения заявки (и обычно форматы заполнения заявок отличаются), поэтому рассчитывайте, что только на одно ее заполнение у вас уйдет около двух часов (это регистрация на сайте, заполнение многочисленных полей, проверка информации), поэтому умножение числа вузов линейно умножает это время.
11. Написание statement of purpose/personal history
Statement of Purpose (SoP) — это текст на две страницы о том, кто вы такой, зачем вам PhD, чем вы хотите заниматься и какой у вас релевантный опыт. Уже из этого описания понятно, что основная проблема SoP — это засунуть огромное количество информации в очень сжатый объем текста. В зависимости от вашего профиля, устремлений и характера, вам придется пожертвовать одними частями и написать больше про другие.
Оценки роли statement of purpose (SoP) сильно разнятся. Некоторые гайды говорят, что это самая важная часть заявки для PhD, другие — что это более-менее формальная часть (в конце концов, его ведь кто-то может написать за кандидата). На мой взгляд, роль SoP вырастает, если у вас не самый идеальный профиль и вы не являетесь студентом бакалавриата/специалитета на момент подачи. Лично я провел очень много времени за его написанием и сформулировал для себя несколько важных принципов, которые перечислены ниже. Важное замечание: еще раз напоминаю, что этот гайд очень индивидуален, а эта часть индивидуальна вдвойне. Есть шанс, что вы придете к какой-то своей схеме.
Переписывайте SoP снова и снова. Мне до сих пор стыдно за свой SoP который я в спешке написал для одной известной европейской лаборатории. Он был самодовольный, глупый и перегруженный лишними деталями. Будьте готовы написать несколько драфтов SoP, чтобы выкинуть все ненужное и прописать важные вещи ярко и коротко.
Поймите, чем вы хотите заниматься хотя бы в общих чертах. Я сформулировал научный вопрос, который меня интересует еще до того, как решил подаваться на PhD. Это мне помогло и в поиске научных руководителей, и в написании SoP. Если вам сложно сформулировать научный вопрос хотя бы в общих чертах, то на мой взгляд это тревожный знак (см. пункт «зачем мне phd»). С другой стороны, будьте готовы, что вы будете заниматься не теми вещами, которые описали в SoP. Такой вот дурацкий дуализм.
Покажите SoP всем, кому доверяете. Неважно, работает ли человек в науке или индустрии, главное, чтобы вы ему были небезразличны. Ваша задача — оценить спектр реакций на ваш текст: кажетесь ли вы заискивающим или самодовольным? Понятно ли, что вы за человек? Понятно ли, чего вы хотите? Ваша задача — снизить вероятность экстремальной реакции на текст, потому что его будет смотреть очень много разных людей. Мне например, пару очень хороших и болезненно точных советов дал друг, у которого нет высшего образования, но он при этом очень хорошо разбирается в людях. Еще пару хороших советов дал человек, который читал много cover letters.
Пишите по делу. SoP — это не выставка достижений или CV, а текст про то, зачем вам PhD и чем именно вы хотите заниматься. Все ваши достижения должны быть в контексте того, что вы способны пережить PhD и заниматься исследованиями. Все остальные вещи лучше описать в CV или statement of personal history. Тут важно не количество, а качество, поэтому лучше выбрать два-три ударных достижения и хорошо их описать, чем сделать текстовую версию резюме. В этом вам помогут отзывы людей (см. пункт выше).
Покажите, что вы за человек. Когда я в первый раз посмотрел SoP моего знакомого, он мне показался плохим, потому что на мой взгляд там не хватало фокуса и целеустремленности. Написав свой SoP, я понял, что в его тексте было важное достоинство — из текста было понятно, что мой знакомый хороший человек. Важно понимать, что университеты ищут не только звезд, но и людей, с которыми им приятно работать. Понятно, что в коротком тексте сложно показать, кто вы есть, но если у вас это получится, то это повысит шанс, что вы найдете научного руководителя, близкого вам по духу (или отфильтруете тех, кто вам не подходит).
Вычитайте на предмет ошибок. Этот совет выглядит очевидным ровно до того момента, как вы понимаете, что сделали опечатку в имени потенциального научного руководителя в своей dream school, в которую вы уже подали заявку. Это случилось со мной, и это было очень неприятно. Не повторяйте мою ошибку.
12. CV и вишенки на торте
В этом разделе я опишу то, что на мой взгляд может быть полезно для вашего резюме. Каждая из вещей ниже ничего не гарантирует в отдельности (правда крутой GitHub может очень сильно помочь), но может быть полезна, чтобы сделать ваш профиль чуть более сильным и выделяющимся на фоне остальных кандидатов.
12.1 Живой GitHub
Скорее всего, он у вас есть. Если нет, то вам срочно нужно его завести и научиться пользоваться, потому что это ежедневный инструмент работы во многих университетах. Скорее всего, у вас github есть, но там не очень много интересного. Как его заполнить? Лучший вариант — репродуцирование известных статей ML/DL в каком-нибудь известном фреймворке типа TF/PyTorch/Keras. У меня такой вещи не было, но я неоднократно видел этот совет от крутых ребят типа Bengio, поэтому не повторяйте моей ошибки. Тут важно понимать, что сделать гитхаб живым за пару месяцев вряд ли получится, поэтому начинайте работать над ним как можно раньше. Если у вас есть научные статьи и вы можете выложить код, сделайте это, потому что это лучшая демонстрация вашего кода. Еще один вариант — нормальный код с ML-соревнований, даже если вы не занимали призовых мест.
12.2 Опыт ML соревнований
Если вы интересуетесь ML, то скорее всего участвовали в соревнованиях Kaggle. Для меня это отличный способ выйти из зоны комфорта и попробовать новые задачи. Нужно понимать, что Kaggle требует очень много времени и ментальной жесткости. Как правило, все очевидные вещи уже сделаны другими или описаны в публичных kernels, поэтому постоянно приходится придумывать что-то новое. Именно поэтому он очень полезен. Полезная привычка (которую я так и не завел) — это после соревнования вычищать код и выкладывать задокументированное решение на github.
Если вы находитесь в Москве, то есть крутая группа тренировок ML в яндексе, где регулярно выступают люди, получившие свежее золото/высокое серебро. У них также есть ютуб канал с записями выступлений
Из минусов каггла: он отнимает много времени, требует кучи вычислительных ресурсов и часть навыков, необходимая для победы, очень специфична. Но на мой взгляд, плюсы перевешивают минусы, особенно если пытаться обобщать свой опыт, а не только стакать публичные kernels (что я сам делал чуть чаще, чем нужно).
12.3 Личный сайт
Перед подачей заявок хорошо бы иметь небольшой сайт, который описывает кто вы такой, ваши проекты и устремления. Большая часть заявок в универах дают возможность включить ссылку на свой сайт. Я соорудил свой сайт уже после своих заявок на PhD, поэтому ссылки на него в моих заявках не было. Максимум что я мог сделать на этом этапе — это добавить ссылку на свой сайт на LinkedIn, Github и Google Scholar. Главная причина, почему я не сделал сайт сразу — я выбрал чересчур сложный движок, в котором до конца не разобрался. Как только я нашел другой более простой и минималистичный движок, я сделал сайт за пару дней. Опять — не повторяйте мою ошибку и делайте сайт заранее.
12.4 Google Scholar
Если у вас есть статьи, то вам нужен Google Scholar. It’s that simple.
12.5 Coursera
Ее наличие лучше, чем ее отсутствие, но я судя по тем резюме принятых студентов, которые я видел, она встречается довольно часто.
13. Процесс подачи заявок
Будьте готовы, что заполнение заявок — трудоемкая процедура, которая займет у вас 2-3 часа на вуз в лучшем случае. У каждого вуза своя система подачи заявок и они могут очень сильно отличаться друг от друга. Например, у вузов разные требования к загрузке документов. Например, в одном вузе требуют один pdf не больше 2 МБ, в другом требуют загружать отдельные страницы транскриптов в отдельных файлах, в третьем просят вбить ключевые курсы руками. Или в вузе требуется сразу две регистрации — одна на сайте вуза, другая на сайте департамента, куда вы подаете документы. Еще для каждого вуза есть динамические вещи, за которыми надо следить: дошли ли результаты GRE, TOEFL и рекомендации. Кроме того, если вы пишете в каждый вуз свой statement of purpose, хорошо бы хранить ссылки на них в одном месте.
Я организовал процесс подачи заявок через Google Doc, где хранил всю необходимую информацию: название вуза, дедлайн подачи, потенциальные научные руководители, ссылка на страницу логина, сам логин, статус GRE и TOEFL, статус всех трех рекомендателей, статус ответа вузов (пригодилось в процессе ожидания), ссылка на statement of purpose и так далее. Кроме того, у меня была упрощенная табличка для рекомендателей, чтобы им было удобно следить за тем, когда и куда отправлять рекомендации. Эта система для меня сработала очень хорошо.
14. Ожидание и таймлайны ответов
Итак, вы отправили все заявки, убедились, что запросы на рекомендации достигли адресатов и те вовремя отправили их. Время расслабиться, верно? Если вы из тех людей, кто ответил «да», то вам можно не читать этот раздел. Если вы из тех, кому ожидание и неопределенность даются тяжело как мне, вам дальше.
Крайний срок ответов вузов по заявкам в США — 15 апреля. Проблема в том, что распределение ответов сильно отличается от вуза к вузу. Где-то ответы начинают приходить в конце января-феврале, а где-то не раньше марта-апреля. Угадать это очень сложно, поэтому я пошел другим путем.
Есть такой сайт — thegradcafe.com, где аппликанты сами выкладывают свои заявки и их статус. Я распарсил эти заявки за последние пять лет и составил графики принятия решения по всем вузам в среднем и по интересующим меня вузам. Таймлайн по всем вузам выглядит примерно так (ссылка на изображение покрупнее):
Таймлайны по конкретным вузам вы можете найти в этом альбоме. Из них видно, что в большинстве случаев вы можете особо не напрягаться, если ответов нет до начала марта. Если ответов нет до середины марта, то это скорее всего означает, что если вы и попали в short lists, то скорее всего находитесь в их конце. Но при этом важно понимать, что свой оффер вы можете получить и в начале апреля (как было с одним из моих).
15. Как справляться с отказами
Отказы — это очень неприятно и обидно. И чем больше вы хотите в конкретный университет, тем обиднее отказ. Я использовал несколько ментальных техник, чтобы уменьшить боль от отказов.
Я напоминал себе, что университеты физически не могут взять всех хороших студентов. Machine learning сейчас — это безумно конкурентная область, поэтому на несколько десятков PhD в университете поступают тысячи заявок, из которых большая часть так или иначе подходят. В этих условиях вы можете быть сильным кандидатом, но не пройти, потому что выбрали не вас. В двух отказах, которые мне приходили, упоминалось число людей, которые подавались на CS PhD в этот универ: в одном было около 1500 человек, в другом — около 2000. Это означает, что ваши очень невысоки, даже если вы сильный кандидат.
Я завел себе традицию rejection latte. Каждый раз, когда мне приходил отказ, я шел в кофейню поблизости, покупал себе большой вкусный латте и не спеша его пил. Работало на удивление отлично: даже в случае отказа я получал небольшое вознаграждение. Всего я получил девять отказов, так что вышло около пяти литров кофе.
Я ныл паре близких людей. В такой стрессовой ситуации важно кому-то выговориться. Это не означает, что вы должны изливать таким людям свои горести сутки напролет, но хорошо, когда есть кому послушать и пошутить вместе или в ответ.
2. Обсуждение на academia.stackexchange, как жить с отказами в PhD
16. Мои результаты и пару слов про визу в США
Как я писал выше, я подался в 11 университетов (10 в США и Канаде, один в Европе). Примерно половина из них были очень популярные и известные, типа Berkeley, UT Austin или NYU. Вторая половина была просто хорошие вузы, которые на мой взгляд были ниже радаров. В итоге меня взяли в два хороших вуза ниже радаров (один из которых в топ-10 по CS Rankings), что я считаю успехом.
Процесс получения учебной визы в Москве у меня занял 2,5 месяца и мне пришлось перенести начало обучения на весенний семестр. Это еще одно свидетельство того, как важен выбор страны при выборе вуза — может оказаться, что все ваши усилия будут осложнены политическим напряжением между странами или иммиграционной политикой страны, куда вы поступили на PhD.
17. Заключение и благодарности
Вне зависимости от исхода ситуации с моей визой, я считаю, что это был полезный опыт. Как минимум потому, что я написал этот гайд, который поможет вам избежать моих ошибок (и сделать свои). Если вы все же решили поступать на PhD, то удачи вам в этом!
Большое спасибо Павлу Нестерову (mephistopheies), Екатерине Архангельской, Глебу Пособину, Максиму Артемьеву, Юлии Денисовой и Анвару Курмукову за замeчания и помощь при написании этого руководства.
Комментарии (12)
3dcryx
28.09.2018 17:47Вы поступили со стипендией или должны сами платить? Если второе то сколько стоит 1 год?
dpetrov_ml Автор
28.09.2018 17:59Если тебе в США дают funding, то тебе компенсируется стоимость обучения (зависит от университета и программы, $25-40 тыс в год) и предлагается работа учебного/научного ассистента примерно на 20 часов в неделю. Зарплата тоже сильно зависит от университета и программы, но обычно получается в диапазоне $1000-2000 чистыми на руки в месяц.
0xd34df00d
28.09.2018 22:22Спасибо за подробную статью!
Правда, я в последнее время правда перестал понимать, зачем нужно PhD. Это, похоже, даже не лицензия на исследовательскую деятельность — статьи писать можно и без степени.ankh1989
29.09.2018 12:23Почётный титул и полезная строчка в резюме. Продвинутый PhD ML с 5 годами опыта легко претендует на 500к в гугле и ещё выкручивает эйчарам руки. Но есть один нюанс: получение этого PhD может занять ещё 5 лет в течении которых вам ничего не платят (те крохи не в счёт). А в то время как вы получаете PhD, ваш друг-обычный-продвинутый-кодер начинает с 150к, через 5 лет имеет 250к и через 10 лет те же самые 500к.
AndreDeBonk
29.09.2018 04:02Спасибо за крутейшую статью и ряд полезных ссылок, это невероятно круто.
Обязательно перечитаю еще раз когда (если) решусь подаваться на PhD.
Возможно, Вы могли бы посоветовать хорошие вузы в сфере Data Science? Больше интересуют канадские, но США тоже не отбрасываю.
Есть вообще направления, куда можно пойти на такой PhD с практически нулевым опытом/навыками в этой сфере? Может что-то посоветуете для меня.
Образование у меня финансовое, с программирования связан гораздо слабее чем основная аудитория хабра (Excel + VBA, Google Sheets + js, любая автоматизация пк/боты на скриптовых языках).
Я очень люблю анализировать — у меня бесконечное множество персональных расчетных проектов практически по любому чиху в моей жизни. По сути это те же исследования, но с 100% концентратом моего интереса в них.
Образование (ровно как и работа) в сфере финансов меня не сильно впечатлили — интересные моменты заканчиваются достаточно быстро, большая часть направления через чур легкая и очевидная, а рутину я обычно всю автоматизирую. Не совсем понятно что там делать столько лет. Научные работы в области финансов только повторяют этот вопрос. Но я рассматриваю этот вариант если не получится найти что-то другое, ибо куда еще?
Еще есть диплом переводчика, учится нравилось, и научные работы на эту тему весьма интересные. Но пока не вижу перспектив выхлопа с этого направления (занятие интересное, а вот работа довольно утомительная за свою оплату). Возможно, в комбинации с тем же Data Science зашло бы хорошо (пилить условный google translate было бы клево, я вообще фанат идеи создания настоящего ИИ)
Интересны темы ИИ, машинного обучения и анализа данных. Хотелось бы их освоить именно во время обучения, либо потратить минимум времени на предподготовку.
Или в моем случаи нужно начинать максимум с магистратуры в Data Science?
Aspos
29.09.2018 06:22Отличная статья!
Про сроки поступления я всем всегда говорю: лучше не торопиться, пропустить год, но приготовиться отлично. Отточить SOP, сдать на максимум GRE, собрать много хороших рекомендаций.
Потратили бы год а не 2 месяца, глядишь поступили бы в топовый универ.
Svbakulin
29.09.2018 06:29Спасибо, очень интересно. Смотрю с большим инетресом на ML и data sceence через призму своей професси.
Closius
29.09.2018 14:03Я довольно успешно работаю исследователем (Research & Development) в одной международной германсткой компании. В области software engineer и mechanical engineer. И у меня нет PhD. И я скажу что я повидал много людей с этой PhD которым приходилось объяснять что-то типа, что если развернуть цилиндр на плоскость то получится квадрат и координатную систему также можно преобразовать.
И про инглиш — есть еще IELTS не забывайте. А вообще все эти инглишы та еще хрень.
Invision
Хорошая статья, спасибо. Я так понимаю, что 75% всего написанного переносится на поступление и на bachelor degree?
dpetrov_ml Автор
Я думаю, что применима в лучшем случае треть написанного. Я не очень знаком с bachelor, но там при поступлении сдают SAT, который существенно проще GRE. Рекомендации нужны, но они ничего не должны говорить про научный потенциал (и их кажется две). Эссе тоже надо писать, но там не про науку, а я не знаю про что. В общем, я бы с осторожностью применял написанное к undergrad, если бы вообще применял.