GEO

Тюнинг по инструкциям

Тюнинг по инструкциям (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, DollyChatGPT, 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-как-судья на отложенных промптах - единственный способ проверить, что тюнинг по инструкциям действительно сработал.

Источники: