Журнал / герои

Зачем писать диссертацию в IT

Большинство айтишников успешны в отрасли и без званий кандидатов или докторов наук. Но есть те, для кого защита диссертации — это естественный шаг в карьере. Максим Рябинин из Yandex Research поделился с нами тем, как он пришёл в науку и зачем ему кандидатская степень

Максим, почему ты решил связать свою жизнь с наукой? С чего всё началось?

Я начал свой путь в 2015 году, когда поступил на ФКН ВШЭ. Примерно тогда же я запустил программу DeepDream — способ взглянуть на изображение глазами нейросетей. Мне показалось это интересным, и я стал изучать ML глубже.

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

Под руководством Екатерины Лобачевой я написал курсовую на тему «Адаптивное время предсказания для классификации и последовательностей». Мне близки околоязыковые темы, все мои исследования лежали в этой области.

На четвёртом курсе я писал дипломную про оптимизацию гиперпараметров алгоритмов генерации текста, о том, как сделать машинный перевод качественнее. Тогда же я познакомился с Артёмом Бабенко, теперь он мой руководитель по диссертации. Я поступил в магистратуру ВШЭ «Науки о данных», которая связана с ШАДом. 

Расскажи о теме своей диссертации

Моя диссертация называется «Методы и проблемы децентрализованного глубинного обучения». С 2020 года появились большие нейросети для работы с языком, такие как нашумевшая ChatGPT. Если хочешь проанализировать такую модель или воспроизвести такое исследование, нужно быть в месте, где достаточно вычислительных ресурсов. Нельзя взять и скачать её: нужен суперкомпьютер, чтобы обучить нейросеть таких размеров, а он есть не у всех. Есть и другая проблема: доступ к новейшим исследованиям ограничен, не все могут воспроизвести последние результаты или адаптировать их под новые языки и задачи.

В своём исследовании мы пытаемся подойти к проблеме с другой стороны. Есть платформа Folding@home, запущенная в 2000 году. Чтобы смоделировать свёртываемость молекул белка, используют вычислительные мощности добровольцев, готовых помогать науке. Например, дома стоит компьютер, и, когда он ничем не занят, ты жертвуешь его ресурсы на благо человечества. Самые известные подобные проекты — это Folding@home, а также SETI@home и BOINC.

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

Как ты выбрал эту тему диссертации?

Когда я работал над своей первой статьёй в Yandex Research, я реализовал распределённую систему, которая задействовала внутреннюю вычислительную платформу Яндекса. Тогда я понял, что это мне интересно. Дополнительно я увидел тренд: обучение больших моделей становится более важным направлением исследований.

Мы с коллегами побрейнштормили и поняли, что стоит работать в этом направлении. С моделями mixture of experts я был уже хорошо знаком, и идея первой статьи возникла довольно органично.

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

Диссертация написана по материалам трёх статей.

В первой, Towards Crowdsourced Training of Large Neural Networks using Decentralized Mixture-of-Experts, мы изучаем применимость добровольных вычислений для обучения больших нейросетей и предлагаем адаптированную для такой постановки архитектуру. Стандартные методы распределённого обучения работают в предположении, что каждый сервер находится в сети постоянно и имеет быстрое соединение с остальными. Если вы хотите обучаться через интернет с участием добровольцев, это предположение перестаёт выполняться.

Вторая статья — Moshpit SGD: Communication-Efficient Decentralized Training on Heterogeneous Unreliable Devices. Она предлагает новый алгоритм агрегации параметров нейросетей в распределённом обучении: этот алгоритм устойчив к отказам отдельных узлов и при этом эффективен с точки зрения количества передаваемых данных.

Наконец, в третьей работе, Distributed Deep Learning in Open Collaborations, мы описываем адаптивный метод для обучения с учётом возможностей каждого компьютера в сети. Это полезно, когда у кого-то из участников есть быстрая видеокарта, но медленное сетевое соединение, а у кого-то — наоборот. Такая разнородность устройств есть всегда при обучении на устройствах волонтеров. Ещё в этой статье мы описали, как совместно с исследователями из Hugging Face и Университета Торонто организовали первый эксперимент с совместным обучением нейросети, в котором участвовали 40 человек со всего мира.

Зачем тебе кандидатская степень? Какое значение она имеет для тебя?

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

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

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

Над какими проектами в Яндексе ты сейчас работаешь?

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

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

Ещё одно направление — сделать так, чтобы человеку не пришлось аккуратно подбирать слова при работе с нейросетями. Сейчас часто возникает проблема, что запросы к моделям вроде ChatGPT или Stable Diffusion сильно зависят от формулировки запроса. Появилась профессия prompt engineer, которая занимается подбором лучших формулировок. Если у нас будет набор метрик и инструментов для «понимания понимания» языка нейросетями, мы сможем сделать ИИ удобнее для решения повседневных задач.