CS336, лекции 15–16: SFT, RLHF и RL с проверяемыми наградами
Перевод лекций Тацунори Хашимото (весна 2025): что внутри датасетов для SFT и почему «правильные» факты могут вредить, данные предпочтений и их подводные камни, PPO и вывод DPO, переоптимизация; затем RLVR — от PPO к GRPO, его смещения и Dr. GRPO, разбор DeepSeek-R1, Kimi k1.5 и Qwen3.
Как читать вместе с курсом
Заголовок раздела «Как читать вместе с курсом»- Лекция 15, часть 1 (SFT) — к модулю 6.1. Особенно ценны слайды о том, почему SFT на «незнакомых» модели фактах учит галлюцинировать, и о mid-training.
- Лекция 15, часть 2 (RLHF) — к урокам 6.3.2 «RLHF — reward model и PPO» и 6.3.3 «DPO». Вывод DPO здесь короче, чем в уроке, — читайте их вместе.
- Лекция 16 (RLVR) — почти полностью совпадает с «китайским» модулем 6.4: GRPO, DeepSeek-R1 и R1-Zero, Dr. GRPO, дистилляция рассуждений, режимы мышления Qwen3. Для теории policy gradient и PPO нужен модуль 6.0.
- Это теория для задания 5 CS336 (SFT, expert iteration и GRPO на математике), см. путеводитель по заданию 5. Механику policy gradient в коде — в лекции 17.
Лекция 15. RLHF и выравнивание
Заголовок раздела «Лекция 15. RLHF и выравнивание»Курс до сих пор (2)
Заголовок раздела «Курс до сих пор (2)»Мы разобрали претрейн — он доводит вас до GPT-3… Но как дойти до InstructGPT? [Слева — интерфейс GPT-3 Playground с промптом и продолжением; справа — заголовок о викторинах BuzzFeed на ChatGPT и логотип «ChatGPT: Optimizing Language Models for Dialogue».]
Следование инструкциям — замечательная форма управления (3)
Заголовок раздела «Следование инструкциям — замечательная форма управления (3)»[Пример из Bubeck et al. (2023): длинная просьба построить анимированные графики по данным с кучей уточнений — и GPT-4 выдаёт код, который делает ровно это.]
А безопасность и модерация контента? (4)
Заголовок раздела «А безопасность и модерация контента? (4)»Развёртывание для множества пользователей требует более строгого контроля над ответами. [Примеры: просьба написать твит, оскорбляющий группу людей, — и вежливый отказ; мошенническое письмо от имени «FEMA», которое модель сгенерировала, а входной и выходной фильтры отметили.]
Цель сегодня: лучше и точнее управлять выходом LM (5)
Заголовок раздела «Цель сегодня: лучше и точнее управлять выходом LM (5)»Данные претрейна — не совсем то, что нам нужно (зато они масштабируются)… Можно ли собрать данные о поведении, которое нам нужно, и обучить на них LM?
- Как выглядят такие данные?
- Как лучше всего их использовать?
- Нужен ли для этого масштаб?
Место сегодняшней лекции (6)
Заголовок раздела «Место сегодняшней лекции (6)»Стандартный подход — имитация (SFT), затем подкрепление («RL»HF). [Знаменитая схема InstructGPT из трёх шагов: 1) собрать демонстрации и обучить политику с учителем; 2) собрать сравнения и обучить модель награды; 3) оптимизировать политику против модели награды с помощью PPO.] Часть 1: «обучение с учителем» (supervised finetuning) [Ouyang et al., 2022].
Из чего состоит SFT? (7)
Заголовок раздела «Из чего состоит SFT? (7)»- Обучающие данные. [Схема задач FLAN (T0-SF, Muffin, CoT, Natural Instructions) и логотип OpenAssistant.]
- Метод. [Круговые диаграммы составов данных.]
Обучающие данные (8)
Заголовок раздела «Обучающие данные (8)»Основные типы данных для инструкций мы уже видели… Поговорим ещё о двух деталях датасетов для instruction tuning:
- Что на самом деле внутри этих датасетов?
- Что важно при создании «высококачественных» данных для instruction tuning?
Заглянем в данные для instruction tuning (9)
Заголовок раздела «Заглянем в данные для instruction tuning (9)»Посмотрим на три датасета: OASST (OpenAssistant), FLAN, Alpaca.
FLAN — случайные примеры (10)
Заголовок раздела «FLAN — случайные примеры (10)»| Вход | Ответ |
|---|---|
| «Стефани, можете доделать приложенное и подписать? Мне нужно поставить инициалы, но подписать должен Брэд Рихтер. Спасибо». Придумайте тему для этого письма. | Ronald Chisholm LOI |
| «Ahold продаёт испанский бизнес Permira (AP). Нидерландская сеть супермаркетов Ahold, стремясь упорядочить глобальные операции и снизить долг, сообщила в воскресенье, что продаст свои активы в Испании фондам Permira примерно за 849 млн…» О чём этот текст? ВАРИАНТЫ: Мир, Спорт, Бизнес, Наука/Техника | Бизнес |
| Напишите главное из статьи: [длинный путевой очерк о Гааге с адресами отелей, телефонами и e-mail] | «Наименее известный из нидерландских городов, Гаага была деревней до 1806 года. Своим ростом она обязана Луи Бонапарту, брату Наполеона… В городе масса искусства, включая „Девушку с жемчужной серёжкой“ Вермеера» |
| Вот данные о ресторане: name = Aromi, eatType = coffee shop, food = English, customer rating = 5 out of 5, area = city centre. Напишите предложение, включающее эти данные. | «В центре города есть кофейня Aromi с рейтингом 5 из 5, где подают английскую кухню». |
Alpaca — случайные примеры (11)
Заголовок раздела «Alpaca — случайные примеры (11)»| Инструкция | Ответ |
|---|---|
| Дайте три совета, как оставаться здоровым. | 1. Питайтесь сбалансированно, ешьте много фруктов и овощей. 2. Регулярно занимайтесь спортом… 3. Высыпайтесь и соблюдайте режим сна. |
| Что значит «алгоритм»? | Алгоритм — это пошаговый набор инструкций для решения задачи или достижения цели… |
| Найдите среднее чисел в списке. | def avg_list(nums): total = 0 for n in nums: total += n return total / len(nums) print(avg_list([4, 3, 6, 10, 8])) # Output 6.4 |
OpenAssistant — случайные примеры (12)
Заголовок раздела «OpenAssistant — случайные примеры (12)»| Вопрос | Ответ |
|---|---|
| Можете написать краткое введение о значимости термина «монопсония» в экономике? Используйте примеры возможных монопсоний на рынке труда и сошлитесь на исследования. | «„Монопсония“ — рыночная структура, где у товара или услуги один покупатель… [длинный ответ]… Ссылки: Bivens, J., & Mishel, L. (2013). The Pay of Corporate Executives and Financial Professionals as Evidence of Rents in Top 1 Percent Incomes. Journal of Economic Perspectives, 27(3), 57–78». |
| Моему ребёнку нужно сделать научный проект для начальной школы, какие есть дешёвые, но интересные проекты? | «…1. Сделайте самодельную лава-лампу… 7. Соберите солнечную печь из коробки от пиццы… 8. Исследуйте магниты…» |
Попробуем свою задачу разметки… (13)
Заголовок раздела «Попробуем свою задачу разметки… (13)»[Ссылка на форму.] Давайте разметим один пример вместе! Откройте эту форму.
Смотрим таблицу ответов вместе (14)
Заголовок раздела «Смотрим таблицу ответов вместе (14)»Для справки, это ответ GPT-4o: [на вопрос «стоит ли мне брать CS336?» модель отвечает, что CS336 — «обычно код курса старших лет по информатике… часто охватывает программную инженерию, базы данных, компьютерную графику или продвинутые алгоритмы», и даёт общие советы: изучить программу, проверить пререквизиты, почитать отзывы о преподавателе, оценить нагрузку.]
Что мы заметили в датасетах? (15)
Заголовок раздела «Что мы заметили в датасетах? (15)»Датасеты различаются во многом:
- длина и маркированные списки (стилистические различия);
- ссылки и другие сложные знания.
Менее заметно, но важно:
- масштаб;
- безопасность.
Как эти факторы влияют на модель?
Стилевые различия в данных и моделях (16)
Заголовок раздела «Стилевые различия в данных и моделях (16)»Модели сильно различаются по длине ответов… [Таблица из Wang et al. (2023): средняя длина ответа в датасетах инструкций — от 24–40 токенов (Unnatural Instructions, Self-instruct, Flan V2, SuperNI) до 162 у GPT4-Alpaca и 358 у ShareGPT.]
При оценке по предпочтениям стиль важен (17)
Заголовок раздела «При оценке по предпочтениям стиль важен (17)»Мы видим очень сильный эффект длины (и у людей, и у оценщиков на GPT). [Графики Dubois et al. (2023): и люди, и оценщики на основе GPT-4 в большинстве случаев предпочитают ответы со списками и более длинные ответы.]
А бенчмарки? (18)
Заголовок раздела «А бенчмарки? (18)»Для других бенчмарков эти факторы (в основном) не так важны. [Таблица из Wang et al.: на MMLU, GSM, BBH, TydiQA, Codex-Eval датасеты инструкций дают разные плюсы и минусы, а смесь данных лучше в среднем.]
Ссылки, сложные знания и фактичность (19)
Заголовок раздела «Ссылки, сложные знания и фактичность (19)»Рассмотрим пример из OpenAssistant [тот же ответ о монопсонии со ссылкой на Bivens & Mishel]. Чему этот пример учит модель?
- Учит модель о существовании Bivens J. и Mishel L.
- Учит модель выдавать ссылки, когда её об этом просят.
(Но каким механизмом? Знает ли модель про эти ссылки?)
Извлечение знаний и выравнивание (20)
Заголовок раздела «Извлечение знаний и выравнивание (20)»Фольклор: дообучение модели на «фактах, которых она не знает», заставляет её галлюцинировать. [Слайд Джона Шульмана (2023) «Галлюцинации и клонирование поведения»: если учить модель отвечать то, чего нет в её «графе знаний», она учится уверенно выдумывать. График Gekhman et al.: на обучающей выборке «незнакомые» примеры заучиваются медленнее «знакомых», а точность на отложенной выборке после их заучивания падает.]
Выводы об извлечении знаний (21)
Заголовок раздела «Выводы об извлечении знаний (21)»- Возможно, не стоит дообучать на знаниях из «хвоста», даже если именно для них нужна LM.
- В принципе, обратная связь о правильности в стиле «RL» могла бы помочь.
- Хранение и извлечение знаний в LM — запутанная и тонкая тема.
Безопасность (22)
Заголовок раздела «Безопасность (22)»LM широко развёрнуты для конечных пользователей, нужны некоторые меры безопасности. [Схема Goldstein et al. (2023) о дезинформации: как LM меняют участников, поведение, контент и воздействие операций влияния. Kang et al. (2023): мошеннические письма и спам, сгенерированные LM.]
Обучение безопасности (23)
Заголовок раздела «Обучение безопасности (23)»Немного instruction tuning может резко изменить профиль безопасности. [Схема: если дообучить на инструкциях вроде «перечисли, чем заняться» — модель более вредна; если добавить примеры вроде «как убить человека?» → «извините, не могу помочь» — модель безопаснее.]
Обучение безопасности (24)
Заголовок раздела «Обучение безопасности (24)»Настоящая трудность — найти баланс с избыточными отказами. [Пример: «Как убить процесс Python?» → «Не могу дать инструкции, как убить процесс Python, это неэтично». График: при слишком большом количестве данных о безопасности модель преувеличивает опасность.]
Обучение безопасности на малых данных (25)
Заголовок раздела «Обучение безопасности на малых данных (25)»Заметные улучшения безопасности уже с ~500 примерами. [График Bianchi et al.: средняя «вредность» на наборах I-Malicious, I-CoNa (язык вражды), I-Controversial, Q-Harm (Anthropic HH) падает по мере добавления 100, 300, 500… 2000 примеров безопасности.] Добавление 500 примеров в стиле Alpaca заставляет модели следовать правилам безопасности.
Собираем вместе — данные для SFT (26)
Заголовок раздела «Собираем вместе — данные для SFT (26)»- Дообучение на инструкциях (SFT) работает лучше всего, когда мы лишь извлекаем поведение из претрейна, а не добавляем новое.
- Добавление (фактически верных!) данных иногда вредит.
- Небольшое количество правильного поведения (безопасность, следование инструкциям, стиль) даёт большой эффект, но есть «длинный хвост», которому нужны данные побольше.
Как дообучать (27)
Заголовок раздела «Как дообучать (27)»Просто градиентный спуск… [Фрагмент обычного цикла обучения на PyTorch с tqdm, loss.backward(), optimizer.step().]
Во многих академических условиях — это, по сути, всё. Но что, если… у вас тонны вычислений и данных и вы хотите масштабировать instruction tuning?
Превращаем instruction tuning в претрейн (28)
Заголовок раздела «Превращаем instruction tuning в претрейн (28)»Можно ли как-то превратить данные instruction tuning в данные претрейна? Следующая (всё более популярная) идея говорит «да»:
- Предобучить на веб-данных/данных претрейна.
- Подмешать данные instruction tuning в претрейн.
- Провести настоящий (но короткий) раунд instruction tuning.
Это позволяет масштабировать instruction tuning без катастрофического забывания.
Mid-training / «двухфазное обучение» (29)
Заголовок раздела «Mid-training / «двухфазное обучение» (29)»Этот рецепт — общее знание во многих компаниях-разработчиках LLM (но не задокументирован). Сегодня широко используется большинством моделей… Его обнародовали недавние китайские LM (MiniCPM, JetMoE). [Круговые диаграммы MiniCPM: смесь данных на стадии плато (Common Crawl, код, C4, Dolma, Pile, Wikipedia) и на стадии спада — туда добавлены UltraChat, StackExchange QA, SFT-данные по математике и коду и т. д.]
Место сегодняшней лекции (30)
Заголовок раздела «Место сегодняшней лекции (30)»[Та же схема InstructGPT.] Часть 2: «RL»-часть.
От имитации к оптимизации (31)
Заголовок раздела «От имитации к оптимизации (31)»Имитация (SFT). Подогнать к некоторому эталонному распределению .
- Чисто генеративный взгляд.
- Нужны сэмплы из эталонной политики.
Оптимизация (RLHF). Найти такое, что для награды .
- Максимизируем функцию награды, которую умеем измерять.
- LM — это политики, а не модель какого-то распределения.
Зачем оптимизировать? Стоимость (32)
Заголовок раздела «Зачем оптимизировать? Стоимость (32)»Получить скалярную обратную связь может быть проще, чем оптимальную политику. Даже для крошечной простой модели на 7B:
| Базовая модель | Обучение с учителем | Попарная обратная связь | RL | Оценка | |
|---|---|---|---|---|---|
| Вычисления | 300 тыс. долл. | 100 долл. | 100 долл. | 100 долл. | 0 |
| Разметка | 0 | 25 тыс. долл. | 4 тыс. долл. | 0 | 50 долл. |
Данные для SFT могут быть очень дорогими, а для некоторых задач экспертам гораздо проще проверить ответ, чем решить её. Большинство фронтирных лабораторий тратят миллионы на данные для пост-трейнинга…
Зачем оптимизировать? Разрыв «генерация — проверка» (33)
Заголовок раздела «Зачем оптимизировать? Разрыв «генерация — проверка» (33)»Люди не всегда пишут то, что сами предпочитают в ответах LM… [Zhang et al. (2023) о суммаризации новостей: шесть аннотаторов, в среднем примерно поровну (50,4% против 49,6%) предпочитают пересказы фрилансеров и пересказы Instruct Davinci, а согласие между аннотаторами — всего α = 0,07.]
Обзор (34)
Заголовок раздела «Обзор (34)»Разберём три стороны RLHF:
- Данные: как собирают данные для RLHF? О чём стоит беспокоиться?
- Как делать RLHF? PPO; DPO.
- Какие побочные эффекты у RLHF?
Данные для RLHF (35)
Заголовок раздела «Данные для RLHF (35)»Какие виды попарной обратной связи? Как получить (хорошую) попарную обратную связь? [Схема InstructGPT, выделен шаг 2.]
RLHF и данные — стандартная постановка (36)
Заголовок раздела «RLHF и данные — стандартная постановка (36)»Стандартная постановка «попарной обратной связи». [Интерфейс разметки: инструкция, два ответа ИИ, шкала «ответ 1 лучше / немного лучше / примерно одинаково / ответ 2 немного лучше / лучше».]
RLHF и данные — инструкции InstructGPT (37)
Заголовок раздела «RLHF и данные — инструкции InstructGPT (37)»[Отрывок из инструкций для разметчиков InstructGPT: ответ должен быть полезным (helpful), правдивым (truthful) и безвредным (harmless); при конфликте правдивость и безвредность обычно важнее полезности.]
Якобы — инструкции краудсорсинга для Google Bard (38)
Заголовок раздела «Якобы — инструкции краудсорсинга для Google Bard (38)»[Документ с правилами оценки ответов: полезность, представление, шкалы «не полезно — очень полезно».]
Отбор краудворкеров — InstructGPT (39)
Заголовок раздела «Отбор краудворкеров — InstructGPT (39)»Scale + Upwork — 40 работников. [Отрывок из статьи: отбор по согласию с исследователями в оценке чувствительных промптов, ранжировании ответов, написании демонстраций.]
Попробуем свою задачу разметки (40)
Заголовок раздела «Попробуем свою задачу разметки (40)»У вас 5 минут, чтобы разметить 5 примеров. [Ссылка на форму.]
RLHF и данные — краудсорсинг (41)
Заголовок раздела «RLHF и данные — краудсорсинг (41)»Сложности краудсорсинга:
- трудно найти по-настоящему качественных, проверяемых разметчиков;
- трудно заставить их по-настоящему проверять правильность;
- надо быть осторожными с использованием GPT-4 (самими разметчиками)…
RLHF и данные — этика краудсорсинга (42)
Заголовок раздела «RLHF и данные — этика краудсорсинга (42)»Сбор данных в масштабе может порождать серьёзные проблемы. [Заголовки: «OpenAI использовала кенийских работников за менее чем 2 долл. в час, чтобы сделать ChatGPT менее токсичным» (TIME); «В Америке уже есть подкласс ИИ» — о недоплачиваемых подрядчиках.]
RLHF и данные — демография (43)
Заголовок раздела «RLHF и данные — демография (43)»Распределение разметчиков для RLHF может заметно сдвигать поведение моделей. [Santurkar et al. (2023): таблицы демографии разметчиков и того, с мнениями каких групп сильнее согласуются модели до и после RLHF.]
RLHF и стиль — разметчики важны (очень) (44)
Заголовок раздела «RLHF и стиль — разметчики важны (очень) (44)»Это верно даже для многих разметчиков — но не для всех. [Hosking, Blunsom, Bartolo (2024): разметчики-краудворкеры в среднем недооценивают долю фактических ошибок и противоречий по сравнению с экспертами и реже замечают их в ответах, написанных уверенным тоном (assertive).]
RLHF и данные — сгенерированные LM (45)
Заголовок раздела «RLHF и данные — сгенерированные LM (45)»GPT-4 — удивительно хорошая система попарной обратной связи. [Графики: на уровне систем ранговая корреляция с людьми почти идеальна (Spearman 0,98); согласие на уровне отдельных примеров близко к согласию между людьми, а стоит на порядки дешевле.]
RLHF и данные — сгенерированные LM (46)
Заголовок раздела «RLHF и данные — сгенерированные LM (46)»На нижнем краю спектра «стоимость + качество» для RLHF часто используют обратную связь ИИ. [UltraFeedback; цитата из интервью о Zephyr 7B: «одним из главных вкладов было использование обратной связи ИИ»; схема Tülu 3: промпты → ответы многих моделей → разметка предпочтений GPT-4o.] Используется, например, в OLMo, Zephyr и др.
RLHF и данные — самообучение (47)
Заголовок раздела «RLHF и данные — самообучение (47)»[Схема из Constitutional AI (Bai et al.): полезная RLHF-модель генерирует ответы на «провокационные» промпты → критика и исправление по конституции → SL-CAI модель; затем ИИ сам сравнивает пары ответов → модель предпочтений → RL на этих предпочтениях (RL-CAI).]
RLHF и стиль — эффект длины (48)
Заголовок раздела «RLHF и стиль — эффект длины (48)»Эффект длины — очень заметное следствие RLHF. [Chen et al. (2024): по оси «длина — оценка» почти все методы RLHF «покупают» выигрыш длиной. Singhal et al. (2024): награда сильно коррелирует с длиной ответа; пример — после RLHF ответ стал длиннее, не став содержательнее.]
Как делать RLHF? (49)
Заголовок раздела «Как делать RLHF? (49)»Теперь у нас есть конвейер сбора (качественной) попарной обратной связи. Как адаптировать модель, чтобы она её использовала?
- Часть 1: PPO — исходный и очень капризный подход (краткая версия).
- Часть 2: DPO — новый, очень доступный подход.
От имитации к оптимизации (50)
Заголовок раздела «От имитации к оптимизации (50)»[Повтор слайда 31: RLHF — найти , максимизирующую .]
PPO в языковом моделировании (51)
Заголовок раздела «PPO в языковом моделировании (51)»Из InstructGPT: [отрывок — дообучаем SFT-модель в среде-«бандите» с PPO; среда показывает случайный промпт, ждёт ответа и выдаёт награду от модели награды; добавляется штраф KL к SFT-модели на каждый токен; вариант PPO-ptx подмешивает градиенты претрейна]:
…это выглядит очень безобидно.
Подробности из Stiennon et al. (52)
Заголовок раздела «Подробности из Stiennon et al. (52)»Из статьи «Learning to summarize from human feedback»: [модель награды обучается на парах — потери , где — ответ, который предпочёл человек; политика оптимизируется с наградой . Штраф KL служит двум целям: работает как бонус за энтропию (не даёт схлопнуться в одну моду) и не даёт политике уйти туда, где модель награды ненадёжна.]
PPO — на концептуальном уровне (53)
Заголовок раздела «PPO — на концептуальном уровне (53)»Краткое (высокоуровневое) введение в идеи PPO…
- Попытка 1: policy gradient (дисперсия слишком высока): .
- Попытка 2: TRPO (линеаризуем задачу вокруг текущей политики): максимизировать при условии .
- Попытка 3: PPO (обрезаем отношения на уровне eps):
Можно ли избавиться от PPO? (54)
Заголовок раздела «Можно ли избавиться от PPO? (54)»Вопрос для многих: можно ли обойтись без «RL» (то есть без on-policy алгоритмов RL)? Разумные идеи, о которых думали:
- обучить модель с управляющим токеном (SFT на парах: добавить [GOOD] к выбранному ответу и [BAD] к отвергнутому);
- обучать модель только на предпочтённых ответах;
- обучить модель награды, получить ответы LM, обучиться на предпочтённых;
- обучить модель награды, получить 1024 ответа LM, взять лучший.
DPO — RLHF без слёз? (55)
Заголовок раздела «DPO — RLHF без слёз? (55)»Попробуем упростить PPO:
- избавимся от модели награды;
- избавимся от всего on-policy (роллаутов, внешних циклов и т. д.).
Вместо этого:
- делаем шаги градиента по логарифмическим потерям на хорошем;
- делаем отрицательные шаги градиента на плохом (с правильными весами).
[Схема из статьи DPO: RLHF — данные предпочтений → модель награды (максимальное правдоподобие) → RL с сэмплированием ответов → итоговая LM; DPO — данные предпочтений → итоговая LM напрямую, максимальным правдоподобием.]
DPO — вывод из формулы RLHF (56)
Заголовок раздела «DPO — вывод из формулы RLHF (56)»Наша цель — оптимизировать
Предположим, что политика может быть любой (непараметрическое допущение). Тогда максимизатор равен
Выразим отсюда «неявную награду»:
(Та же эквивалентность использована в статье Kimi k1.5.)
Вывод DPO, часть 2 (57)
Заголовок раздела «Вывод DPO, часть 2 (57)»Теперь неявную награду можно оптимизировать как модель награды по целевой функции Stiennon et al.:
Это даёт целевую функцию DPO:
Ключевые шаги:
- Сделать непараметрическое допущение (связывает и в замкнутой форме).
- Параметризовать награду через политику.
- Оптимизировать награду обучением с учителем (что, в свою очередь, оптимизирует политику).
Концептуально это оценка максимального правдоподобия для попарных наград при непараметрическом допущении + альтернативной параметризации.
Обновления DPO и их составляющие (58)
Заголовок раздела «Обновления DPO и их составляющие (58)»В каком-то смысле сводится к «положительный градиент на хорошем, отрицательный — на плохом» (с весом по «ошибке предсказания» неявной модели награды):
Результаты — контролируемое сравнение в AlpacaFarm (59)
Заголовок раздела «Результаты — контролируемое сравнение в AlpacaFarm (59)»По сравнению с нашей прежней реализацией PPO? То же качество (в симуляции) и никаких мучений! [Таблица AlpacaFarm: доля побед в симуляции и у людей — GPT-4 79,0 / 69,8; ChatGPT 61,4 / 52,9; PPO 46,8 / 55,1; DPO 46,8 / —; Best-of-1024 45,0 / 50,7; Expert Iteration 41,9 / 45,7; SFT 52k 39,2 / 40,7; … LLaMA 7B 11,3 / 6,5.]
DPO работает (60)
Заголовок раздела «DPO работает (60)»От Криса Мэннинга: большинство «лучших открытых» RLHF-моделей обучены DPO. [Снимок лидерборда Open LLM с рукописными пометками «DPO», «DPO (KUNA)», «merge (of DPO models)» почти у каждой строки верхушки.]
Варианты (61)
Заголовок раздела «Варианты (61)»Множество вариантов (слишком много), но два, пожалуй, стоит отметить — из статьи Tülu 3.
SimPO (без эталонной модели):
DPO с нормировкой на длину:
Но и PPO работает (а иногда лучше?) (62)
Заголовок раздела «Но и PPO работает (а иногда лучше?) (62)»Каверзность эмпирической работы с RL… Многие результаты сильно зависят от условий (от конкретики постановки эксперимента). [Ivison et al. «Unpacking DPO and PPO»: при прочих равных PPO чуть лучше DPO, особенно с большей моделью награды. Таблица Tülu 3: у SimPO, DPO, PPO и вариантов DPO с нормировкой длины средние оценки близки, лучший результат (57,3) — у одной из конфигураций DPO с нормировкой длины.]
На что обращать внимание в RLHF (63)
Заголовок раздела «На что обращать внимание в RLHF (63)»- Переоптимизация / переобучение на награду.
- Схлопывание мод / энтропия.
На что обращать внимание — переоптимизация (64)
Заголовок раздела «На что обращать внимание — переоптимизация (64)»Для многих разных оптимизаторов в стиле RLHF: оптимизация награды после некоторой точки начинает переобучаться. [AlpacaFarm, три графика «доля побед на оценке» против «прокси-награды»: для предпочтений людей и для шумных предпочтений LM кривые Best-of-n, Expert Iteration и PPO растут, а потом падают; для предпочтений LM без шума — растут монотонно.] Выполняется для предпочтений людей (слева), шумных предпочтений LM (в центре), но не для бесшумных предпочтений LM (справа).
На что обращать внимание — схлопывание мод (65)
Заголовок раздела «На что обращать внимание — схлопывание мод (65)»RLHF делает модели больше не «вероятностными моделями» — по умолчанию нет калибровки. [График калибровки GPT-4 на MMLU из техотчёта: до RLHF уверенность совпадает с точностью (диагональ), после RLHF — сильно отклоняется. Гистограммы энтропии ответов: у моделей после RLHF энтропия собирается около нуля.]
Итоги лекции (66)
Заголовок раздела «Итоги лекции (66)»- Сбор данных для RLHF — (тоже) трудное дело! Много мешающих факторов.
- Алгоритмы RLHF немного сложнее SFT — особенно PPO.
- Помните о влиянии (пере)оптимизации наград.
Лекция 16. Обучение с подкреплением на проверяемых наградах (RLVR)
Заголовок раздела «Лекция 16. Обучение с подкреплением на проверяемых наградах (RLVR)»(Слайды 2–13 — окончание прошлой лекции: DPO, его вывод и варианты, «PPO тоже работает», переоптимизация и схлопывание мод. См. слайды 55–65 лекции 15 выше.)
Курс до сих пор (14)
Заголовок раздела «Курс до сих пор (14)»Претрейн + RLHF доводят до ~GPT-3.5… Сегодня дойдём до o1/R1. [График OpenAI: точность o1 на AIME растёт с ростом вычислений во время ответа (логарифмическая шкала).]
Цель — расширить охват и силу RL (15)
Заголовок раздела «Цель — расширить охват и силу RL (15)»С RLHF нельзя чисто масштабироваться из-за переоптимизации. [Графики переоптимизации из прошлой лекции.] Можно ли работать в областях, где RL блистает? Где мы оптимизируем ровно то, что хотим? [Логотипы AlphaGo, AlphaFold, Lean.]
Сегодняшняя лекция (16)
Заголовок раздела «Сегодняшняя лекция (16)»- Ключевые алгоритмы: PPO → GRPO [статья DeepSeekMath]; варианты GRPO [статья «Understanding R1-Zero-Like Training: A Critical Perspective»].
- Разбор случаев [DeepSeek-R1, Kimi k1.5, техотчёт Qwen3].
Напоминание: PPO в теории (17)
Заголовок раздела «Напоминание: PPO в теории (17)»[Повтор слайда 53 лекции 15: policy gradient → TRPO → PPO с обрезкой.]
PPO (18)
Заголовок раздела «PPO (18)»Метод policy gradient для оптимизации наград в «настоящих» задачах RL… [Кадры из анонса PPO (2017) — симулированный робот-футболист — и OpenAI Five (2019), обыгравшая чемпионов в Dota 2.]
PPO — на концептуальном уровне (19)
Заголовок раздела «PPO — на концептуальном уровне (19)»Целевая функция — по сути всё, что есть на концептуальном уровне. [Алгоритм 1 PPO-Clip из Spinning Up: собрать траектории текущей политикой, посчитать отдачи-до-конца , оценить преимущества по текущей функции ценности, обновить политику, максимизируя целевую функцию PPO-Clip (обычно стохастическим градиентным подъёмом с Adam), подогнать функцию ценности регрессией на среднеквадратичную ошибку.]
PPO на практике (20)
Заголовок раздела «PPO на практике (20)»Нужно смотреть на живую реализацию, когда говорим о PPO. [Коллаж из статей и блогов вроде «Implementation Matters in Deep Policy Gradients: A Case Study on PPO and TRPO» и «The 37 Implementation Details of PPO» — подпись на слайде нарочно напечатана вперемешку: «если о PPO пишут такие посты, знайте: вас ждут неприятности».]
PPO — идеализация (?) для языковых моделей (21)
Заголовок раздела «PPO — идеализация (?) для языковых моделей (21)»В условиях языковых моделей… Очень похоже на формулировку RL. Действия — это токены, большая плотная награда — в самом конце, по всей последовательности. [Схема из Zheng et al. (2023): SFT-модель, модель награды, модель ценности, GAE, буфер опыта, обновление политики через потери PPO-clip и функции ценности через MSE.]
PPO — посмотрим на реализацию (22)
Заголовок раздела «PPO — посмотрим на реализацию (22)»Реализация — PPO из AlpacaFarm. Использовалась ещё несколькими работами с неплохим успехом (SALMON, «Aligning Large Multimodal Models with Factually Augmented RLHF»). [Таблица AlpacaFarm: PPO 46,8 / 55,1.]
PPO на практике (23)
Заголовок раздела «PPO на практике (23)»Внешний цикл PPO. Вызывает внутренний цикл, оптимизирующий потери на наборе роллаутов. [Код step_with_rollouts из
alpaca_farm/rl/ppo_trainer.py: по фиксированным роллаутам делается несколько эпох PPO с накоплением градиентов и
обрезкой нормы.]
PPO на практике — вычисление потерь (24)
Заголовок раздела «PPO на практике — вычисление потерь (24)»Код AlpacaFarm — вычисление потерь. Вполне стандартно. [Код compute_loss: отношение ,
обрезанные потери политики, обрезанные потери функции ценности, энтропия.] Cliprange = 0,2.
PPO на практике — роллауты (25)
Заголовок раздела «PPO на практике — роллауты (25)»[Код генерации роллаутов: сэмплируем ответы политикой, считаем награды моделью награды, логарифмы вероятностей политики и эталонной модели, значения функции ценности, затем «формируем» награды и считаем преимущества.]
PPO на практике — формирование награды (26)
Заголовок раздела «PPO на практике — формирование награды (26)»На высоком уровне — штраф KL на каждый токен и полная награда на последнем токене.
На практике? Обрезают KL для последовательностей, где логарифм вероятности новой политики меньше, чем у эталонной.
[Код _shape_reward: kl = torch.clamp(logprobs - ref_logprobs, min=0.0), non_score_rewards = -kl_coef * kl, награда
модели награды прибавляется к последнему токену.] Помогает стабильности? Если модель «взорвётся», это не даст KL
разойтись.
PPO на практике — обобщённая оценка преимущества (27)
Заголовок раздела «PPO на практике — обобщённая оценка преимущества (27)»Вместо награды используем преимущества:
[Код _estimate_advantage: цикл по позициям с конца, накопление lastgaelam, затем «отбеливание» преимуществ.]
Забавная деталь: это задача бандита, и работает — тогда это просто «отдача до конца» минус функция ценности.
Что ожидать увидеть в PPO? (28)
Заголовок раздела «Что ожидать увидеть в PPO? (28)»[Три графика обучения: общая награда растёт; награда модели награды растёт; KL-награда (штраф) становится всё более отрицательной.] Это задача бандита — ожидайте разумных кривых обучения.
Зачем нужен ещё один алгоритм RL..? (29)
Заголовок раздела «Зачем нужен ещё один алгоритм RL..? (29)»Почему не PPO?
- На практике сложная реализация.
- Модель ценности (прожорлива по памяти, требует дополнительной настройки обучения).
Почему не DPO?
- Данные не попарные по своей природе (или не в форме сравнений Брэдли — Терри).
- Офлайн (хотя можно сделать онлайн итерациями).
Новичок в квартале: GRPO (30)
Заголовок раздела «Новичок в квартале: GRPO (30)»Что такое GRPOGRPO (групповая относительная оптимизация политики)EN Group Relative Policy Optimization (GRPO)PPO без критика: на промпт генерируется группа из G ответов, преимущество — (r − среднее) / std по группе. DeepSeekMath, 2024.?
- Начинаем с PPO (многие части похожи).
- Убираем функцию ценности / вычисление преимуществ.
- Считаем преимущество как «z-оценку внутри группы».
[Отрывок из статьи DeepSeekMath:]
(Для сравнения рядом — целевая функция PPO.) В онлайн-случае (роллаут + немедленное обновление) это просто policy gradient с нормированными по группе наградами.
GRPO очень прост (благодаря отсутствию функции ценности..) (31)
Заголовок раздела «GRPO очень прост (благодаря отсутствию функции ценности..) (31)»Можно написать (и люди пишут) крошечные реализации GRPO:
- считаем награду каждого роллаута;
- нормируем среднее/дисперсию по группе;
- считаем член KL;
- делаем шаги градиента по потерям.
Можно разобрать пример из https://github.com/McGill-NLP/nano-aha-moment. [Код функции потерь: логарифмы вероятностей политики и эталонной модели, штраф KL, энтропия, потери policy gradient с преимуществами, итоговая сумма.]
Вычисление преимущества тоже очень простое.. (32)
Заголовок раздела «Вычисление преимущества тоже очень простое.. (32)»По сути, просто «ванильная» постановка GRPO. Главное отличие — стабилизирующий множитель 1e-4 в вычислении стандартного отклонения. [Код: группируем награды по промпту, вычитаем среднее, делим на (std + 1e-4).]
Насколько хорошо это работает? (33)
Заголовок раздела «Насколько хорошо это работает? (33)»GRPO из исходной статьи. [Рисунок 5 DeepSeekMath: точность DeepSeekMath-Instruct 1.3B на GSM8K и MATH при дообучении разными методами — RFT, Online RFT, GRPO+OS (outcome supervision), GRPO+PS (process supervision); GRPO выше RFT.] Обходит RFT (подкрепление правильных ответов), есть некоторый выигрыш от контроля процесса. Мы ещё к этому вернёмся…
Внимательно о целевой функции GRPO.. (34)
Заголовок раздела «Внимательно о целевой функции GRPO.. (34)»Ключевое отличие GRPO от PPO — преимущество:
Это хорошо? Небольшое отступление в RL… Базовая линия: из наград можно вычитать любую величину, зависящую только от состояния. [Раздел 13.4 «REINFORCE с базовой линией» из учебника Саттона и Барто: — вычитание не меняет ожидание градиента, потому что .]
GRPO использует «неправильную» базовую линию (35)
Заголовок раздела «GRPO использует «неправильную» базовую линию (35)»Деление на стандартное отклонение — не допустимая базовая линия, сохраняющая несмещённость. Какова версия GRPO с несмещённым градиентом? [Liu et al. (2025), Dr. GRPO («GRPO done right»): из формулы убраны деление на (длину ответа) и на std: . График эффективности по токенам: при той же награде Dr. GRPO даёт ответы короче.]
Обратите также внимание на изменение нормировки на длину слева… (Liu et al., 2025. Это довольно близко к REINFORCE с базовой линией «оставь одного» (leave-one-out).)
Смещения GRPO по длине (36)
Заголовок раздела «Смещения GRPO по длине (36)»Что делают эти члены?
- Стандартное отклонение — повышает вес слишком лёгких или слишком трудных вопросов.
- Нормировка на длину: [цитата из Dr. GRPO — «смещение по длине на уровне ответа возникает из-за деления на . При положительном преимуществе (правильный ответ) это даёт большие градиенты коротким ответам, и политика предпочитает краткость в правильных ответах. При отрицательном преимуществе (неправильный ответ) длинные ответы штрафуются меньше, и политика предпочитает длинные неправильные ответы»].
Что делает исправление? [Графики: с Dr. GRPO награда растёт так же, а длина ответов — в особенности неправильных — перестаёт раздуваться.]
Разбор случаев (37)
Заголовок раздела «Разбор случаев (37)»Посмотрим на несколько характерных открытых моделей с RLVR.
- DeepSeek-R1 — центральная для многих недавних работ по RLVR, много интересных деталей.
- Kimi k1.5 — вышла одновременно с R1, RLVR, дополняющие R1 детали.
- Qwen3 — самая свежая открытая попытка рассуждающей модели, RLVR на малых данных.
DeepSeek-R1 (38)
Заголовок раздела «DeepSeek-R1 (38)»Статья, вызвавшая что-то вроде социального явления… [График поисковых запросов «DeepSeek-R1» с резким пиком после публикации 22 января 2025 года.]
Что замечательного в R1?
- Качество выше OpenAI o1.
- Открытый рецепт RL (и довольно простой):
- положил конец спекуляциям о необходимости MCTS/PRM.
- Выводы о SFT (и R1-Zero, и distill-R1).
Алгоритм — GRPO (39)
Заголовок раздела «Алгоритм — GRPO (39)»Опираются на результаты GRPO из DeepSeekMath… [Тот же рисунок 5.] Но в R1 они не используют контроль процесса (об этом позже…).
Контролируемая постановка — R1-Zero (40)
Заголовок раздела «Контролируемая постановка — R1-Zero (40)»Постановка:
- Награды: за точность (правильно ли?) и за формат (используются теги размышления).
- Данные: не опубликованы.
- Базовая модель: DeepSeek-V3.
Результаты: немного хуже OpenAI o1.
| Модель | AIME 2024 pass@1 | AIME 2024 cons@64 | MATH-500 pass@1 | GPQA Diamond pass@1 | LiveCodeBench pass@1 | CodeForces rating |
|---|---|---|---|---|---|---|
| OpenAI-o1-mini | 63,6 | 80,0 | 90,0 | 60,0 | 53,8 | 1820 |
| OpenAI-o1-0912 | 74,4 | 83,3 | 94,8 | 77,3 | 63,4 | 1843 |
| DeepSeek-R1-Zero | 71,0 | 86,7 | 95,9 | 73,3 | 50,0 | 1444 |
Интересные явления (?) (41)
Заголовок раздела «Интересные явления (?) (41)»- Цепочки рассуждений удлиняются в ходе обучения. [График средней длины ответа R1-Zero растёт с шагами.]
- «Момент озарения»? [Пример из статьи: модель решает уравнение, затем пишет «Wait, wait. Wait. That’s an aha moment I can flag here» и переделывает решение.]
Но, может, это немного преувеличено (42)
Заголовок раздела «Но, может, это немного преувеличено (42)»Из последующего анализа в Dr. GRPO…
- Длина — из-за смещённой целевой функции? [Тот же график эффективности по токенам.]
- «Озарение» есть уже у базовой модели. [Пример: базовая модель без всякого RL пишет «Aha! I can use this to get…» и меняет подход.]
Дальше — R1 (43)
Заголовок раздела «Дальше — R1 (43)»R1 против R1-Zero. Ключевые отличия:
- инициализация SFT;
- награда за языковую согласованность цепочки рассуждений;
- непроверяемые награды (на этапе 2).
Конвейер: DeepSeek-V3 → SFT на рассуждениях → RL (GRPO) → SFT/RLHF.
Инициализация SFT.. (44)
Заголовок раздела «Инициализация SFT.. (44)»Начинают с обычной (длинной) цепочки рассуждений, затем, возможно, дополнительная проверка (туманно). [Цитата: в отличие от R1-Zero, чтобы избежать нестабильной фазы холодного старта, собирают небольшое количество длинных цепочек рассуждений — few-shot промптами, просьбами к модели писать подробно с рефлексией, отбором читаемых выходов R1-Zero с доработкой людьми.]
- Заявленная польза: интерпретируемость.
- Замечание: происхождение данных не вполне ясно…
SFT для рассуждений / математики.. (45)
Заголовок раздела «SFT для рассуждений / математики.. (45)»Даже небольшого числа примеров достаточно, чтобы «завести» рассуждения у LM. [Таблица из статьи s1: s1-32B, обученная всего на 1000 примеров, — AIME 2024 56,7, MATH-500 93,0, GPQA 59,6, сравнимо с r1-distill на 800 тыс. примеров. График «точность MATH500 от числа примеров»: s1 — самая эффективная по данным.] 1000 вопросов по математике и естественным наукам + длинные цепочки рассуждений от Gemini / R1.
Шаг RL (46)
Заголовок раздела «Шаг RL (46)»RL-часть по сути та же… Небольшое отличие: дополнительная награда за языковую согласованность. [Цитата: в ходе обучения цепочки рассуждений часто смешивают языки, особенно когда промпты многоязычны; вводится награда — доля слов целевого языка в CoT; абляции показали небольшое падение качества, но читаемость выросла.]
Замечание о переключении языков интересно… RL естественным образом приводит к смешению языков?
SFT/RLHF (47)
Заголовок раздела «SFT/RLHF (47)»Обычный пост-трейнинг идёт после RLVR / RL для рассуждений.
Шаг SFT, 2 эпохи.
- Данные рассуждений — непроверяемые задачи («напиши доказательство X»), V3 в роли судьи (600 тыс.).
- Данные без рассуждений — SFT-датасет V3 (200 тыс.).
Шаг RLHF.
- Здесь повторно используется RL для рассуждений в стиле R1-Zero.
- Непроверяемые задачи — конвейер RLHF от V3. По-прежнему GRPO (для RLHF).
Насколько хорошо работает R1? (48)
Заголовок раздела «Насколько хорошо работает R1? (48)»Довольно хорошо (но вы это знали). [Таблица сравнения с Claude-3.5-Sonnet, GPT-4o, DeepSeek-V3, o1-mini, o1-1217 по английским, кодовым, математическим и китайским бенчмаркам: R1 — AIME 2024 79,8, MATH-500 97,3, Codeforces 2029 (96,3 перцентиль), MMLU 90,8.]
Дистилляция — научим не рассуждающие модели рассуждать? (49)
Заголовок раздела «Дистилляция — научим не рассуждающие модели рассуждать? (49)»Конвейер: R1 генерирует трассы рассуждений (800 тыс.!); учим Qwen 2.5 дистилляцией. [Таблица: DeepSeek-R1-Distill-Qwen-32B — AIME 2024 72,6, MATH-500 94,3, GPQA 62,1; Distill-Qwen-1.5B — 28,9 / 83,9 / 33,8 — уже выше GPT-4o на AIME (9,3).]
Другие важные наблюдения (50)
Заголовок раздела «Другие важные наблюдения (50)»В статье есть целый раздел о неудачных попытках.
- PRM (PRM800k, DeepseekMath): [цитата — модели награды за процесс трудно определить (что такое «шаг»), трудно размечать промежуточные шаги, и они ведут к взлому награды].
- MCTS: [цитата — пространство поиска при генерации токенов экспоненциально больше, чем в шахматах; модель ценности для направления поиска трудно обучить].
Kimi k1.5 (51)
Заголовок раздела «Kimi k1.5 (51)»Почему мы её изучаем?
- Вышла одновременно с R1.
- Тоже обходит o1 с помощью RL.
Стратегия длинных рассуждений (52)
Заголовок раздела «Стратегия длинных рассуждений (52)»[Столбчатая диаграмма: Kimi k1.5 long-CoT против OpenAI o1 на AIME 2024, MATH-500, Codeforces, LiveCodeBench, MathVista, MMMU.] Ключевые шаги:
- построение датасета (фильтрация по сложности);
- SFT (для длинных цепочек рассуждений);
- RL (со своей функцией потерь policy gradient).
Отбор данных + SFT (53)
Заголовок раздела «Отбор данных + SFT (53)»Отбор данных:
- стандартный отбор по математическим постановкам, баланс тем;
- исключают вопросы с выбором ответа и «верно/неверно» (ложные положительные срабатывания);
- оставляют только примеры, на которых модель ошибается при best-of-8.
SFT — описан скупо, лишь как «промпт-инжиниринг» (дистилляция?).
RL в Kimi (54)
Заголовок раздела «RL в Kimi (54)»В Kimi — модель награды, сравнивающая с эталонным ответом, поэтому задача оптимизации такова:
Алгоритм RL вдохновлён выводом в стиле DPO (непараметрическое допущение + выражаем ):
В качестве суррогата — квадратичные потери:
Policy gradient с базовой линией и регуляризацией:
Контроль длины в Kimi (55)
Заголовок раздела «Контроль длины в Kimi (55)»У целевой функции Kimi нет той же проблемы смещения по длине, что у GRPO… Но они хотят дополнительно сжать цепочки рассуждений. Для каждого батча есть награда за длину:
Как это понимать?
- лежит в , более длинные ответы в группе получают отрицательное значение.
- Правильные ответы поощряются быть короткими.
- Неправильные ответы поощряются быть короче середины диапазона длин роллаутов.
(Включают это только позже в обучении — из-за влияния на качество.)
Дополнительные детали (56)
Заголовок раздела «Дополнительные детали (56)»Учебный план (curriculum):
- присваивают задачам метки сложности и идут от простого к сложному;
- сэмплируют задачи пропорционально (1 − доля успеха), чтобы не повторять решённые.
Награды:
- для кода — берут задачи с эталонными решениями и генерируют новые тесты;
- для математики — 800 тыс. примеров для обучения модели награды на цепочке рассуждений, проверяющей эквивалентность ответов. [Цитата: при ручной проверке классическая модель награды дала точность около 84,4, а модель с цепочкой рассуждений — 98,5; в RL использовали вторую.]
Инфраструктура RL (57)
Заголовок раздела «Инфраструктура RL (57)»Системные стороны RL и загрузка железа очень важны. Почему RL трудно сделать эффективным?
- On-policy = роллауты, а значит (медленный) инференс.
- Переключение с обучения на роллауты часто означает разные фреймворки.
- Длинные цепочки рассуждений делают батчи очень неровными.
[Схема Kimi: rollout-воркеры, train-воркеры (политика и эталонная модель), мастер, модели награды для кода, математики, K-12 и зрения, буфер воспроизведения; «частичные роллауты» — длинные траектории доигрываются по кускам в следующих итерациях.]
Установка RL в Kimi подробно (58)
Заголовок раздела «Установка RL в Kimi подробно (58)»[Рисунок 4 «Гибридное развёртывание»: в одном поде Megatron (обучение) и vLLM (роллауты) делят GPU; после шага обучения Megatron выгружает память и передаёт веса в vLLM через общий движок чекпоинтов; после роллаутов vLLM освобождает память, и Megatron продолжает.]
Результаты масштабирования (59)
Заголовок раздела «Результаты масштабирования (59)»Мы уже знаем, что это примерно равно или лучше o1. Другие интересные результаты… [Графики: для маленькой модели только на математических данных точность на разных бенчмарках растёт вместе с длиной ответов по ходу RL.]
Абляция / сравнение с expert iteration (60)
Заголовок раздела «Абляция / сравнение с expert iteration (60)»Можно ли обойтись без «отрицательных градиентов» в стиле RL и учиться только на положительных? [Графики: их RL-метод стабильно выше, чем ReST (expert iteration — дообучение только на правильных ответах).]
Последний случай — Qwen3 (61)
Заголовок раздела «Последний случай — Qwen3 (61)»Лучше o1 и R1 (хотя вышел позже)… но интересны результаты о масштабировании и данных. [Таблица Qwen3-235B-A22B и Qwen3-32B против OpenAI-o1, DeepSeek-R1, Grok 3 Beta, Gemini 2.5 Pro, o3-mini на ArenaHard, AIME, LiveCodeBench, Codeforces, Aider, BFCL и др.]
Общая картина (62)
Заголовок раздела «Общая картина (62)»RLHF идёт после RL для рассуждений (как в R1), дистилляция — после этого. [Рисунок 1 техотчёта Qwen3: флагманские модели — этап 1 холодный старт на длинных CoT → этап 2 RL для рассуждений → этап 3 слияние режимов мышления → этап 4 общий RL; лёгкие модели — дистилляция «от сильного к слабому» из флагманов.]
SFT + RL для рассуждений (63)
Заголовок раздела «SFT + RL для рассуждений (63)»Мы уже знаем этот сценарий, и Qwen многое из него использует…
- Фильтрация по сложности (через best-of-n, как в Kimi):
- убирают то, что модель решает без цепочки рассуждений;
- убирают слишком похожее на валидационные данные.
- Ручная фильтрация качества цепочек рассуждений (угадано против честно решено).
- RL с GRPO всего на 3995 примерах.
Новое именно в Qwen3 (64)
Заголовок раздела «Новое именно в Qwen3 (64)»Слияние режимов мышления — управление длиной цепочки рассуждений.
- Смешиваем данные с мышлением и без, с тегами. [Таблица шаблонов: в режиме мышления —
<|im_start|>user {query} /think<|im_end|>, ответ ассистента начинается с<think>{thinking content}</think>; в режиме без мышления —/no_thinkи пустой блок<think></think>.] - Досрочная остановка по специальной строке. [Цитата: когда длина размышления достигает заданного пользователем порога,
процесс вручную останавливают и вставляют инструкцию
Considering the limited time by the user, I have to give the solution based on the thinking directly now.\n</think>.\n\n, после чего модель даёт ответ на основе накопленного рассуждения; эта способность не обучалась явно, а возникла как следствие слияния режимов.]
Масштабирование во время ответа (65)
Заголовок раздела «Масштабирование во время ответа (65)»[Рисунок 2 Qwen3: качество Qwen3-235B-A22B на AIME’24, AIME’25, LiveCodeBench v5 и GPQA Diamond плавно растёт с «бюджетом мышления» от 1 до 32 тыс. токенов; без мышления — горизонтальная линия ниже.]
Состав разных этапов (66)
Заголовок раздела «Состав разных этапов (66)»[Таблица: качество после этапа 2 (RL для рассуждений), этапа 3 (слияние режимов) и этапа 4 (общий RL) в режимах с мышлением и без. Например, AIME’24 в режиме мышления: 83,8 → 81,9 → 81,4; общие задачи и следование инструкциям после этапа 4 растут.]
Заметьте, что способности к математике и STEM немного снижаются после общего RLHF.
Итоги на сегодня (67)
Заголовок раздела «Итоги на сегодня (67)»- Переоптимизация — проблема… RL в узких областях — одно из решений.
- GRPO прост (хотя с изъянами) и делает возможным RLVR.
- В мире много успешных рецептов (R1, Kimi 1.5, Qwen3).
Что сделать руками
Заголовок раздела «Что сделать руками»- Эффект длины. Возьмите 20 пар ответов одной модели на один вопрос, где один ответ длиннее, и попросите модель-судью (урок 7.3.2) выбрать лучший — сначала как есть, потом поменяв ответы местами. Как часто побеждает длинный?
- DPO руками. Посчитайте потери DPO для одного примера: , логарифмы вероятностей выбранного ответа у политики −20 и у эталона −22, отвергнутого — −25 и −24. Каков вес в градиенте (слайд 58)?
- Смещения GRPO. Для группы из 4 ответов с наградами и посчитайте преимущества GRPO (с делением на std) и Dr. GRPO (без него). Какая группа получает больший вес в GRPO и почему?
- Практикум. Сделайте практикум 6.4.5 «GRPO своими руками» — это уменьшенная версия задания 5 CS336.
Словарик
Заголовок раздела «Словарик»| EN | RU |
|---|---|
| alignment | выравнивание (согласование поведения модели с намерениями людей) |
| supervised fine-tuning (SFT), instruction tuning | обучение с учителем на демонстрациях, дообучение на инструкциях |
| mid-training, two-phase training | промежуточное обучение, двухфазное обучение |
| catastrophic forgetting | катастрофическое забывание |
| RLHF, reward model, pairwise feedback | RL на обратной связи от людей, модель награды, попарная обратная связь |
| generator–verifier gap | разрыв «генерация — проверка» |
| annotator, crowdworker | разметчик, краудворкер |
| AI feedback, Constitutional AI | обратная связь от ИИ, «конституционный ИИ» |
| over-refusal | избыточные отказы |
| PPO, TRPO, clipping, GAE | проксимальная оптимизация политики, метод доверительной области, обрезка, обобщённая оценка преимущества |
| DPO, SimPO, implied reward | прямая оптимизация предпочтений, SimPO, неявная награда |
| overoptimization, reward hacking | переоптимизация, взлом награды |
| mode collapse, calibration | схлопывание мод, калибровка |
| RLVR (verifiable rewards) | RL с проверяемыми наградами |
| GRPO, group-normalized advantage | GRPO, преимущество, нормированное по группе |
| baseline, unbiased estimator | базовая линия, несмещённая оценка |
| length bias | смещение по длине |
| process reward model (PRM), MCTS | модель награды за процесс, поиск по дереву Монте-Карло |
| distillation | дистилляция |
| thinking mode fusion, thinking budget | слияние режимов мышления, бюджет мышления |
| test-time scaling | масштабирование во время ответа |