Ваша LLM после дообучения глупеет? Это катастрофа
Вы потратили недели на сбор датасета по медицинским документам. Запустили fine-tuning на Llama 3.1. Результат? Модель блестяще отвечает на вопросы о диагнозах, но забыла, как складывать два числа. Поздравляю, вы столкнулись с катастрофическим забыванием - проклятием всех, кто кастомизирует большие языковые модели.
Это не баг. Это фундаментальная проблема нейросетей: при обучении на новых данных веса модели перезаписываются, стирая старые знания. Как будто после курса французского вы забываете родной язык.
Катастрофическое забывание особенно опасно для корпоративных LLM. Представьте: вы обучили модель на внутренних отчетах, а она перестала понимать базовый английский. Прощай, инвестиция в несколько миллионов рублей.
Nova Forge: не просто сервис, а философия сохранения интеллекта
В марте 2026 года AWS анонсировала Nova Forge - сервис для управляемого fine-tuning с одной ключевой фичей: он не дает моделям тупеть. Внутри не магия, а продуманная методология смешивания данных (data mixing).
Nova Forge автоматически подмешивает общие данные (типа GSM8K для математики, Squad для понимания контекста) к вашим специализированным датасетам. Пропорция? 70% ваших данных, 30% общих. Именно такая смесь сохраняет общий интеллект модели, пока она учится новому.
PEFT или full-rank SFT? Неправильный вопрос
Вечные дебаты: использовать ли Parameter-Efficient Fine-Tuning (LoRA, QLoRA) или полное обновление весов? На 2026 год ответ: зависит от задачи, но смешивание данных критично для обоих подходов.
| Метод | Риск забывания | Спасение через смешивание |
|---|---|---|
| Full-rank SFT | Высокий. Все веса меняются. | Обязательно. Без этого модель деградирует за 1-2 эпохи. |
| PEFT (LoRA) | Средний. Меняются только адаптеры. | Все равно нужно. Адаптеры тоже могут перекрыть важные веса. |
| QLoRA (4-bit) | Низкий, но есть. | Рекомендуется для сложных задач. |
Мой опыт: если у вас меньше 10,000 примеров - берите QLoRA. Больше - можно full-rank, но только со смешиванием. Nova Forge использует гибрид: full-rank для верхних слоев, PEFT для нижних. Умно.
Как смешивать данные руками: пошаговый план без Nova Forge
Nova Forge - удобно, но дорого. Если хотите сделать сами, вот рецепт. Работает с любыми моделями 2026 года: от DeepSeek-R1 до Gemini 2.5 Pro.
1 Соберите два датасета
Первый - ваши специализированные данные (допустим, юридические документы). Второй - общие данные для поддержания интеллекта. Где взять второе? Варианты:
- OpenAssistant Conversations (диалоги)
- GSM8K (математические задачи)
- Кусок The Pile или C4 (общий текст)
- Собственные логи чата модели до дообучения
Размер общего датасета: 20-30% от вашего специализированного. Меньше - бесполезно. Больше - будете учить общее, а не специфику.
2 Перемешайте на уровне батчей
Не делайте 70% ваших данных, потом 30% общих. Перемешивайте в каждом батче. Вот код на PyTorch:
from torch.utils.data import DataLoader, ConcatDataset
# Ваши датасеты
specialized_dataset = YourLegalDataset()
general_dataset = GeneralIntelligenceDataset()
# Соединяем и перемешиваем
combined_dataset = ConcatDataset([specialized_dataset, general_dataset])
dataloader = DataLoader(combined_dataset, batch_size=16, shuffle=True)
# Каждый батч будет содержать случайную смесь
3 Настройте лосс-функцию
Здесь хак: взвешивайте лосс для общих данных сильнее. Почему? Потому что модель и так хорошо их знает, и малейшее отклонение - сигнал забывания.
def custom_loss(output, target, is_general_data):
base_loss = F.cross_entropy(output, target)
if is_general_data:
# Усиливаем лосс для общих данных в 1.5 раза
return base_loss * 1.5
return base_loss
4 Контролируйте забывание в реальном времени
Не ждите конца обучения. После каждой эпохи тестируйте модель на простых задачах: арифметика, логика, общие знания. Если качество падает более чем на 5% - увеличьте долю общих данных.
Инструмент для мониторинга: Hugging Face Accelerate + WandB. Настройте дашборд с двумя кривыми: специализированные метрики и общие метрики. Они должны расти вместе.
Типичные ошибки, которые сведут на нет все усилия
- Смешивание только в начале обучения. Как будто выпили витамины раз в год и ждете эффекта. Смешивать нужно постоянно.
- Использовать только текстовые общие данные для кодогенерации. Если дообучаете CodeLlama, смешивайте с общими кодоваями (например, из CodeSearchNet).
- Игнорировать лоботомические слои. В моделях 2025-2026 годов есть слои, которые при дообучении "убивают" здравый смысл. Их нужно зафризить первыми.
- Слишком высокий learning rate. Для смешанных данных LR должен быть на 30% ниже обычного. Иначе модель "перепрыгнет" в область, где забывает все.
Стоит ли использовать Nova Forge или делать самому?
Если у вас команда из 1-2 человек и нет времени на эксперименты - Nova Forge сэкономит месяцы. Сервис стоит от $5000 в месяц, но считайте это страховкой от катастрофического забывания.
Если есть инженеры и вы любите контроль - делайте сами. Купите две RTX 4090 и настройте pipeline. Мой выбор: Unsloth для эффективного обучения плюс собственная логика смешивания.
Что будет дальше? Прогноз на 2027 год
Катастрофическое забывание останется проблемой, но появятся новые методы. Уже сейчас в Entropy-Adaptive Finetuning используется адаптивное смешивание на основе энтропии предсказаний. Чем увереннее модель в общих знаниях, тем меньше ей нужно напоминаний.
Мой прогноз: через год мы будем использовать не статическое смешивание 70/30, а динамическое. Модель сама будет запрашивать, какие знания она начинает забывать. Это превратит fine-tuning из грубой силы в диалог с ИИ.
А пока - смешивайте данные. Как повар смешивает специи. Слишком много специализации - и блюдо несъедобно. Слишком много общего - и оно безвкусно. Найдите свой баланс.