
Уже который раз я наблюдаю одну и ту же картину: человек проходит в аспирантуру, но затем почти сразу же во время весенней волны найма устраивается на высокооплачиваемую должность в отрасли. Меня подобное натолкнуло на мысль сразу пойти работать в индустрию.
Поэтому я поискал по Zhihu и прошёлся примерно по всем рассказам о собеседованиях, связанным с обучением с подкреплением (reinforcement learning), сопоставил их со свежими обсуждениями и собственными наблюдениями, а затем подготовил из этого выжимку на 35 самых интересных вопросов. Считайте получившееся своего рода бенчмарком для собеседований по RL.
Несколько замечаний:
-
В списке нет жёсткого разделения между RL для LLM/БЯМ и агентным RL. В некоторых случаях ответ на один и тот же вопрос будет сильно зависеть от конкретной постановки задачи.
-
Почти каждый вопрос можно разворачивать гораздо глубже. Готовых эталонных ответов здесь нет. Если вы консультируетесь у БЯМ, не останавливайтесь на первом ответе; задавайте уточняющие вопросы и побольше ищите самостоятельно.
-
На современных позициях в RL всё чаще ждут понимания всего стека. Если вы занимаетесь алгоритмами, вас всё равно могут спрашивать про инфраструктуру, и наоборот.
-
В списке нет вопросов про данные. Их почти невозможно заучить, и они слишком сильно зависят от вашего реального опыта.
-
Одного заучивания вопросов для собеседований недостаточно, глубокое понимание здесь гораздо важнее.
Алгоритмы
-
Почему используют схему Actor-Critic, а не чистый подход через Critic?
-
Как связаны KL-дивергенция (дивергенция Кульбака — Лейблера), кросс-энтропия (перекрёстная энтропия) и MLE (maximum likelihood estimation, оценка максимального правдоподобия)?
-
Как проектировать награды в разных сценариях RL?
-
Как в RL вписываются importance sampling, rejection sampling и другие методы Монте-Карло?
-
Как в PPO и GRPO считается advantage? Зачем вычитать baseline? Действительно ли нужна нормализация по стандартному отклонению?
-
Чем отличается эксплорация (exploration) при RL-обучении от эксплорации при масштабировании на этапе инференса?
-
Как работает механизм clipping в PPO (Proximal Policy Optimization)? Зачем брать минимум целевой функции? Что будет, если убрать clipping? Чем отличается CISPO?
-
Зачем в GRPO добавляют KL-штраф? Как считается KL? Почему методы вроде DAPO и GSPO от него отказываются?
-
Что происходит при обучении большой языковой модели, если loss по ошибке несколько раз прогнать через All-Reduce?
-
Какая функция награды используется в DPO? Возможен ли reward hacking? Как с ним бороться?
-
Какие методы решают проблему расхождения между обучением и инференсом в моделях типа MoE (mixture of experts) и как именно они работают?
-
Как при обучении с подкреплением (RL) выбирать размер группы, learning rate, число эпох PPO и длину генерации?
-
Чем Dr. GRPO, DAPO, GSPO, CISPO, SAPO, DPPO, MaxRL и SimKO улучшают обучение по сравнению с GRPO? Какие у них ограничения?
-
Как TRPO, DPPO и AReaL накладывают ограничения trust-region на цели RL?
-
Может ли RL в принципе расширять границу возможностей LLM?
-
Как, опираясь на работы вроде ProRL, стоит думать о масштабировании границ обучения с подкреплением?
-
Какие улучшения OPD (On-Policy Distillation) даёт по сравнению с классическим RL и SFT (Supervised Fine-Tuning)? Где его можно применять?
-
На каком этапе обучения у LLM появляется способность к рассуждению?
-
Какие улучшения RL появились на пути от DeepSeek-R1 к v3.2 и будущим системам v4? Чем RL отличается в моделях MoE?
Инфраструктура
-
Если не учитывать CPU offload, сколько копий модели находится в памяти во время обучения GRPO? Сколько памяти позволяют сэкономить разные оптимизации?
-
Распределённый инференс: оптимизация передачи KV-cache и стратегии коммуникации между несколькими GPU.
-
INT8 против FP8. В чём компромиссы? Какие форматы точности предпочитают для обучения и инференса?
-
Что такое проблема длинного хвоста в RL-роллаутах и как с ней бороться?
-
Какие проблемы continuous batching создаёт в RL-обучении? Чем отличаются vLLM и SGLang?
-
Как измерять использование ресурсов в vLLM и SGLang? Как оценивать использование KV-cache во время обучения?
-
Как устроено обратное распространение ошибки (backpropagation) в крупномасштабном многоузловом RL-обучении?
-
Какие существуют асинхронные фреймворки RL и какие узкие места синхронизации они устраняют?
-
В AReaL и других фреймворках с partial rollout сохраняются ли KV-cache от предыдущих политик?
-
Как параллелизм экспертов (expert parallelism) влияет на пропускную способность моделей MoE?
-
Как при обучении на длинном контексте проектировать перекрытие вычислений и коммуникации? Чем Megatron и FSDP отличаются по стратегиям параллелизма?
-
Как добиться детерминированного выполнения? Что такое batch invariance? Из-за чего возникает эта инвариантность? Причастен ли к этому atomic add? Может ли atomic add решить эту проблему?
-
Чем различается понимание узкого места RL-роллаутов в AReaL и slime?
-
Как нам следует рассматривать staleness в полностью асинхронном RL-обучении? Какие значения обычно встречаются на практике?
-
Как данные проходят через slime? Как он интегрируется с Megatron? Как считается loss?
-
Если бы вам пришлось выбирать между VeRL, TRL, Unsloth, AReaL и slime, что бы вы выбрали и почему?
Удачи. И помните: подготовка к собеседованиям помогает, но настоящее понимание масштабируется гораздо лучше любой зубрёжки.
Примечания переводчика
Действительно, если судить по биографии автора, он занимается исследованиями, но в аспирантуру не пошёл. Сейчас Сююй Ли — исследователь пекинской AI-компании StepFun, где в сферу его деятельности входят обучение с подкреплением, постобучение и оптимизация фундаментальных моделей. С 2022 по 2026 год он учился на бакалавриате Китайского университета Жэньминь, а до StepFun успел пройти стажировки в PixVerse, Пекинской академии Чжунгуаньцунь и JD.com.
«Чжиху» или 知乎 — популярный в Китае сайт вопросов и ответов, который обычно сравнивают с Quora, не сильно вдаваясь в различия в интерфейсе и культуре общения на этих ресурсах. Вероятно, Сююй любит читать посты по тэгу 面经, где многие выкладывают рассказы про опыт собеседований, описания раундов интервью, вопросы и советы по подготовке. Версию этого текста на китайском Ли также опубликовал на «Чжиху».
Если сравнить текст на английском и на китайском, то заметно, что Ли использует труднопереводимый термин 春招. Так в Китае обозначают весеннюю кампанию найма выпускников вузов, которая выступает в роли дополнительного окна в марте и апреле. Основной и предпочтительный период с наибольшим числом вакансий — это 秋招, осенний период найма, длящийся с сентября по декабрь. В использованном переводе «весенняя волна найма» эта особенность китайского общества утеряна.
ссылка на оригинал статьи https://habr.com/ru/articles/1055446/