26 / 37 · Адаптация и эффективные модели
Обучение на инструкциях и выравнивание
Предобученный декодер продолжает текст; ассистент отвечает и останавливается. Заметка разбирает два этапа обучения, которые дают эту разницу, — дообучение с учителем на диалогах «инструкция — ответ» и оптимизацию по предпочтениям людей (модель вознаграждения с PPO или DPO без неё) — и на примере шаблона чата показывает, что архитектура не меняется вовсе.
Параметрически эффективное дообучение · GPT и авторегрессионное языковое моделирование
На этой странице 11
Заметка о GPT показала базовую модель, получившую «Find the value of n in the equation n + 2 = 6.». Она решила уравнение, а потом продолжала выдавать новые уравнения, потому что именно это следует за таким текстом в вебе. Та же модель после двух дальнейших этапов обучения отвечает в несколько строк и останавливается. Эта заметка описывает эти этапы. Архитектуру они не трогают; они меняют веса и формат входа.
Обозначения. Промпт и ответ ; политика — обучаемая языковая модель; — её замороженная исходная копия; модель вознаграждения оценивает ответы; означает, что человек предпочёл ответу .
Отправная точка: базовая модель и шаблон чата#
Прежде всякого обучения сравним базовую контрольную точку Llama 3.2 1B с её обученной на инструкциях сестрой. Их напечатанные деревья модулей совпадают строка в строку: те же 16 блоков, то же внимание, тот же словарь. Различаются веса и ещё одно: обученная модель ожидает вход, обёрнутый в шаблон чата (chat template). Для разговора в одну реплику токенизатор выдаёт
<|begin_of_text|><|start_header_id|>system<|end_header_id|>
Cutting Knowledge Date: December 2023
Today Date: 13 Nov 2025
<|eot_id|><|start_header_id|>user<|end_header_id|>
Find the value of n in the equation n + 2 = 6.<|eot_id|>
а модель продолжает заголовком ассистента и своим ответом, заканчивая <|eot_id|>. Специальные токены размечают роли и границы реплик; модель научилась останавливаться на <|eot_id|>, а код обслуживания прекращает декодирование там же. Её ответ на уравнение: «Subtract 2 from both sides … n = 4. So, the value of n is 4.» — и она останавливается. Шаблон — часть контракта модели; если подать обученной модели сырой текст без него, она склоняется к поведению базовой модели (продолжает текст вместо ответа, не останавливается вовремя).
Два этапа между этими контрольными точками:
От базовой модели к ассистенту
Дообучение с учителем#
Дообучение с учителем (supervised fine-tuning, SFT) — это дообучение из предыдущих заметок с другим набором данных и без нового выходного слоя: цель обучения — цель предобучения,
обычно с функцией потерь, ограниченной токенами ответа, чтобы модель не училась воспроизводить промпты. Данные и есть весь метод. В работе InstructGPT (Ouyang et al., 2022) демонстрации писали подрядчики; открытые наборы вроде UltraChat, No Robots и MathInstruct дают от десятков тысяч до миллионов диалогов. Писать их вручную дорого, и стандартных обходных путей два:
- Self-instruct / Alpaca (Wang et al., 2023; Taori et al., 2023): начать со 175 написанных людьми затравочных инструкций, попросить сильную модель породить новые инструкции и ответы на них (52 000 для Alpaca) и дообучиться на результате. Модель-ученик наследует поведение порождающей модели — это форма дистилляции.
- Предобучение на инструкциях (instruction pre-training; Cheng et al., 2024): порождать пары «инструкция — ответ» из самих документов предобучения, чтобы данные инструкций были так же широки, как корпус.
SFT с LoRA или QLoRA на модели в 7 млрд параметров помещается на один GPU; весь конвейер этой заметки обычно так и запускают.
После SFT модель отвечает. Чего SFT не хватает, так это сигнала о том, какие альтернативы плохи. Softmax нормирован, поэтому повышение показанного токена понижает остальные: для трёх токенов с равными логитами один шаг градиента размером 1 по сдвигает логиты на , и вероятности меняются с на . Логит каждой альтернативы опускается пропорционально её текущей вероятности, будь то гладкий, уверенный и неверный ответ или безобидный пересказ, а демонстрации могут обобщаться и на промпты, которых в них не было. Чего в функции потерь нет никогда — ответа, помеченного как худший, чем другой. Оптимизация по предпочтениям добавляет именно этот сравнительный сигнал.
Оптимизация по предпочтениям#
С моделью вознаграждения: RLHF#
Ouyang et al. (2022) вслед за Christiano et al. (2017) и Stiennon et al. (2020) добавляют этап, использующий сравнения, а не демонстрации:
- Для каждого промпта сэмплировать из модели после SFT несколько ответов (разные seed, температуры).
- Люди их ранжируют. Ранжирование ответов даёт пар .
- Обучить модель вознаграждения — обычно модель после SFT со скалярным выходным слоем — согласовываться со сравнениями по модели Брэдли–Терри: Вознаграждение определено лишь с точностью до константы и только на том распределении ответов, на котором модель обучалась.
- Оптимизировать политику обучением с подкреплением (PPO), чтобы максимизировать вознаграждение, оставаясь рядом с моделью после SFT:
KL-член делает метод честным: без него политика находит ответы с высокой оценкой , которые оказываются бессмыслицей, потому что модель вознаграждения точна только возле виденных ею данных (взлом вознаграждения, reward hacking). задаёт, насколько далеко может уйти политика.
Эмпирический результат, сделавший метод стандартом: оценщики-люди предпочли ответы модели InstructGPT на 1.3 млрд параметров ответам GPT-3 на 175 млрд (Ouyang et al., 2022, аннотация и рисунок 1). Обучение на предпочтениях изменило поведение модели сильнее, чем стократное увеличение размера.
Без модели вознаграждения: DPO#
PPO дорог (четыре модели в памяти: политика, эталонная модель, модель вознаграждения, функция ценности) и капризен в настройке. Rafailov et al. (2023) показали, что у цели с KL-регуляризацией выше есть оптимум в замкнутом виде,
который можно обратить: вознаграждение — функция политики, . Подстановка в правдоподобие Брэдли–Терри исключает и даёт функцию потерь только по политике:
Прямая оптимизация предпочтений (direct preference optimization, DPO) обучает политику на парах предпочтений функцией потерь в стиле классификации: поднять логарифм отношения у предпочтённого ответа и опустить у отвергнутого, каждый относительно эталонной модели. Ни модели вознаграждения, ни сэмплирования при обучении, две модели в памяти. Вывод точен для этой цели; что даёт лучшую модель на практике — DPO или PPO, — зависит от данных и всё ещё обсуждается, а реализованы оба в библиотеке TRL от Hugging Face.
Как оценивать ассистента#
Перплексия ничего не говорит о полезности, а единственного эталонного ответа не существует. Обычные инструменты, которые подробнее разбирает заметка об оценке LLM:
- Попарные предпочтения людей в масштабе. Chatbot Arena показывает пользователям два анонимных ответа и спрашивает, какой лучше; по множеству таких голосов считается рейтинг в стиле Эло.
- Бенчмарки с моделью-судьёй. MT-Bench оценивает многоходовые ответы с сильной моделью в роли судьи; AlpacaEval сравнивает ответы модели с ответами эталонной модели и приводит долю побед.
- Бенчмарки способностей базовой модели (рассуждения, знания) по-прежнему применимы, и после выравнивания результаты на них могут падать — это налог на выравнивание (alignment tax).
Как выбрать модель для адаптации#
Три практических правила, все эмпирические и зависящие от времени:
- Предпочитать контрольную точку, прошедшую SFT и оптимизацию по предпочтениям, если задача — не чистое дополнение текста; её поведение — то, на которое рассчитаны шаблон и стек обслуживания.
- Не предобучать. Продолжение предобучения на предметной области иногда того стоит; начинать с нуля почти никогда не стоит за пределами нескольких организаций.
- Свежая небольшая модель (около 1–10 млрд параметров) обычно лучше старой большой на общих задачах, а большой выровненной модели для классификации или суммаризации часто не нужно дообучение — достаточно хорошо написанного промпта с ожидаемым форматом выхода.
Что изменилось#
| Предобученная базовая | После SFT | После оптимизации по предпочтениям | |
|---|---|---|---|
| Обучена на | Веб-текст, следующий токен | Диалоги «инструкция — ответ» | Пары предпочтений |
| Поведение | Продолжает текст | Отвечает и останавливается | Отвечает так, как предпочитают люди |
| Учится на отвергнутых ответах | Нет | Нет | Да |
| Архитектура | Та же | Та же | Та же |
| Формат входа | Сырой текст | Шаблон чата | Шаблон чата |
Ограничения#
- Данные определяют поведение, включая их ошибки и предубеждения; демонстрации, написанные для одной аудитории, обучают модель для этой аудитории.
- Взлом вознаграждения и угодливость (sycophancy). Вознаграждение, выученное по оценкам людей, поощряет то, что нравится оценщикам, включая уверенный тон и согласие.
- Налог на выравнивание. Некоторые способности базовой модели ухудшаются.
- Не источник знаний. Оба этапа предназначены для того, чтобы сформировать поведение — то, как модель отвечает. Обновлённые веса могут усвоить факты из обучающих диалогов, случайно или намеренно, но эти этапы не надёжная замена широкому предобучению или поиску.
- Оценка — самое трудное. Предпочтения шумны, а судьи — модели; следующие заметки к этому возвращаются.
Что нужно запомнить#
- Модель, обученная на инструкциях, — это базовая архитектура с другими весами и шаблоном чата из специальных токенов ролей; без шаблона она склоняется к поведению базовой модели.
- SFT: функция потерь следующего токена на ответах ассистента в оформленных диалогах; данные — от людей или порождённые более сильной моделью (self-instruct, Alpaca).
- RLHF: ранжировать сэмплы, обучить модель вознаграждения Брэдли–Терри, оптимизировать вознаграждение минус KL относительно модели после SFT через PPO. Модель с RLHF на 1.3 млрд предпочли GPT-3 на 175 млрд.
- DPO: оптимум той же цели, записанный как функция потерь по политике, , без модели вознаграждения.
- Оценивать ассистентов попарными предпочтениями и бенчмарками с судьёй и следить за налогом на выравнивание.
Ноутбук#
week08_modern_LLM.ipynb. Номера ячеек считают все ячейки, включая текстовые, начиная с 1. Приведённые числа взяты из прогона, сохранённого в курсе; у ячеек, изменённых с тех пор под текущие версии библиотек, сохранённого выхода нет.
- Ячейки 6–11 запускают базовую контрольную точку Llama 3.2 1B на промпте с уравнением как вопрос и как текст для дополнения; сохранённые выходы — продолжения, описанные в заметке о GPT.
- Ячейки 13–16 запускают обученную на инструкциях контрольную точку на том же промпте в формате
messagesи печатают короткий ответ, который останавливается после . - Ячейки 18–20 печатают оба дерева модулей и подтверждают
str(pipe_pretrained.model) == str(pipe.model). - Ячейка 22 применяет шаблон чата токенизатора с
tokenize=Falseи печатает приведённую выше строку. - Ячейки 25–32 описывают SFT, Alpaca, RLHF и DPO со ссылками на тренеры TRL; ячейки 33–37 перечисляют MT-Bench, AlpacaEval и арены и дают изложенные выше советы по выбору модели.
Дальше#
Адаптированную или нет, модель нужно обслуживать, а модели, которые хорошо отвечают, велики. Следующая заметка сокращает память и задержку обученной модели, храня её веса в меньшем числе бит, выводит, что происходит с умножением матриц, когда операнды целые, и измеряет точность, память и скорость до и после.
Литература#
- L. Ouyang et al. Training language models to follow instructions with human feedback. NeurIPS, 2022. InstructGPT: SFT, моделирование вознаграждения, PPO и сравнение 1.3 млрд с 175 млрд.
- P. F. Christiano, J. Leike, T. B. Brown, M. Martic, S. Legg, D. Amodei. Deep Reinforcement Learning from Human Preferences. NeurIPS, 2017.
- N. Stiennon et al. Learning to summarize from human feedback. NeurIPS, 2020.
- R. Rafailov, A. Sharma, E. Mitchell, S. Ermon, C. D. Manning, C. Finn. Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS, 2023.
- Y. Wang et al. Self-Instruct: Aligning Language Models with Self-Generated Instructions. ACL, 2023.
- R. Taori et al. Alpaca: A Strong, Replicable Instruction-Following Model. Stanford CRFM, 2023.
- D. Cheng, Y. Gu, S. Huang, J. Bi, M. Huang, F. Wei. Instruction Pre-Training: Language Models are Supervised Multitask Learners. EMNLP, 2024.
- R. A. Bradley, M. E. Terry. Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons. Biometrika, 39, 1952.
- L. Zheng et al. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS, 2023.
- Hugging Face. TRL documentation. Тренеры SFT, модели вознаграждения, PPO и DPO.