Тюнинг по инструкциям
Тюнинг по инструкциям (instruction tuning) - это процесс пост-обучения, при котором дообучение базовой LLM проводится на тысячах пар (инструкция, желаемый ответ), чтобы она научилась следовать инструкциям на естественном языке, а не просто продолжать текст. Это тот шаг, который превращает сырую языковую модель, хорошо предсказывающую следующее слово, в ассистента, понимающего "суммируй это", "переведи на корейский" или "напиши SQL-запрос".
Тюнинг по инструкциям (instruction tuning) - это процесс пост-обучения, при котором дообучение базовой LLM проводится на тысячах пар (инструкция, желаемый ответ), чтобы она научилась следовать инструкциям на естественном языке, а не просто продолжать текст. Это тот шаг, который превращает сырую языковую модель, хорошо предсказывающую следующее слово, в ассистента, понимающего "суммируй это", "переведи на корейский" или "напиши SQL-запрос".
Почему это важно
Базовой моделью, обученной только предсказанию следующего токена, на удивление трудно пользоваться. Спросите сырую базовую модель GPT-3 "Какая столица Франции?", и она может ответить "Какая столица Италии? Какая столица Испании?", продолжая шаблон похожих вопросов, а не отвечая. Тюнинг по инструкциям изменил это. Google FLAN (2021), OpenAI InstructGPT (2022) и Claude от Anthropic использовали тюнинг по инструкциям, чтобы создать модели, которые действительно отвечают. Каждая современная чат-ориентированная LLM - GPT-4, Claude, Gemini, Llama Instruct, Mistral Instruct - прошла тюнинг по инструкциям. Понимание этого шага объясняет, почему две модели с похожими базовыми возможностями могут ощущаться в работе кардинально по-разному.
Как это работает
1. Сбор данных с инструкциями: Люди пишут (или курируют) тысячи пар "инструкция-ответ" по самым разным задачам - суммаризация, вопросы и ответы, программирование, перевод, математика, творческое письмо, рассуждения.
2. Единообразное форматирование: Каждый пример следует структуре вроде:
### Instruction:
Summarize the following article in 3 bullets.
### Input:
[article text]
### Response:
- point 1
- point 2
- point 3
3. Контролируемое дообучение (SFT): Базовая модель обучается со стандартной функцией потерь предсказания следующего токена на этих отформатированных парах. Модель усваивает, что после "### Instruction: ... ### Response:" она должна сгенерировать желаемый ответ.
4. Опциональное многозадачное смешивание: Датасеты вроде FLAN, T0 и Dolly комбинируют сотни типов задач, чтобы модель обобщала и на невиданные ранее инструкции.
5. Оценка на отложенных инструкциях: Измеряется, следует ли модель новым инструкциям, которые она никогда не видела во время тюнинга.
Тюнинг по инструкциям против дообучения и RLHF
| Аспект | Дообучение | Тюнинг по инструкциям | RLHF |
|---|---|---|---|
| Данные | Примеры для конкретной задачи | Разнообразные пары (инструкция, ответ) | Сравнения человеческих предпочтений |
| Функция потерь | Предсказание следующего токена | Предсказание следующего токена | Модель вознаграждения + PPO |
| Цель | Специализация на одной задаче | Общее следование инструкциям | Согласование с человеческими предпочтениями |
| Пример | Модель, дообученная только на юридических контрактах | FLAN, Alpaca, Dolly | ChatGPT, Claude |
| Сложность | Легко | Средне | Трудно |
На практике современные чат-модели проходят все три этапа: базовое предобучение → тюнинг по инструкциям (SFT) → RLHF (или DPO/конституционный ИИ). Тюнинг по инструкциям - это средний слой, точка, в которой модель становится пригодной к использованию, но еще не согласована с предпочтениями вроде полезности, безопасности и честности.
Известные модели с тюнингом по инструкциям
FLAN-T5 (Google, 2022): Одна из первых моделей с тюнингом по инструкциям с открытым исходным кодом. Показала, что модель на 3 млрд параметров с тюнингом по инструкциям может превзойти модель на 175 млрд параметров без него.
Alpaca (Stanford, 2023): Дообучили Llama 7B на 52 тыс. примеров инструкций, сгенерированных GPT-3.5. Продемонстрировала, что тюнинг по инструкциям дешев и эффективен даже для небольших моделей.
Dolly (Databricks, 2023): Дообучена на 15 тыс. написанных людьми инструкций. Доказала, что качественные данные побеждают количество.
Llama Instruct / Mistral Instruct: Версии с открытыми весами и тюнингом по инструкциям, выпущенные вместе с их базовыми моделями.
Open-Instruct и Tulu (AI2): Исследовательские модели с тюнингом по инструкциям, делающие упор на прозрачность.
Компромиссы
Качество данных > количество: 15 тыс. тщательно написанных примеров могут превзойти 500 тыс. автоматически сгенерированных. Это показало сравнение Alpaca и Dolly.
Узкий против широкого охвата: Покрытие большего числа типов задач улучшает обобщение, но может ухудшить производительность на любой отдельной задаче.
Чувствительность к формату: Модели с тюнингом по инструкциям ожидают определенный формат промпта. Использование неправильного заметно снижает производительность.
Риск галлюцинаций: Если данные с инструкциями содержат неподкрепленные ответы, модель учится уверенно выдумывать.
Стоимость: От нескольких сотен до нескольких тысяч долларов на время работы GPU для небольших моделей; гораздо больше для передового масштаба.
Частые ошибки
Путать его с RLHF: Это разные шаги. Модель может пройти тюнинг по инструкциям без RLHF (и многие открытые модели именно так), но при этом упустит согласование с предпочтениями.
Использовать сырую базовую модель как чат-модель: Базовые модели ненадежно следуют инструкциям. Для задач ассистента всегда используйте вариант с тюнингом по инструкциям или чат-вариант.
Смешивать форматы промптов между моделями: У каждой модели с тюнингом по инструкциям свой ожидаемый формат. Формат Llama - не формат Mistral и не формат OpenAI.
Обучать на собственной области и терять общие способности: Узкое дообучение поверх модели с тюнингом по инструкциям может стереть способность следовать инструкциям. Используйте LoRA и проводите широкую оценку.
Забывать про оценку: Человеческое суждение или LLM-как-судья на отложенных промптах - единственный способ проверить, что тюнинг по инструкциям действительно сработал.
Источники: