В рамках курса Стэнфордского университета CME295, посвященного архитектуре Transformer и большим языковым моделям (LLM), лекторы Афшин и Шервин представили глубокий разбор методов дообучения моделей. Основное внимание в пятой лекции уделено тому, как превратить «автозаполнитель текста» в полезного и безопасного ассистента, используя обратную связь от человека.
🎯 От предсказания токенов к человеческим предпочтениям 0:58
Процесс создания современной LLM состоит из нескольких этапов. После предварительного обучения (pre-training), где модель поглощает колоссальные объемы данных из интернета и учится предсказывать следующий токен , наступает этап SFT (Supervised Fine-Tuning) — обучение на высококачественных наборах инструкций . Однако, как отмечают лекторы, даже после этого модель может выдавать фактически верные, но нежелательные по тону или безопасности ответы.
Третий критический этап — тюнинг предпочтений (preference tuning). Его цель — выровнять (align) поведение модели с тем, что человек считает «хорошим» ответом . По мнению Афшина, этот этап необходим по трем причинам:
- Сложность генерации против оценки: Людям гораздо проще выбрать лучший из двух готовых вариантов ответа, чем написать идеальный эталонный текст с нуля .
- Контроль распределения: SFT сильно зависит от баланса промптов в обучающей выборке; добавление новых примеров может сместить модель в нежелательную сторону .
- Отрицательный сигнал: В отличие от SFT, которое учит модель тому, «что делать», тюнинг предпочтений вводит отрицательный сигнал, показывая, «что делать не стоит» .
📊 Сбор данных: искусство выбора 11:49
Для обучения модели предпочтениям необходимо собрать данные. Существует три основных подхода к оценке ответов:
- Pointwise (поточечная): Каждому ответу присваивается балл (например, от 0 до 1). Это сложно для человека, так как трудно соблюдать единую шкалу .
- Pairwise (попарная): Сравнение двух вариантов (А лучше Б). Это самый популярный метод из-за его простоты и надежности .
- Listwise (списочная): Ранжирование списка из N вариантов. Метод сложнее попарного, но информативнее .
Процесс сбора обычно выглядит так: модель генерирует два разных ответа на один промпт (используя положительную температуру для вариативности) . Затем эти пары оцениваются людьми или другими LLM (подход «LLM как судья») по бинарной шкале или более нюансированной сетке (от «намного лучше» до «намного хуже») .
🤖 Модель вознаграждения (Reward Model) 26:28
Первым шагом в классическом цикле RLHF (Reinforcement Learning from Human Feedback) является обучение модели вознаграждения (RM). Эта модель должна научиться имитировать человеческие предпочтения: принимать на вход промпт и ответ, а выдавать скалярное число — оценку качества .
В основе RM лежит формулировка Брэдли-Терри . Она постулирует, что вероятность того, что ответ i лучше ответа j, зависит от разности их оценок через сигмоид-функцию: $P(i > j) = \sigma(r_i - r_j)$.
Для обучения RM используется лосс-функция, минимизирующая отрицательное логарифмическое правдоподобие того, что победившему варианту из датасета будет присвоен более высокий балл, чем проигравшему . В качестве архитектуры RM сегодня чаще всего используют ту же декодерную LLM, заменяя финальный слой на классификационную голову, выдающую одно число . Оценить качество такой модели можно с помощью бенчмарков, например, RewardBench .
🚀 Обучение с подкреплением (PPO) 46:07
Когда модель вознаграждения готова, начинается этап собственно обучения с подкреплением. Основная цель здесь — максимизировать вознаграждение, получаемое от RM, при этом не уходя слишком далеко от исходной SFT-модели .
Лектор Афшин предупреждает о риске «взлома вознаграждения» (reward hacking). Если модель будет слишком рьяно оптимизировать оценку, она может найти лазейки в RM . Он приводит аналогию с лекцией: «Если моя цель — информативность, но я измеряю успех громкостью аплодисментов, я могу начать просто рассказывать шутки. Аплодисменты будут громкими, но цель лекции не будет достигнута» .
Для предотвращения этого используется алгоритм PPO (Proximal Policy Optimization) :
- KL-дивергенция: В лосс-функцию добавляется штраф за отклонение распределения токенов новой модели от базовой .
- PPO-Clip: Механизм, ограничивающий размер обновления параметров за одну итерацию, чтобы избежать дестабилизации обучения .
- Преимущество (Advantage): Модель учится не просто максимизировать награду, а превосходить «ожидаемый» уровень качества для данного промпта .
Сложность PPO заключается в необходимости держать в памяти сразу четыре модели: текущую политику (которую обучаем), эталонную модель ( frozen SFT), модель вознаграждения и функцию ценности (value function) для оценки преимуществ .
⚡ Альтернатива: Best-of-N 1:22:40
Если RL-обучение кажется слишком дорогим или нестабильным, существует метод Best-of-N (выбор лучшего из N). Идея проста: для каждого пользовательского запроса модель генерирует, например, 5-10 вариантов ответа . Затем модель вознаграждения ранжирует их, и пользователю выдается только вариант с самым высоким баллом .
Главный минус этого подхода — огромная вычислительная стоимость на этапе инференса (выполнения запроса) и высокая задержка (latency) .
🛠 Direct Preference Optimization (DPO) 1:29:46
Шервин представил современную альтернативу RLHF — метод DPO. Авторы статьи «Ваша языковая модель втайне является моделью вознаграждения» доказали, что можно оптимизировать политику напрямую по данным предпочтений, минуя создание отдельной модели вознаграждения и сложный цикл RL .
Основные преимущества DPO:
- Простота: Обучение превращается в обычную задачу классификации (supervised learning) на парах «лучший/худший» .
- Экономия ресурсов: Нужно хранить в памяти только две модели (текущую и эталонную) вместо четырех .
- Стабильность: Нет необходимости настраивать сложные гиперпараметры обучения с подкреплением .
Однако, по словам Шервина, PPO всё еще может показывать лучшие результаты при очень тщательной настройке . DPO же является отличным выбором для быстрого достижения хорошего качества без «нянченья» с процессом обучения .
🧸 Практический пример: Тедди и стирка 1:44:25
В завершение лекции Шервин продемонстрировал разницу между SFT и тюнингом предпочтений на примере вопроса: «Можно ли стирать моего плюшевого мишку в машинке?» .
- SFT-модель: «Нет, он может повредиться. Попробуйте ручную стирку». Ответ фактический, но сухой и резкий .
- Модель после тюнинга предпочтений: «Лучше этого не делать. Вашему мишке может быть больно. Бережная ручная стирка будет безопаснее». Модель сохранила факты, но адаптировала тон под ожидания пользователя, создавая более приятный опыт общения .