Reward Modeling
Моделирование вознаграждения обучает нейросеть оценивать результаты ИИ так, как это сделали бы люди, используя сравнения предпочтений. Рассматриваются функция потерь Брэдли—Терри, типы и риски.
Моделирование вознаграждения — это обучение нейронной сети, называемой моделью вознаграждения, оценивать результаты системы ИИ так, как их оценивали бы люди. В стандартном обучении с подкреплением вознаграждение задает среда, например в виде игрового счета. Для многих целей такого счета нет: полезный ответ, удачно скомпонованное изображение или робот, который бережно передает чашку, легко оценить, но трудно формализовать в коде. Модель вознаграждения учится такой оценке на отзывах людей, обычно на сравнениях двух результатов, а затем оценивает новые результаты автоматически — гораздо быстрее и последовательнее, чем это могли бы делать люди. Модели вознаграждения — компонент, благодаря которому работает обучение с подкреплением на основе отзывов людей (RLHF); их также используют для повторного ранжирования ответов-кандидатов, фильтрации обучающих данных и оценки моделей.
Обучение модели вознаграждения#
Обучающие данные состоят из сравнений. Люди видят запрос и два или более ответа модели и выбирают лучший; в работе OpenAI над InstructGPT разметчики ранжировали от 4 до 9 ответов на запрос, и каждая пара из ранжирования становилась одним обучающим сравнением. Ранжирование используют вместо абсолютных оценок, потому что людям гораздо проще согласиться, какой из двух ответов лучше, чем решить, заслуживает ли один ответ 6 или 7 баллов из 10.
Моделью вознаграждения обычно служит предварительно обученная большая языковая модель (LLM), часто та самая модель, которую выравнивают; ее выходной слой заменяют линейной головой, преобразующей итоговое векторное представление в одно число. При обучении используется модель парных сравнений Брэдли — Терри: она утверждает, что вероятность предпочтения людьми ответа A ответу B равна сигмоиде разности их вознаграждений. Функция потерь — это отрицательный логарифм этой вероятности для ответа, который выбрали люди. В этом примере на PyTorch линейная голова вознаграждения обучается на 2 000 смоделированных сравнений:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
# 2,000 preference pairs: embeddings of two responses to the same prompt
# Simulated raters prefer the response with higher hidden quality, with some noise
hidden_quality = torch.randn(64)
a, b = torch.randn(2000, 64), torch.randn(2000, 64)
a_wins = (a @ hidden_quality + torch.randn(2000) * 2 > b @ hidden_quality).unsqueeze(1)
chosen, rejected = torch.where(a_wins, a, b), torch.where(a_wins, b, a)
# Reward model: a linear head mapping a response embedding to one scalar score
reward_model = torch.nn.Linear(64, 1)
optimizer = torch.optim.Adam(reward_model.parameters(), lr=0.01)
train, test = slice(0, 1500), slice(1500, 2000)
for step in range(300):
# Bradley-Terry loss: maximize the probability that the chosen response scores higher
margin = reward_model(chosen[train]) - reward_model(rejected[train])
loss = -F.logsigmoid(margin).mean()
optimizer.zero_grad()
loss.backward()
optimizer.step()
accuracy = (reward_model(chosen[test]) > reward_model(rejected[test])).float().mean()
print(f"Held-out pairs ranked like the raters: {accuracy:.1%}")Выводится 94.8%. Из-за шума смоделированные оценщики расходятся с ранжированием качества без шума примерно в 5% отложенных пар, поэтому модель вознаграждения усвоила предпочтения настолько хорошо, насколько позволили ее метки, хотя не видела ни одной абсолютной оценки. Точность на отложенных сравнениях — также способ сравнивать реальные модели вознаграждения, например на бенчмарке RewardBench. Поскольку в функцию потерь входят только разности вознаграждений, масштаб оценок произволен, поэтому перед обучением с подкреплением конвейеры часто нормализуют их.
Типы моделей вознаграждения#
- Модели вознаграждения за результат: Оценивают полный ответ или эпизод; это стандартный выбор для RLHF.
- Модели вознаграждения за процесс: Оценивают каждый промежуточный шаг решения. Набор данных PRM800K от OpenAI содержит 800 000 человеческих меток отдельных шагов в решениях математических задач.
- Генеративные модели вознаграждения: Большая языковая модель, выступая в роли судьи, составляет критику или вердикт. Благодаря этому одна модель может оценивать задачи разных типов и объяснять свои оценки.
- Неявные модели вознаграждения: Прямая оптимизация предпочтений (DPO) напрямую обучает политику на парах предпочтений, а логарифм отношения вероятностей политики и эталонной модели выступает в качестве вознаграждения.
- Модели вознаграждения для изображений: ImageReward обучили на 137 000 экспертных сравнений сгенерированных изображений; эту модель используют для дообучения моделей преобразования текста в изображение, чтобы результаты лучше соответствовали запросу и были привлекательнее.
Обучение роботов использует ту же идею с моделями компьютерного зрения. Классификатор изображений, обученный на кадрах камеры, которые люди пометили как успешные или неудачные попытки, например когда чашка поставлена вертикально или опрокинута, выдает вероятность успеха, служащую вознаграждением для обучаемой политики. Эту роль выполняет модель Ultralytics YOLO26, обученная на таких кадрах с задачей классификации: она оценивает каждый кадр попытки за миллисекунды.
Как поддерживать точность модели вознаграждения#
Модель вознаграждения точна только на результатах, похожих на обучающие данные. По мере улучшения политики она выдает ответы, которых модель вознаграждения раньше не видела. Поэтому команда Meta, работавшая над Llama 2, собирала новые сравнения для результатов актуальной модели и переобучала модель вознаграждения перед каждым новым циклом обучения с подкреплением:
Чрезмерная оптимизация любой обученной модели вознаграждения приводит к взлому вознаграждения. В исследовании чрезмерной оптимизации модели вознаграждения OpenAI вместо людей-оценщиков использовала большую «эталонную» модель вознаграждения и обнаружила: когда политику оптимизировали относительно меньшей модели-заместителя, эталонная оценка сначала росла, а затем падала, тогда как оценка модели-заместителя продолжала расти; по мере увеличения модели-заместителя этот эффект постепенно ослабевал. Модели вознаграждения также перенимают предубеждения оценщиков, например предпочтение более длинных или более уступчивых ответов, а обучение с подкреплением усиливает их, превращая в многословие и подхалимство. Штраф KL-дивергенции относительно исходной модели, ансамбли моделей вознаграждения и регулярное переобучение на новых сравнениях помогают ограничить ущерб.
Моделирование вознаграждения и связанные термины#
- RLHF: Весь конвейер, включающий контролируемое дообучение, моделирование вознаграждения на основе сравнений людей и оптимизацию с помощью обучения с подкреплением. Моделирование вознаграждения — второй этап этого конвейера.
- Функция вознаграждения: Заданное вручную вознаграждение, например +1 за достижение цели. Модель вознаграждения обучается на данных, потому что такую функцию невозможно задать вручную.
- Проверяемые вознаграждения: Программа сверяет ответ с известным решением, например с результатом модульного теста или эталонным ответом математической задачи. Такое вознаграждение сложнее обмануть, чем обученную модель, но оно подходит только для задач с проверяемыми ответами.
- Обучение с подкреплением по демонстрациям: Выводит функцию вознаграждения из демонстраций задачи экспертами, тогда как моделирование вознаграждения для RLHF обучается на сравнениях людьми результатов самой системы.










