Практикум по выбору обучающего сигнала и проверке его границ

SFT, RLHF и DPO: обучение по примерам и предпочтениям

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

Инженерная практика обучения языковых моделей110 минут4 модуля8 вопросов
После курса

Что вы сможете сделать

  1. Различать демонстрацию целевого ответа и сравнение ответов с меткой предпочтения.
  2. Объяснять схему InstructGPT: обучение на демонстрациях, модель вознаграждения и обучение с подкреплением.
  3. Вычислять функцию потерь DPO по вероятностям ответов у обучаемой и опорной моделей.
  4. Проверять критерий предпочтения и фактическую точность ответа по отдельности.
Модуль 1 из 4

Демонстрация задаёт целевой ответ

SFT — дообучение с учителем на целевых ответах. Для вымышленного устройства Z карточка сообщает «8 портов»: пример к запросу «Сколько портов у Z?» содержит ответ «У Z 8 портов».

  • Демонстрация содержит запрос и целевой ответ. Запись с двумя ответами и указанием предпочтительного — сравнение; для использования её как демонстрации потребуется преобразование данных.

    Проверить тезис: Дообучение с учителем на демонстрациях (SFT) 01

  • В авторской реализации DPO есть и режим SFT. Целевые метки указывают токены — единицы текста, которые должна предсказать модель. Для одной последовательности складывают натуральные логарифмы вероятностей учитываемых целевых токенов и меняют знак суммы. Позиции с меткой исключения пропускают. Чем выше вероятность целевого токена, тем меньше его вклад в потери. Это способ расчёта в данной реализации.

    Проверить тезис: Дообучение с учителем на демонстрациях (SFT) 02

  • В эксперименте InstructGPT финальную SFT-модель выбирали по оценке модели вознаграждения — отдельной модели, обученной предсказывать предпочтения людей. При этом ошибка воспроизведения демонстраций на проверочных данных могла расти. Авторы использовали разные критерии; это не правило выбора для любой задачи.

    Проверить тезис: Дообучение с учителем на демонстрациях (SFT) 03 04

Модуль 2 из 4

Как сравнения становятся сигналом вознаграждения

В RLHF обратная связь людей задаёт вознаграждение для обучения с подкреплением. В InstructGPT сравнения сначала использовали для обучения отдельной модели оценки ответов.

  • Модель вознаграждения получает запрос и ответ и выдаёт число. На человеческих сравнениях её обучают оценивать предпочтительный ответ выше. Затем эта оценка служит сигналом для PPO — алгоритма обучения с подкреплением, который обновляет языковую модель.

    Проверить тезис: Обучение с подкреплением по обратной связи людей (RLHF) 01 02

  • В InstructGPT языковую модель для этапа PPO начинали с версии после обучения с учителем. Штраф Кульбака — Лейблера (KL) учитывал отклонение вероятностей ответов от этой фиксированной начальной модели. Это часть целевой функции, а не доказательство точности ответа.

    Проверить тезис: Обучение с подкреплением по обратной связи людей (RLHF) 03

Модуль 3 из 4

DPO: расчёт относительно опорной модели

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

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

    Проверить тезис: Прямая оптимизация предпочтений (DPO) 01

  • Для одного запроса обозначим натуральные логарифмы вероятностей полных ответов: a и b — выбранного и отклонённого у обучаемой модели, c и d — у фиксированной опорной. Разность m=β[(a−c)−(b−d)], где β — положительный параметр настройки. Потери для пары: L=ln(1+exp(−m)); ln — натуральный логарифм, exp(z)=eᶻ. По набору усредняют потери пар.

    Проверить тезис: Прямая оптимизация предпочтений (DPO) 02

  • При β=1, c=−1 и d=−3 снимок a=−2, b=−3 даёт m=−1 и L≈1,313. Другой снимок a=−3, b=−5 даёт m=0 и L≈0,693. Во втором потери меньше, но вероятность выбранного ответа ниже. Это два заданных состояния, а не показанная траектория обучения.

    Проверить тезис: Прямая оптимизация предпочтений (DPO) 03

Модуль 4 из 4

Предпочтение — не проверка факта

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

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

    Проверить тезис: Обучение с подкреплением по обратной связи людей (RLHF) 04

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

    Проверить тезис: Прямая оптимизация предпочтений (DPO) 04

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Карточка вымышленного устройства Z сообщает «8 портов». Для запроса «Сколько портов у Z?» подготовлены четыре записи. Какая уже задаёт демонстрацию для SFT — дообучения с учителем на целевых ответах?
02Учебный пакет SFT содержит две последовательности. Для первой натуральные логарифмы вероятностей целевых токенов (−0,2; −0,7; −1,1) уже соответствуют меткам (10; −100; 20). Позицию с меткой −100 исключают; потери последовательности — отрицательная сумма остальных логарифмов. Потери второй равны 0,9. Чему равно среднее потерь двух последовательностей?
03Собран набор сравнений ответов. В одном примере карточка Z даёт «8 портов», модель ответила «16» и «8», а разметчик по критерию точности выбрал «8». Модели вознаграждения ещё нет. Как продолжить обучение по схеме InstructGPT?
04Набор предпочтений составила группа разметчиков по инструкциям исследователей. Модель обучена на этом наборе; данных о других аудиториях нет. Как описать происхождение обучающей цели?
05Для пары ответов заданы натуральные логарифмы вероятностей выбранного и отклонённого: у обучаемой модели a=−2, b=−3, у опорной c=−1, d=−3. При β=1 используйте m=(a−c)−(b−d), L=ln(1+exp(−m)), где exp(z)=eᶻ. Чему равны потери L с округлением до тысячных?
06Два условных снимка DPO. Натуральные логарифмы вероятностей выбранного и отклонённого ответов: у модели A=(−2,−3), B=(−3,−5); у фиксированной опорной модели (−1,−3). При β=1 разность m=(a−c)−(b−d), где a,b — значения обучаемой модели, c,d — опорной. Как различаются снимки?
07Для одних и тех же ответов автоматическому оценщику заменили инструкцию «выбери более точный ответ» на «выбери более краткий». Доля побед модели изменилась. Как оформить и проверить этот результат?
08Карточка вымышленного Z сообщает «8 портов». Ответ A уверенно говорит «16», B менее гладко говорит «8». По стилю разметчики выбрали A. Нужно сохранить эту метку и отдельно разметить точность по карточке. Как записать результат?
Проверяемая база

Источники курса

Полные сведения о первоисточниках приведены один раз для всего курса. Под тезисами — ссылки на соответствующие утверждения Архивариума.

  • Первичная публикация

    Training language models to follow instructions with human feedback

    Long Ouyang et al. (OpenAI) · arXiv:2203.02155v1, submitted 2022-03-04; §§3.1, 3.5, 5.2–5.3, Appendix C.4

    SFT на демонстрациях, сравнения ответов и модель вознаграждения в InstructGPT. Выбор модели и расхождение метрик относятся к описанному эксперименту; предпочтения группы не подтверждают истинность каждого ответа.

    Открыть первоисточник
  • Официальная документация

    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 суммирует потери учитываемых целевых токенов. Версии функций закреплены коммитом; код прочитан без исполнения.

    Открыть первоисточник
  • Первичная публикация

    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 на готовых парах предпочтений, функция потерь относительно опорной модели и зависимость доли побед в автоматической оценке от инструкции. Сравнительное превосходство методов из опытов не обобщается.

    Открыть первоисточник
Подтвердите действие