Direct Preference Optimization

Abstract

DPO — offline preference-optimization метод, который обучает политику предпочитать chosen ответ rejected ответу относительно reference policy. Отдельный явный reward model и online PPO loop не требуются.

Данные

Типичный пример содержит:

  • prompt x;
  • выбранный ответ y_w;
  • отклонённый ответ y_l.

Пара сообщает относительное предпочтение, а не абсолютную правильность. Если оба ответа плохи или различаются нерелевантной особенностью, обучение закрепит слабый сигнал.

DPO и классический RLHF

СвойствоRLHF с reward model + PPODPO
Явный reward modelобычно данет
Online rollouts при optimizationобычно даобычно нет
Reference policyограничивает сдвигвходит в objective
Инженерная сложностьвышеобычно ниже
Нужны preference data и evalsдада

Когда рассматривать

  • есть качественные пары предпочтений;
  • SFT учит допустимому ответу, но плохо различает более и менее желательные варианты;
  • нужно устойчиво менять стиль, формат или стратегию ответа;
  • существует отдельный eval set и baseline.

Риски

  • noisy или однородные preferences;
  • shortcut learning по длине и стилю;
  • переоптимизация и потеря разнообразия;
  • ухудшение вне training distribution;
  • data leakage между train и eval;
  • некорректный reference model или hyperparameters.

DPO — не универсальная замена RLHF и не гарантия alignment. Выбор метода зависит от данных, инфраструктуры и измеряемого поведения.

Источник

Связанные заметки