Прямая оптимизация предпочтений (DPO)
Определение
DPO — метод дообучения языковой модели на парах ответов с меткой предпочтения и с учётом вероятностей ответов у опорной модели. Он напрямую меняет языковую модель, без обучения отдельной модели вознаграждения; опорная модель остаётся фиксированной.
Также ищут: Direct Preference Optimization · DPO
Зачем это знать
Помогает проверить вычисление функции потерь: она сравнивает относительные изменения вероятностей двух ответов, а качество и факты требуют отдельных проверок.
Карта понятия
Что подтверждено
DPO напрямую дообучает языковую модель на фиксированном наборе сравнений: запрос, выбранный ответ и отклонённый ответ. Метод не требует обучать отдельную модель вознаграждения или генерировать новые ответы в цикле обучения с подкреплением на этом этапе.
Граница применимости: Rafailov и соавторы, arXiv:2305.18290v3, §§3–4, 7; предложенный метод DPO на готовом наборе сравнений. Это не характеристика всех методов обучения по предпочтениям.
Для одной пары DPO использует потери L=ln(1+exp(−m)), где m=β[(ln πθ(yw|x)−ln πref(yw|x))−(ln πθ(yl|x)−ln πref(yl|x))]. Здесь x — запрос; yw и yl — выбранный и отклонённый полные ответы; πθ и πref — их вероятности у обучаемой и фиксированной опорной моделей; β — положительный параметр настройки. ln — натуральный логарифм; exp(z)=eᶻ. Формула (7) усредняет эти потери по набору пар.
Граница применимости: Rafailov и соавторы, §4, формула (7); L=−ln σ(m)=ln(1+exp(−m)), где σ(m)=1/(1+exp(−m)). Вероятности ответов условны при заданном запросе.
Учебный расчёт DPO: β=1; натуральные логарифмы вероятностей выбранного и отклонённого полных ответов у опорной модели c=−1, d=−3. У обучаемой модели снимок A: a=−2, b=−3; m=(a−c)−(b−d)=−1, потери L=ln(1+exp(−m))≈1,313. Снимок B: a=−3, b=−5; m=0, L≈0,693. Здесь exp(z)=eᶻ. Во втором снимке потери меньше, но вероятность выбранного ответа ниже: его логарифм равен −3 вместо −2. Это заданные состояния для одного запроса, не наблюдавшаяся траектория обучения.
Граница применимости: Редакционный расчёт по формуле (7) и авторскому trainers.py: ipo=False, reference_free=False, label_smoothing=0. Логарифмы вероятностей полных ответов суммируются по учитываемым токенам, не усредняются. Пример не измеряет качество или фактическую точность.
В опытах DPO на кратких пересказах доля побед, определённых оценщиком GPT-4, зависела от инструкции оценщику. Авторы сопоставили результаты двух инструкций с оценками людей и отметили зависимость от инструкции как ограничение автоматической оценки.
Граница применимости: Rafailov и соавторы, arXiv:2305.18290v3, §§6.4, 7; пересказы TL;DR и инструкции этой работы. Это не общая оценка надёжности всех автоматических оценщиков.
Что проверить
- Для каждого сравнения сохраните запрос, выбранный и отклонённый ответы и критерий выбора.
- Зафиксируйте опорную модель и положительный параметр β, используемый в формуле.
- Вычислите разности натуральных логарифмов вероятностей для обоих полных ответов, затем их разность и функцию потерь.
- Оцените ответы отдельно от функции потерь; сохраните инструкцию автоматического оценщика.
Первоисточники
- Direct Preference Optimization: Your Language Model is Secretly a Reward Model
Метод DPO на готовых парах предпочтений, функция потерь относительно опорной модели и зависимость доли побед в автоматической оценке от инструкции. Сравнительное превосходство методов из опытов не обобщается.
- Direct Preference Optimization: авторская реализация, trainers.py
Авторская реализация: DPO при ipo=False, reference_free=False, label_smoothing=0; SFT суммирует потери учитываемых целевых токенов. Версии функций закреплены коммитом; код прочитан без исполнения.
Утверждения: 03