GPU, ускорители и инфраструктура LLM

Прямая оптимизация предпочтений (DPO)

Определение

DPO — метод дообучения языковой модели на парах ответов с меткой предпочтения и с учётом вероятностей ответов у опорной модели. Он напрямую меняет языковую модель, без обучения отдельной модели вознаграждения; опорная модель остаётся фиксированной.

Также ищут: Direct Preference Optimization · DPO

Зачем это знать

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

Доказательная часть

Что подтверждено

  1. DPO напрямую дообучает языковую модель на фиксированном наборе сравнений: запрос, выбранный ответ и отклонённый ответ. Метод не требует обучать отдельную модель вознаграждения или генерировать новые ответы в цикле обучения с подкреплением на этом этапе.

    Граница применимости: Rafailov и соавторы, arXiv:2305.18290v3, §§3–4, 7; предложенный метод DPO на готовом наборе сравнений. Это не характеристика всех методов обучения по предпочтениям.

  2. Для одной пары 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)). Вероятности ответов условны при заданном запросе.

  3. Учебный расчёт 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. Логарифмы вероятностей полных ответов суммируются по учитываемым токенам, не усредняются. Пример не измеряет качество или фактическую точность.

  4. В опытах DPO на кратких пересказах доля побед, определённых оценщиком GPT-4, зависела от инструкции оценщику. Авторы сопоставили результаты двух инструкций с оценками людей и отметили зависимость от инструкции как ограничение автоматической оценки.

    Граница применимости: Rafailov и соавторы, arXiv:2305.18290v3, §§6.4, 7; пересказы TL;DR и инструкции этой работы. Это не общая оценка надёжности всех автоматических оценщиков.

Перед спецификацией

Что проверить

  1. Для каждого сравнения сохраните запрос, выбранный и отклонённый ответы и критерий выбора.
  2. Зафиксируйте опорную модель и положительный параметр β, используемый в формуле.
  3. Вычислите разности натуральных логарифмов вероятностей для обоих полных ответов, затем их разность и функцию потерь.
  4. Оцените ответы отдельно от функции потерь; сохраните инструкцию автоматического оценщика.
Открытые основания

Первоисточники

  • Исследование1
  • Документация1
  • Первичная публикация
    Direct Preference Optimization: Your Language Model is Secretly a Reward Model Rafael Rafailov et al. (Stanford University et al.) · arXiv:2305.18290v3, revision posted 2024-07-29; §§3–4, 6.4, 7, Eq. (7) · проверено

    Метод DPO на готовых парах предпочтений, функция потерь относительно опорной модели и зависимость доли побед в автоматической оценке от инструкции. Сравнительное превосходство методов из опытов не обобщается.

    Утверждения: 01 · 02 · 03 · 04

  • Официальная документация
    Direct Preference Optimization: авторская реализация, trainers.py Eric Mitchell и соавторы Direct Preference Optimization · trainers.py, f8b8c0f49dc92a430bae41585f9d467d3618fe2f; строки 45–115, 258–270 · проверено

    Авторская реализация: DPO при ipo=False, reference_free=False, label_smoothing=0; SFT суммирует потери учитываемых целевых токенов. Версии функций закреплены коммитом; код прочитан без исполнения.

    Утверждения: 03

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие