Aivaro
  • Оглавление
  • Вопросы
  • Практика
  • Вики
  • Материалы сообщества
  • Тесты
  • Поиск
✈Telegram @ai_varo
RUEN中文
…
Оглавление/Вопросы/#985

Что такое Bradley-Terry model в контексте обучения Reward Model? Как превратить парные сравнения в вероятности?

Краткий тезис

Bradley-Terry model — это вероятностная модель парных сравнений, используемая в RLHF для обучения Reward Model. Она преобразует разность reward-оценок двух ответов в вероятность того, что один ответ предпочтительнее другого, через сигмоидную функцию: P(chosen > rejected) = σ(r_chosen — r_rejected). Это позволяет обучать модель на человеческих предпочтениях, используя логистическую регрессию.

2. Сигмоида: 0.5 при равенстве

Сигмоидная функция обладает ключевым свойством: σ(0) = 0.5. Это означает:

  • Если r_chosen = r_rejected (модель не видит разницы), вероятность выбора chosen равна 0.5 — случайное угадывание.
  • Если r_chosen > r_rejected, σ > 0.5, причём чем больше разность, тем ближе вероятность к 1.
  • Если r_chosen < r_rejected, σ < 0.5, что интерпретируется как ошибка модели (человек выбрал rejected, но модель оценила chosen выше).

Это свойство делает модель чувствительной к порядку, а не к абсолютным значениям reward. Например, при разности в 2 балла (r_chosen = 5, r_rejected = 3) вероятность ≈ 0.88, а при разности в 4 балла — ≈ 0.98.


3. Логарифмическая потеря

Обучение Reward Model с Bradley-Terry model минимизирует логарифмическую потерю (binary cross-entropy). Для каждой пары (chosen, rejected) функция потерь:

L = -log(σ(r_chosen — r_rejected))

Градиент по параметрам Reward Model:

∂L/∂θ = -(1 — σ(r_chosen — r_rejected)) * (∂r_chosen/∂θ — ∂r_rejected/∂θ)

Это означает:

  • Если модель уверенно предсказывает правильный порядок (σ ≈ 1), градиент мал — обновление слабое.
  • Если модель ошибается (σ ≈ 0), градиент велик — сильное обновление для исправления.
  • Потеря несимметрична: ошибка на «лёгких» парах (с большой разницей в качестве) даёт меньший вклад, чем на «сложных» (где ответы почти равны).

На практике логарифмическая потеря штрафует модель за неправильный порядок, но не за величину разности reward. Это ключевое отличие от регрессионных потерь (MSE), которые пытаются предсказать абсолютные значения.


4. Масштаб reward не важен, важен порядок

Bradley-Terry model инвариантна к аддитивным сдвигам и мультипликативным масштабам reward:

  • Если добавить константу C ко всем reward: P(chosen > rejected) = σ((r_chosen + C) — (r_rejected + C)) = σ(r_chosen — r_rejected) — без изменений.
  • Если умножить все reward на константу k > 0: P = σ(k * (r_chosen — r_rejected)) — меняется крутизна сигмоиды, но порядок сохраняется.

Это означает, что Reward Model может выдавать произвольные числа (например, от -10 до 10 или от 0 до 1), и Bradley-Terry loss будет работать корректно. Важен только знак разности и её относительная величина. На практике это позволяет:

  • Использовать Reward Model без калибровки.
  • Нормализовать reward (например, через z-score) без потери информации.
  • Обучать модель на неполных данных (только пары, без абсолютных оценок).

Ограничение: модель не может различать «хорошие» и «плохие» ответы в абсолютном смысле — только их относительный порядок. Для задач, где нужна абсолютная шкала (например, оценка безопасности), требуется дополнительная калибровка.


5. Пет-проект для закрепления

Задача: Реализовать обучение Reward Model на синтетическом датасете парных сравнений с использованием Bradley-Terry loss.

Инструменты:

  • Python 3.10+
  • PyTorch (или JAX)
  • Hugging Face Transformers (для базовой LLM)
  • NumPy, Matplotlib

Шаги:

  1. Сгенерировать синтетический датасет: 1000 пар ответов, где «истинный» reward = длина ответа (или другое простое правило). Для каждой пары: chosen — ответ с большим reward.
  2. Взять предобученную LLM (например, GPT-2 small) и добавить линейный head для reward (один выход).
  3. Реализовать Bradley-Terry loss: loss = -log(sigmoid(reward_chosen - reward_rejected)).
  4. Обучить модель на 10 эпох с AdamW (lr=1e-5).
  5. Валидация: на тестовых парах проверить accuracy предсказания порядка (доля пар, где r_chosen > r_rejected).

Ожидаемый результат:

  • Модель научится предсказывать порядок с accuracy > 90% на тесте.
  • Reward-оценки будут коррелировать с истинным правилом (длина ответа), но с произвольным масштабом.
  • График loss покажет сходимость к нулю, а гистограмма разностей reward — разделение на два кластера (chosen > rejected).

Связь с другими вопросами

ВопросТема
984Определение Reward Model, её роль в пайплайне RLHF

Навигация

  • Предыдущий: 984
  • Следующий: 986
  • Индекс: 00. Индекс разборов