От базовой модели к ассистенту
Модель сразу после предобучения — первого и самого большого этапа, предсказания следующего токена на огромном объёме сырого текста (глава 7), — блестящий имитатор и никудышный ассистент. Задайте ей вопрос — и она может ответить, а может дописать ещё три вопроса, потому что именно это было бы на странице, которую она себе «представляет». Вся эта глава о том, как закрыть этот разрыв удивительно небольшим дополнительным обучением, а затем дать модели способности, которые не помещаются в её веса: время подумать, документы для чтения и инструменты.
Если вы начинаете с этой главы, хватит двух фактов из предыдущих. Языковая модель читает текст как токены (слова или их кусочки) и по уже прочитанным токенам выдаёт вероятность для каждого возможного следующего (глава 1). А обучение — это пошаговая подстройка весов модели так, чтобы уменьшалась функция потерь: одно число, которое показывает, насколько ошибочны её предсказания (глава 7). Каждый этап ниже — тот же самый цикл, только с другими данными или другой функцией потерь.
Конвейер обучения
Современные ассистенты проходят несколько этапов. Первый забирает почти все вычисления; следующие — лишь крохи, но именно они определяют, как модель себя ведёт.
Предобучение
Данные. Триллионы токенов веб-страниц, книг, кода и статей.
Учится. Предсказывать следующий токен. Попутно модель усваивает грамматику, факты, программирование и многие приёмы рассуждения.
Почти все вычисления: недели и месяцы на тысячах GPU.
Дообучение с учителем
Дообучение с учителем (supervised fine-tuning, SFT), оно же обучение следованию инструкциям, — это обычное обучение предсказанию следующего токена, только на примерах диалогов. Модель видит только один поток токенов, поэтому, кто говорит, приходится отмечать прямо в этом потоке. Каждый диалог записывают со специальными токенами-маркерами — это шаблон чата:
Когда ассистентом пользуются, программа записывает шаблон до <|assistant|> и даёт модели продолжить; модель останавливается, когда пишет <|end|>. При SFT функцию потерь обычно считают только по токенам ассистента: модель учится писать ответы, а не предсказывать пользователей. Уже несколько десятков тысяч качественных примеров резко меняют поведение — это намекает, что SFT в основном открывает способности, которые у базовой модели уже есть, а не учит новым.
Настройка по предпочтениям: RLHF
SFT умеет только подражать. Кто-то должен написать идеальный ответ, а функция потерь не может сказать, что один неплохой ответ лучше другого неплохого. Между тем оценить ответ гораздо легче, чем написать идеальный. Обучение с подкреплением на основе отзывов людей (reinforcement learning from human feedback, RLHF) использует эту асимметрию в три шага:
- Собрать сравнения. Модель пишет два ответа на один запрос, а человек выбирает лучший.
- Обучить модель вознаграждения предсказывать этот выбор: она читает запрос и ответ и выдаёт одно число — награду. Обычно это копия LLM с выходом в одно число.
- Оптимизировать LLM под модель вознаграждения обучением с подкреплением (RL) — методом проб и оценок: модель пробует ответы, модель вознаграждения их оценивает, и обучение сдвигает модель к тем, что оценены высоко.
На шаге 2 используется модель парных предпочтений Брэдли — Терри: чем больше разрыв между двумя наградами, тем увереннее модель в том, что люди предпочтут ответ с большей:
Здесь — предпочтённый («победивший») ответ, — другой, а — сигмоида, : она сжимает любое число в вероятность от 0 до 1. Например, если модель вознаграждения даёт предпочтённому ответу 2,0, а другому 0,5, она предсказывает — 82% шансов, что человек выберет первый, — и потери равны : мало, исправлять почти нечего. Если бы она оценила их наоборот, вышло бы и потери около 1,7: большие потери — большая поправка. Попробуйте побыть разметчиком:
Пара 1/4 · запрос: Какая столица у Австралии?
Канберра.
Отличный вопрос! Это Сидней — самый большой и известный город страны 😊
Все веса начинаются с 0, поэтому каждая пара — угадывание 50 на 50. Выбирайте ответы, которые нравятся вам.
Сколько ног у паука?
Награды: 0.00 против 0.00
Затем наступает шаг 3: саму LLM обучают с подкреплением (классически — алгоритмом PPO, proximal policy optimization, который делает маленькие, «обрезанные» шаги) выдавать ответы, которые модель вознаграждения оценивает высоко, со штрафом за слишком сильный уход от SFT-модели . Обучаемую модель здесь называют политикой — правилом выбора ответов; — среднее по ответам, которые она выдаёт, KL измеряет, насколько далеко она ушла, а задаёт, насколько строго за это наказывают:
Штраф KL важен. Модель вознаграждения лишь приближает человеческий вкус, и политика, которую сильно оптимизируют под неё, находит её слепые пятна: ответы, которые получают высокую оценку, не будучи хорошими. Это называется взломом награды (reward hacking), и из-за него RLHF требует аккуратной настройки.
DPO: без модели вознаграждения
RLHF нужны модель вознаграждения, цикл сэмплирования и RL, и каждая из этих частей может сломаться. Прямая оптимизация предпочтений (direct preference optimization, DPO) (Rafailov и др., 2023) избавляется от большей их части с помощью алгебры. Для задачи выше лучшую возможную политику можно записать точной формулой. Если её перевернуть, она говорит: награда ответа равна , умноженной на логарифм того, во сколько раз политика делает этот ответ вероятнее, чем эталонная модель, плюс слагаемое, которое зависит только от запроса. Подставим такую награду в функцию потерь Брэдли — Терри: слагаемое, зависящее только от запроса, сокращается в разности, и остаётся функция потерь на вероятностях самой политики — без всякой модели вознаграждения:
Читается так: поднять вероятность предпочтённого ответа и опустить вероятность отвергнутого — оба относительно эталонной модели. Ни сэмплирования, ни отдельной модели вознаграждения, ни цикла RL — просто обучение с учителем на парах. DPO и множество его вариантов широко используются, особенно в открытых моделях.
Отзывы от ИИ и «конституции»
Человеческая разметка медленная и дорогая, а люди ещё и расходятся во мнениях. В RLAIF (обучение с подкреплением на основе отзывов ИИ) размечает другая модель: читает два ответа и говорит, какой лучше. Подход Anthropic под названием Constitutional AI делает критерии судьи явными — это короткий список письменных принципов, «конституция»; модель критикует и исправляет собственные ответы по этим принципам, а размеченные ИИ предпочтения затем обучают модель вознаграждения. Конвейер тот же, что у RLHF, меняется только источник меток — поэтому его дёшево масштабировать и легко проверить, каким ценностям модель учат.
Рассуждения: RL с проверяемыми наградами
Для математики, кода и логики есть сигнал лучше человеческого вкуса — правильный ли ответ. Тест (небольшая автоматическая проверка кода) либо проходит, либо нет; число либо совпадает с эталоном, либо нет. Обучение с подкреплением с проверяемыми наградами (RLVR) сэмплирует много попыток на задачу, награждает те, что заканчиваются верным проверяемым ответом, и сдвигает модель в их сторону.
Никто не объясняет модели, как рассуждать. Получив место, чтобы писать перед ответом, модели, обученные так, сами учатся разбивать задачи на шаги, проверять промежуточные результаты, замечать ошибки и возвращаться назад. Их «размышления» становятся длиннее по ходу обучения. Это и есть рассуждающие модели (reasoning models): они тратят на ответ дополнительные токены, а значит, и дополнительные вычисления.
GRPO: база — это сама группа
Награду саму по себе трудно истолковать: 0,6 — хороший результат на трудной задаче и слабый на лёгкой. Модели важно другое: получился ли ответ лучше или хуже её обычной попытки на этой задаче, поэтому каждую награду сравнивают с базой (baseline). Классический PPO обучает для этого вторую сеть, модель ценности (value model), которая оценивает эту базу. GRPO (group relative policy optimization), с помощью которого обучали DeepSeek-R1, обходится без модели ценности. Для каждой задачи он сэмплирует группу из ответов, оценивает их и использует саму группу как базу:
— преимущество ответа : насколько его награда выше средней по группе, делённое на разброс наград (стандартное отклонение, std). Затем каждый токен ответа становится вероятнее, если , и менее вероятным, если ; отсечение (clipping) из PPO и штраф KL к эталонной модели держат каждый шаг маленьким. Например, при ответах с наградами 1, 0, 0, 1 (верно, неверно, неверно, верно) среднее равно 0,5, а std — 0,5, так что преимущества равны +1, −1, −1, +1: два верных ответа становятся вероятнее, два неверных — реже.
Попробуйте на игрушечной политике, которая выбирает между четырьмя манерами ответа на 13 × 17. Проверка берёт итоговый ответ из \boxed{…} — метки, которой в математических наборах данных отмечают, где стоит ответ:
Задача: «Сколько будет 13 × 17?» Проверка ищет ответ внутри \boxed{…}.
Нажмите «Сгенерировать группу», чтобы получить 8 ответов текущей политики.
настоящая точность: 28% награда проверки: 28%
Стратегии
- по шагам
13·17 = 13·10 + 13·7 = 130 + 91 → \boxed{221}(85% верно) - коротко
13·17 ≈ 220 → \boxed{220}(45% верно) - без рамки
Это 221.(60% верно) - догадка
\boxed{200}(8% верно)
В этом рисунке спрятаны два урока:
- Нет разброса — нет сигнала. Если все ответы группы получили одинаковую награду (все верны или все неверны), среднее совпадает с каждой наградой, и все преимущества равны нулю, и шаг ничему не учит. Поэтому задачи для обучения подбирают трудными, но посильными для текущей модели.
- Взлом награды. Политика оптимизирует ту награду, которую ей дали, а не ту, которую вы имели в виду. Реальные примеры: модели правят юнит-тесты, чтобы те проходили, пропускают трудную часть задачи или пишут длинные уверенные ответы, которые обманывают модель-судью. Защита — аккуратные проверки, отложенные тесты и ограничение того, насколько далеко политика может уйти.
Дистилляция рассуждений
RL на большой модели дорог. Более дешёвый способ научить маленькую модель рассуждать — дистилляция (глава 13): дать сильной рассуждающей модели решить много задач, оставить цепочки, где итоговый ответ прошёл проверку, и дообучить на них маленькую модель обычным обучением с учителем. Та же идея — генерировать обучающие данные моделью и автоматически их фильтровать — теперь составляет большую долю данных для дообучения вообще; это называют синтетическими данными.
Вычисления во время ответа
Думать дольше — один из способов потратить больше вычислений на вопрос. Другой — сэмплировать несколько независимых ответов и выбрать ответ большинством голосов (это ещё называют самосогласованностью, self-consistency). Оба способа меняют скорость и деньги на точность. Попробуйте на известной задаче с подвохом:
«Бита и мяч вместе стоят 110 ₽. Бита на 100 ₽ дороже мяча. Сколько стоит мяч?»
по шагам: 91% сразу: 36%
Урок обобщается: голосование и поиск усиливают то, что модель и так делает чаще всего. Дополнительные вычисления при ответе окупаются поверх модели, чьи рассуждения в основном верны, — а именно такую модель и даёт RL на проверяемых задачах. Более сложные схемы оценивают кандидатов или отдельные шаги рассуждения отдельным верификатором или моделью вознаграждения и оставляют лучший.
Генерация с дополнением из поиска
Модель знает только то, что было в её обучающих данных, застывших на дате окончания обучения, и может выдумывать правдоподобные детали о том, что помнит наполовину. Генерация с дополнением из поиска (retrieval-augmented generation, RAG) сначала ищет факты:
- Разбить документы на фрагменты и превратить каждый в вектор (та же идея, что в главе 3, только модель обучена для поиска).
- Так же превратить в вектор вопрос пользователя.
- Найти фрагменты, чьи векторы ближе всего к вопросу, — обычно по косинусному сходству, мере того, насколько два вектора смотрят в одну сторону.
- Вставить эти фрагменты в промпт и попросить модель отвечать по ним.
- 1.00По пятницам в офис можно приходить с собакой, если она спокойная и на поводке.
- 0.98Офисного кота Пикселя гостям кормить нельзя.
- 0.44Места на парковке в гараже — кто первый приехал, того и место.
- 0.37Офис закрыт с 31 декабря по 8 января.
- 0.14Каждому положено 28 дней оплачиваемого отпуска в год.
- 0.05Расходы возмещаются в течение 14 дней после загрузки чека.
RAG делает ответы актуальными и проверяемыми (можно показать источники) и работает на закрытых данных, которых модель никогда не видела. Его слабое место — сам поиск: если нужный фрагмент не нашёлся, модель не сможет им воспользоваться. Рабочие системы сочетают векторный поиск с поиском по ключевым словам и моделью-переранжировщиком (reranker), которая заново оценивает найденные фрагменты и меняет их порядок, а длинные окна контекста (глава 12) позволяют включать больше фрагментов и крупнее.
Инструменты и агенты
Некоторые вещи лучше делать вне модели: считать, узнавать сегодняшнюю погоду, запускать код, обращаться к базе данных. Модели дообучают выдавать вызовы инструментов — структурированный текст, например JSON, который выполняет окружающая программа. Результат возвращается в контекст, и модель продолжает.
Контекст начинается с системного сообщения со списком инструментов, затем идёт вопрос пользователя. Модель не умеет ходить в интернет: она только предсказывает токены.
Агент — это тот же цикл, только с большим числом инструментов и шагов: читать файлы, запускать тесты, ходить в интернет, править код и решать, когда задача выполнена. Стандарты вроде Model Context Protocol (MCP) описывают инструменты в общем формате, чтобы любая модель могла работать с любым сервером инструментов.
Инженерия контекста
Контекст долго работающего агента забивается результатами инструментов, содержимым файлов и старыми репликами, а модели работают хуже, когда контекст становится длинным и захламлённым (глава 12). Поэтому немалая часть создания хорошего агента — решать, что модель видит на каждом шаге: подтягивать только нужные файлы, обрезать или пересказывать старый вывод инструментов, записывать заметки в файл и перечитывать их позже, поручать самостоятельные подзадачи суб-агентам со свежим контекстом. Это часто называют инженерией контекста (context engineering).
Всё держится на той же механике, что и остальной учебник: токены на входе, один предсказанный токен на выходе — и так снова и снова.
Итоги
- Предобучение даёт базовую модель, которая продолжает текст. Дообучение с учителем на диалогах превращает её в ассистента.
- RLHF обучает модель вознаграждения на парах человеческих предпочтений и оптимизирует LLM под неё на «поводке» KL; DPO получает похожий результат одной функцией потерь с учителем на тех же парах.
- RLAIF и «конституционные» подходы заменяют человеческие метки предпочтений моделью-судьёй, которая следует письменным принципам.
- RL с проверяемыми наградами учит модели рассуждать; GRPO оценивает каждый ответ относительно его группы, а проверка с изъяном провоцирует взлом награды.
- Дистилляция и синтетические данные передают способности большой модели, включая рассуждения, маленьким.
- Вычисления во время ответа (долгие рассуждения, голосование, верификаторы) покупают точность ценой лишних токенов и лучше всего работают, когда модель обычно права.
- RAG вставляет найденные документы в промпт; инструменты и агенты позволяют модели действовать через среду выполнения, а инженерия контекста держит то, что они видят, кратким и уместным.