Как обучают модели (и почему вы не будете)
Каждая чат-модель, которую вы можете скачать, прошла один и тот же трёхстадийный конвейер. Стадию один вы почти наверняка запускать не будете — это территория датацентров, — но дешёвые кузены стадий два и три вам, возможно, подвластны. Знание стадий объясняет поведение base против instruct, почему модели галлюцинируют и что на самом деле представляет собой «смерженная» модель на Hugging Face.
Стадия 1: предобучение — дорогая часть
Одна цель на немыслимом масштабе: предсказывать следующий токен по триллионам токенов веб-текстов, кода и книг. Здесь знания и навыки входят в веса, и сюда уходит подавляющее большинство вычислений.
| Что | Грубый масштаб (порядок величины) |
|---|---|
| Данные | 10–30T токенов для современных семейств |
| Железо | тысячи GPU-месяцев; фронтирные прогоны занимают кластеры месяцами |
| Стоимость | ~$1M–$10M+ за 7B; $10M–$100M+ за класс 70B; о фронтирных прогонах ходят слухи о куда больших суммах |
| Результат | базовая модель — автокомплит формы интернета, без поведения ассистента |
Результат — базовая модель: блестящая в продолжении, бесполезная как ассистент. Задали вопрос — она отвечает... и продолжает дальше другим вопросом, списком, разрывом страницы, потому что так устроен текст в интернете.
Стадия 2: дообучение с учителем (SFT)
От десятков тысяч до нескольких миллионов курируемых пар (инструкция → ответ), несколько GPU-дней. Ошибка округления на фоне предобучения, но она перепрошивает поведение: ответь на инструкцию, в полезном формате, затем остановись. Это стадия, превращающая базовую модель в то, с чем можно беседовать.
Стадия 3: настройка по предпочтениям
- RLHF: люди ранжируют пары ответов; модель вознаграждения учит ранжирование; политика оптимизируется против вознаграждения (PPO). Классический рецепт, тяжёлая машинерия.
- DPO: пропускает модель вознаграждения и оптимизирует пары предпочтений напрямую. Проще, стабильнее, фаворит опенсорса.
- Эффект: стиль, полезность, отказы, лучше откалиброванные утверждения. А ещё подхалимство — модель учится, что люди награждают согласие.
Как выглядят данные SFT — обычный JSONL пар инструкция/ответ, ничего экзотического:
{"instruction": "Summarize the changelog in three bullets.", "response": "- Adds ..."}
{"instruction": "답변을 존댓말로 작성하세요.", "response": "네, 알겠습니다 ..."}
Тысячи-миллионы таких, несколько эпох — и базовая модель учит формат ассистента.
Те же веса, разные стадии
prompt: "Write a haiku about GPUs."
base (после стадии 1):
"Write a haiku about GPUs.
Write a sonnet about CPUs.
1. Choose your topic carefully..." ← продолжает документ
instruct (стадии 1+2+3):
"A thousand cores wake,
each chasing one quiet token—
fans hold their breath." ← отвечает, форматирует, останавливается
Суффикс репозитория подсказывает стадию: голое имя = base; -instruct / -it / -chat = дообучена (см. параметры).
Ещё один термин: отсечка знаний — дата сбора корпуса предобучения. Спросите о чём-то более позднем — получите либо честное «не знаю», либо, хуже, уверенную выдумку; и то и другое — корректное поведение для замороженных весов (что такое LLM).
Обучение против дообучения: разница около 1000×
| Предобучение | LoRA-дообучение | |
|---|---|---|
| Данные | 10^12–10^13 токенов | 10^6–10^9 токенов |
| Обновляемые параметры | все | меньше 1–2% (малые матрицы-адаптеры) |
| Железо | кластер | одна GPU |
| Время | недели–месяцы | часы–дни |
| Стоимость | $M–$100M+ | $0–$100 в аренду |
| Зачем | знания + навыки | стиль, формат, поведение в узкой области |
| Риск | нестабильные прогоны лосса, испорченные чекпоинты | переобучение на крошечном датасете |
| Режим отказа | тихие баги данных, найденные месяцами позже | катастрофическое забывание общих навыков |
| Воспроизводимость? | редко (данные не публичны) | да (датасет лежит в репозитории) |
| Источник данных | публичный веб, код, книги, лицензированные архивы | ваши промпты и идеальные ответы |
| Кто может | хорошо профинансированные лаборатории | вы, в эти выходные |
Дообучение крутит ручки; оно не добавляет знаний. Научить 7B тону вашей компании: LoRA, один вечер. Научить её вашим 50k внутренним документам: это ретривал, а не обучение (RAG, дообучение).
Что дообучение может и чего не может — чтобы целиться правильно:
- Может: формат вывода, тон, терминология, стиль отказов, синтаксис вызова инструментов, надёжное выполнение узкой задачи.
- Может: дистиллировать одну узкую задачу из большой модели в маленькую.
- Не может (надёжно): добавить новые факты, починить слабое рассуждение, расширить отсечку знаний, сделать маленькую модель большой.
- Правило: если проблема «не знает» — ретривал; если «ведёт себя не так» — дообучение.
Чекпоинты, мержи и то, что вы скачиваете
- Обучение сохраняет чекпоинты по пути; релизы — обычно финальные веса instruct-стадии: вы получаете готового ассистента, а не процесс его создания.
- «Мерж» усредняет или интерполирует несколько дообучений одной базовой модели (model soups). Обучения не происходит; это арифметика весов, которая часто попадает между родителями. Популярно на Hugging Face, дёшево, изредка превосходно.
- Неясная родословная означает неясную лицензию: мержи наследуют условия всех родителей (открытые веса против закрытых API).
- Базовые веса под чат-моделью иногда тоже публикуются — берите их только для задач дополнения или как субстрат дообучения.
- Почему открытые релизы останавливаются на финальной стадии: данные предобучения и промежуточные чекпоинты — дорогие конкурентные активы; готовые веса — демо.
- Комьюнити instruct-модели делятся рецептами и датасетами пост-обучения, поэтому столько из них взаимозаменяемы: одна база, один и тот же сценарий стадий 2/3.
- Предпочитайте релизы, где карточка модели перечисляет данные и стадии; задокументированный финальный чекпоинт стареет лучше, чем разрекламированный.
Связанные разделы: дообучение · RAG · открытые веса против закрытых API · параметры