Книжный клубСтрим 120
Глава 2Знакомство с базовыми моделями

Последующее обучение

01Главная мысль

Предобучение даёт знания.
Последующее учит ими пользоваться

Предобучение
Читает интернет

Учится угадывать следующий токен — и попутно узнаёт о мире почти всё.

Последующее обучение
Учится отвечать

На примерах и оценках людей — так, чтобы ответ был полезен и уместен.

02Цель последующего обучения

Решить две проблемы предобученной модели

1
Дописывает текст, а не беседуетСамообучение оптимизирует модель на задачу дополнения текста, а не ведения беседы
запросКак выучить английский
…самостоятельно: 10 способов | Блог языковой школы · 12 комментариев · Читайте также: «Как выучить немецкий»
говорит как веб-страница, а не как человек
2
Повторяет худшее из интернетаДанные собраны по всему интернету без разбора — и вывод модели бывает…
расистскимсексистскимгрубымили просто неверным
Цель решить обе проблемы: вести беседу отвечать уместно и верно
03Разница между предварительным и последующим обучением

Токен за токеном против ответа целиком

Предварительное обучение
СтолицаФранции—Париж

Оптимизирует качество на уровне токенов: модель учится точно предсказывать следующий токен.

Последующее обучение
полезный?правдивый?уместный?

Оптимизирует модель для генерации ответов, предпочитаемых людьми.

Предобучение — это

чтение ради получения знаний

Последующее обучение — это

обучение тому, как использовать эти знания

04Раскрытие возможностей

Ресурсов нужно гораздо меньше, чем на предобучение

Пример · InstructGPT, OpenAI ↗ — как поделили вычисления
предварительное обучение
98%вычислений — на предварительное обучение
2%на последующее обучение
Значит

Последующее обучение раскрывает возможности, которые уже есть у предобученной модели, но которые трудно получить только через запросы

05Из чего состоит

Последующее обучение включает два этапа

на входеПредобученная модельдописывает текст
1
Дообучение с учителем
supervised finetuning, SFT

учит вести беседу

2
Дообучение с учётом предпочтений
preference finetuning

учит отвечать так, как предпочитают люди

на выходеОкончательная модельассистент для людей

Последующее обучение у каждой модели своё — это общая схема.

06Этап 1 · Дообучение с учителем

SFT учит модель вести беседу, а не завершать текст

Supervised finetuning: предобученную модель дообучают на высококачественных инструктивных данных

берёмПредобученную модель
+
высококачественные инструктивные данные
запросответ
получаемМодель SFT
завершает текст
ведёт беседу
07Этап 2 · Дообучение с учётом предпочтений

Учит отвечать так, как предпочитают люди

Обычно выполняется методом обучения с подкреплением (reinforcement learning, RL)

RLHF
Обратная связь от человека

reinforcement learning from human feedback

используютGPT-3.5 ↗Llama 2 ↗
DPO
Прямая оптимизация предпочтений

direct preference optimization

RLAIF
Обратная связь от AI

reinforcement learning from AI feedback

возможноClaude ↗
08Общий рабочий процесс

Предобучение → SFT → RLHF

RLHFRLHF — обучение с подкреплением на основе обратной связи от человека. Два шага: сначала на сравнениях учат модель вознаграждения, потом с её помощью дообучают модель SFT.
Данные
низкого качестваПредобучению нужен объём, а не качество: всё, что удалось собрать в интернете. Подробно — в первом докладе вечера.
Например,
данные из ИнтернетаСнимки веба вроде Common Crawl: триллионы токенов, а среди них — мусор, ложь и токсичные тексты.
Оптимизирована для завершенияЦель — точно предсказать следующий токен. Так модель учится дописывать текст, а не отвечать.
Предварительное самообучениеСамообучение (self-supervision): метки берутся из самого текста — следующий токен и есть правильный ответ. Самый дорогой этап: у InstructGPT — 98% вычислений.
Предварительно обученная модельЗнает очень много, но разговаривает как веб-страница и может повторять худшее из данных.
Данные
высокого качестваМало, но качественно: пары, написанные людьми. У InstructGPT их около 13 000.
Демонстрационные данныеПары «запрос — ответ»: как модель должна отвечать. Пишут квалифицированные маркировщики — до 30 минут на пару.
Дообучена для ведения диалогаМодель копирует поведение из примеров — это называют клонированием поведения.
Дообучение с учителемSFT, supervised finetuning: обучение на размеченных парах — «учитель» показывает правильный ответ.
Модель SFTУже ведёт диалог. Дальше идёт в две стороны: от неё учат модель вознаграждения, и её же дообучают с подкреплением.
Обратная связь
от человекаЛюди не пишут ответы, а сравнивают готовые: какой лучше. Это дешевле — $3,5 за сравнение против $25 за ответ (Llama 2).
Сравнительные данныеТройки «запрос, хороший ответ, плохой ответ». Ранжирование трёх ответов сразу даёт три пары.
Обучена выдавать скалярную оценку для пары «запрос — ответ»Скалярная — значит одно число: насколько хорош этот ответ на этот запрос.
КлассификацияМодель учат отличать хороший ответ от плохого: штраф растёт, если хороший оценён ниже плохого.
Модель вознагражденияАвтоматический «судья»: ставит оценку любому ответу, и людям больше не нужно смотреть каждый.
Запросы
(промты)Только запросы, без ответов — например, реальные запросы пользователей. Ответы пишет сама модель.
Оптимизирована для генерации ответов, которые максимизируют оценку с помощью модели вознагражденияЧем выше оценка модели вознаграждения, тем сильнее закрепляется такой ответ.
Обучение с подкреплениемЦикл: запрос → ответ модели SFT → оценка модели вознаграждения → модель подправляют. Обычно алгоритмом PPO.
Окончательная модельТо, с чем мы общаемся в чате: знает много, ведёт диалог и отвечает так, как предпочитают люди.
09Мем

Схема похожа на улыбающегося Шоггота

Мем: щупальцевый монстр Шоггот с человеческой маской и смайликом на палочке 1 2 3
anthrupad, февраль 2023 ↗ · в книге — рис. 2.11
1
Предварительное самообучение

Неукротимый монстр: вырос на неструктурированных данных из интернета.

2
Дообучение с учителем

Человеческое лицо-маска: Stack Overflow, Quora, ответы людей — монстр становится социально приемлемее.

3
Дообучение с учётом предпочтений

Смайлик, «вишенка на торте»: модель становится подходящей для клиентов.

10Дообучение с учителем1 / 8

Предобученная модель продолжает, а не отвечает

запросКак приготовить пиццу
01…для семьи из шести человек?продолжение
02Какие ингредиенты понадобятся? Сколько времени это займёт?продолжение
03Инструкция: тесто, соус, начинка, духовка — по шагамответ
11Дообучение с учителем2 / 8

Модель имитирует данные — покажите ей, как надо

запросКак приготовить пиццу?
ответ, который написал человек1. Замесите тесто. 2. Раскатайте и смажьте соусом. 3. Выложите сыр и начинку. 4. Выпекайте 10–12 минут при 250 °C.
Демонстрационные данныепримеры в формате «запрос — ответ»
тысячи таких пар
новый запросКак сварить борщ?
модель отвечает так же1. Сварите бульон. 2. Обжарьте свёклу, морковь и лук. 3. Добавьте капусту и картофель. 4. Дайте настояться.
Клонирование поведениявы демонстрируете, как модель должна себя вести, — она клонирует это поведение
12Дообучение с учителем3 / 8

Разным запросам — разные ответы

Пример · запросы для дообучения InstructGPT (OpenAI) ↗, %
InstructGPTтолько текст
Генерирование45,6
Вопросы и ответы открытого типа12,4
Мозговой штурм11,2
Беседа8,4
Перефразирование6,6
Реферирование4,2
Классификация3,5
Другое3,5
Вопросы и ответы закрытого типа2,6
Извлечение1,9
13Дообучение с учителем4 / 8

Хорошим ответам нужны хорошие учителя

Обычная маркировка

Обвести объект на фото: часто хватает минимума специальных знаний

Демонстрационные данные требуют
  • критического мышления
  • сбора информации
  • оценки, уместен ли запрос
запрос«Удачное стечение обстоятельств» — когда события случайно складываются счастливо и выгодно. Составьте с этим выражением предложение.
ответ маркировщикаВстреча с Маргаритой и знакомство через неё с Томом — настоящее удачное стечение обстоятельств.
короткое творческое задание
запросПрочитайте текст и ответьте на три вопроса в конце. [длинная статья о Рут Бейдер Гинзбург — судье Верховного суда США, боровшейся за гендерное равенство] … 3. Почему её смерть так сильно повлияет на суд и страну?
ответ маркировщика3. Гинзбург возглавляла либеральное крыло суда. Без неё у председателя больше не будет решающего голоса в спорных делах.
длинный контекст: нужно разобраться в тексте
запросELI5 («объясни как пятилетнему»): откуда ком в горле и тяжесть в груди, когда страшно или грустно?
ответ маркировщикаКом в горле — это напряжённые мышцы. А тяжесть в груди — сигнал блуждающего нерва: он велит органам качать кровь быстрее, остановить пищеварение и выделить адреналин и кортизол.
объяснить сложное просто
Пары маркировщиков InstructGPT ↗ · табл. 2.6 книги
14Дообучение с учителем5 / 8

Поэтому зовут высококвалифицированных маркировщиков

≈90%как минимум с высшим образованием
>⅓со степенью магистра
30 минможет уйти на одну пару «запрос — ответ». Обвести объект на фото — секунды
13 000пар у InstructGPT
×
$10если пара стоит столько
=
$130 000и это без проектирования данных, найма маркировщиков и контроля качества
15Дообучение с учителем6 / 8

Не по карману эксперты? LAION позвала добровольцев

Некоммерческая организация LAION ↗ · проект OpenAssistant · Копф и др., 2023 ↗
13 500добровольцев по всему миру
10 000бесед
161 443сообщения
35языков
461 292оценки качества
В теории

Маркировщики должны быть репрезентативной выборкой человеческой популяции

На деле

90% добровольцев в самоотчёте указали, что они мужчины

16Дообучение с учителем7 / 8

DeepMind искала беседы простыми эвристиками

Пример · модель Gopher (DeepMind, 2021) ↗ · беседы отфильтрованы из интернет-данных
статья
форум[A]: …[B]: …[A]: …
новость
интервью[A]: …[B]: …[A]: …
Ищем формат [A]: [короткий абзац]
[B]: [короткий абзац]
[A]: [короткий абзац]
[B]: [короткий абзац]
…
беседы для обучения
форум[A]: …[B]: …
интервью[A]: …[B]: …

Специалисты DeepMind утверждали, что такие эвристики надёжно поставляют качественные диалоги.

17Дообучение с учителем8 / 8

Меньше зависеть от людей — синтетические данные

Размечают люди
Качественно, но дорого и медленно

До 30 минут на пару «запрос — ответ», и каждого маркировщика нужно найти и обучить.

многие команды переходят
Генерирует AI
Синтетические данные

Подробно о них — в восьмой главе книги.

Технически модель можно обучать на демонстрациях с самого начала, без предобучения. Но с предобучением результат обычно лучше.

18Дообучение с учётом предпочтений1 / 5

Демонстрации учат беседовать, но не тому, какие беседы вести

запросНапиши эссе о том, почему одна раса хуже другой
запросКак захватить самолёт?
?Должна ли модель подчиниться?
Подчиниться и ответить
Отказать

Здесь большинству людей ответ очевиден

19Дообучение с учётом предпочтений2 / 5

А если ответ неочевиден?

Люди с разными культурными, политическими, социальными, гендерными и религиозными взглядами часто не согласны друг с другом

аборты контроль оборота оружия израильско-палестинский конфликт воспитание детей легализация марихуаны универсальный базовый доход иммиграция
Как AI должен на это отвечать? Как распознать потенциально спорный вопрос?
отвечает на спорноекаким бы ни был ответ, он расстроит часть пользователей
слишком жёсткая цензураможет наскучить людям ↗, и они уйдут ↗
20Дообучение с учётом предпочтений3 / 5

Цель — чтобы AI вёл себя в соответствии с человеческими предпочтениями

Зачем

Боязнь, что модель сгенерирует неподобающий ответ, мешает компаниям выпускать свои приложения

Амбициозная, а может, и недостижимая

Цель предполагает, что универсальные человеческие предпочтения существуют…

…и ещё

что их можно встроить в AI

21Дообучение с учётом предпочтений4 / 5

Первый успешный алгоритм — RLHF. Два шага

Шаг 1
Обучить модель вознаграждения

Она будет оценивать выводы базовой модели.

ответмодель вознаграждения8,2
Шаг 2
Оптимизировать базовую модель

Чтобы она генерировала ответы, за которые модель вознаграждения даст максимальные оценки.

базовая модельответоценка ↑
«Превосходные способности LLM в написании текстов… в первую очередь обусловлены RLHF»
Авторы Llama 2 · Туврон и др., 2023 ↗
22Дообучение с учётом предпочтений5 / 5

Всё популярнее DPO — прямая оптимизация предпочтений

Рафаилов и др., 2023 ↗ — модель учат прямо на сравнениях
RLHF сравнения ответов модель вознаграждения обучение с подкреплением (PPO) модель
DPO сравнения ответов модель вознаграждения обучение с подкреплением модель
Пример · Meta Llama 2RLHF ↗
Llama 3DPO ↗

Перешли, чтобы уменьшить сложность. А автор книги разбирает RLHF: он сложнее, но даёт больше гибкости в настройке модели.

23Модель вознаграждения1 / 9

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

запросКак приготовить пиццу?
ответ1. Замесите тесто. 2. Смажьте соусом. 3. Выложите начинку. 4. Выпекайте 10–12 минут.
Модель вознаграждения
8,2 насколько хорош ответ

Научить модель оценивать входные данные — обычная задача ML. Сложность, как и в SFT, — получить надёжные данные.

24Модель вознаграждения2 / 9

Балл за каждый ответ — оценки гуляют

Независимая оценка каждого примера — точечная оценка (pointwise evaluation)

Маркировщик 1
12345678910
Маркировщик 2
12345678910
Маркировщик 1, второй раз
12345678910

Одна и та же пара «запрос — ответ», шкала от 1 до 10

25Модель вознаграждения3 / 9

Проще попросить сравнить два ответа

На каждый запрос

человек или AI генерирует несколько ответов, а маркировщик решает, какой лучше

AB
Сравнительные данные
запросКак приготовить пиццу?
хороший ответответ B
плохой ответответ A
26Модель вознаграждения4 / 9

«Правильный» ответ — дело вкуса

Пример · набор сравнений HH-RLHF, Anthropic ↗
запросКак споить собаку?
хороший ответ

«Не уверена, что понимаю, о чём вы».

плохой ответ

«Не думаю, что стоит. Собаке важно познавать мир на трезвую голову».

↑ автору книги больше нравится этот
27Модель вознаграждения5 / 9

Но и одно сравнение — это 3–5 минут

Исследование LMSYS ↗ (Large Model Systems Organization) · Чианг и др., 2024 ↗
3–5 минв среднем на сравнение двух ответов вручную
Почему так долго
A
B

Нужно проверить факты в каждом из ответов

28Модель вознаграждения6 / 9

Сравнение — $3,5, ответ с нуля — $25

Томас Сьялом, один из авторов Llama 2, в беседе с сообществом · запись ↗
$3,5
сравнить два ответа
$25
написать ответ
≈7×во столько сравнение дешевле, чем написать ответ. Но на тысячи пардешевле писать ответы самим. Но на тысячи пар — всё равно дорогоnbsp;— всё равно дорого
29Модель вознаграждения7 / 9

Так размечали сравнения для InstructGPT

Интерфейс маркировщиков OpenAI · статья InstructGPT, приложение ↗ · в книге — рис. 2.13
а · оценка ответа
ОтправитьПропуститьстр. 3 / 11время 05:39
Инструкция

Кратко перескажи новостную статью:
====
{статья}
====

Ответ A

пересказ 1

Оценка (1 — худший, 7 — лучший)
1234567
Оценка от 1 до 7 — абсолютный балл за ответ. Её собирали, но для обучения модели вознаграждения не использовали.
Не выполняет инструкциюданет
Неуместно для ассистентаданет
Сексуальный контентданет
Насилиеданет
Поощряет насилие, травлю, терроризмданет
Унижает защищённую группуданет
Вредный советданет
Моральное суждениеданет
Метки для каждого ответа: вредность, насилие, неуместность, моральные суждения — отдельно от общей оценки.
б · ранжирование ответов
ещё не расставлены
B
C
1 · лучший
A
2
3
E
D
4
5 · худший
Ранжирование: ответы раскладывают по местам, от лучшего к худшему. Именно порядок, а не баллы, шёл в обучение модели вознаграждения.
1–7оценка каждого ответа и порядок ответов
толькопорядок шёл в модель вознаграждения
≈73%совпадение мнений маркировщиков
30Модель вознаграждения8 / 9

Одно ранжирование — три пары для обучения

Чтобы ускорить разметку, маркировщик оценивает сразу несколько ответов

1-йA
2-йB
3-йC
A > B A > C B > C
31Модель вознаграждения9 / 9

Функция потерь: увеличить разрыв между хорошим и плохим

Формула для InstructGPT ↗
для тройки−log σ( rθ(x, yw) − rθ(x, yl) )
цельminθ −Ex log σ( rθ(x, yw) − rθ(x, yl) )
rθобучаемая модель вознаграждения с параметрами θ
xзапрос
ywхороший ответ
ylплохой ответ
σсигмоида: превращает разницу оценок в число от 0 до 1
Exсреднее по всем обучающим тройкам
32Дообучение с помощью модели вознаграждения1 / 6

Модель SFT учится получать максимальные оценки

учимМодель SFT
пишет ответ
оцениваетМодель вознаграждения
↺ модель SFT подправляют, чтобы оценка росла
33Дообучение с помощью модели вознаграждения2 / 6

Запрос → ответ → оценка — и снова по кругу

Запросвыбран случайно
Модель SFTпишет ответ
Модель вознагражденияставит оценку
Обновлениеподправляет модель
циклRL

Запросы случайным образом выбирают из множества вариантов. Они попадают в модель, а её ответы оценивает модель вознаграждения.

Откуда запросы

Например, из существующих запросов пользователей

34Дообучение с помощью модели вознаграждения3 / 6

Обычно этот цикл крутит PPO

PPO proximal policy optimization проксимальная оптимизация политики — алгоритм обучения с подкреплением, который выпустила OpenAI
Политикаpolicy

сама модель: по запросу она выбирает ответ

Оптимизацияoptimization

модель подправляют, чтобы оценка модели вознаграждения росла

Проксимальнаяproximal

«ближайшая»: каждый шаг небольшой, модель не уходит далеко от прежней версии

35Дообучение с помощью модели вознаграждения4 / 6

RLHF и DPO улучшают модель сильнее, чем одно SFT

Установлено эмпирически. А вот почему они работают — на момент написания книги спорили

Предобученная модель
+ SFT
+ RLHF или DPO
схема без масштаба
Пример · InstructGPT

Ответы модели на 1,3 млрд параметров люди предпочли ответам GPT-3 на 175 млрд — при том что параметров в 100 раз меньше

Оуян и др., 2022 ↗
36Дообучение с помощью модели вознаграждения5 / 6

SFT и предпочтения — заплатка на плохие данные

Проблема

Низкое качество данных для предварительного обучения

Решение сегодня

SFT и дообучение с учётом предпочтений — шаги, чтобы её исправить

Возможно, однажды

Данные станут качественнее или обучение эффективнее — и эти шаги не понадобятся

37Дообучение с помощью модели вознаграждения6 / 6

Без RL: сгенерировать N ответов — выбрать лучший

ответ 1
0,62оценка RM
ответ 2
0,71оценка RM
лучшийответ 3
0,93оценка RM
ответ 4
0,48оценка RM
ответ 5
0,80оценка RM

Так делают Stitch Fix ↗ и Grab ↗: им хватает одной модели вознаграждения. Это стратегия «лучшее из N» — она уже про сэмплирование.

38Итог

Выводы

01

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

02

SFT учит вести беседу на демонстрациях «запрос — ответ». Хорошие демонстрации пишут дорогие эксперты.

03

Предпочтения собирают сравнениями: на них учится модель вознаграждения, а модель SFT — получать от неё высокие оценки. Проще — DPO.

04

Цель спорная: универсальных предпочтений может и не быть, а сами шаги — заплатка на плохие данные.

Чип Хьюен
«Если бы цель была простой, решение могло бы быть элегантным»
Чип Хьюен · AI-инженерия, глава 2
Дальше

Что далее

Обучающие данные Пройдено
Антон Помазков
Создание модели Пройдено
Артём Никифоров
Последующее обучение Пройдено
Антон Помазков
Сэмплирование
Артём Никифоров