Дообучение с учителем на демонстрациях (SFT)
Определение
SFT — дообучение языковой модели с учителем на примерах запросов и целевых ответов. В таком примере задан ответ, который модель учится воспроизводить; сравнение нескольких вариантов требует другой разметки.
Также ищут: Supervised fine-tuning · Дообучение на целевых ответах · SFT
Зачем это знать
Помогает подготовить нужный формат данных: целевой ответ для обучения с учителем и метка предпочтения в паре задают разные обучающие задачи.
Карта понятия
Что подтверждено
В InstructGPT для дообучения с учителем (SFT) использовали демонстрации: разметчики писали желаемые ответы на запросы. Запись задавала целевой ответ; сравнения нескольких вариантов собирали отдельно.
Граница применимости: Ouyang и соавторы, arXiv:2203.02155v1, §§3.1, 3.5; демонстрационный этап InstructGPT. Это не требование о происхождении ответов в каждом наборе SFT.
В авторской реализации DPO режим SFT для одной обучающей последовательности вычисляет потери как отрицательную сумму натуральных логарифмов вероятностей целевых токенов. Позиции с целевой меткой −100 исключаются. Вероятность целевого токена берут из предсказания предыдущей позиции. Потери последовательностей затем усредняют по пакету.
Граница применимости: trainers.py, коммит f8b8c0f49dc92a430bae41585f9d467d3618fe2f, строки 90–115 и 258–270; average_log_prob=False. Это конкретная реализация SFT. Файл не показывает, какие фрагменты запроса получают метку −100.
В эксперименте InstructGPT финальную SFT-модель выбирали по оценке модели вознаграждения на проверочном наборе. Модель вознаграждения предсказывала предпочтения людей; её оценка отличалась от ошибки воспроизведения демонстраций.
Граница применимости: Ouyang и соавторы, §3.5, подраздел SFT. Критерий выбора модели в описанном эксперименте, не универсальная рекомендация.
В InstructGPT после одной эпохи наблюдали переобучение по ошибке на проверочных демонстрациях. Продолжение обучения при этом улучшало оценки модели вознаграждения и предпочтения людей. Это расхождение критериев наблюдали на данных и моделях статьи.
Граница применимости: Ouyang и соавторы, §3.5, SFT. Эпоха — один проход по обучающему набору; число эпох нельзя переносить на другую задачу как готовую настройку.
Что проверить
- Различите запись с целевым ответом и запись со сравнением ответов.
- Сохраните запрос и целевой ответ в том виде, в котором их получает модель.
- Заранее задайте критерий выбора сохранённой версии модели и данные для его проверки.
- Проверьте применимость выбранного критерия к своей задаче: процедура InstructGPT не является универсальным правилом.
Первоисточники
- Training language models to follow instructions with human feedback
SFT на демонстрациях, сравнения ответов и модель вознаграждения в InstructGPT. Выбор модели и расхождение метрик относятся к описанному эксперименту; предпочтения группы не подтверждают истинность каждого ответа.
- Direct Preference Optimization: авторская реализация, trainers.py
Авторская реализация: DPO при ipo=False, reference_free=False, label_smoothing=0; SFT суммирует потери учитываемых целевых токенов. Версии функций закреплены коммитом; код прочитан без исполнения.
Утверждения: 02