Журнал · Rit.work

Почему LLM забывает редкие токены и как это остановить в AdamW

Точечная настройка AdamW для выходной матрицы сократила забывание старых доменов без доступа к исходному корпусу и без потери нового знания.

Rit.work
Студия разработки
8 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

При адаптации LLM забывание старых навыков сосредоточилось в выходных представлениях токенов, которых почти нет в новом корпусе. В препринте, который не прошёл рецензирование, все числа получили сами авторы: точечная настройка AdamW сократила забывание на 39,4–67,9% без ухудшения обучения на новом домене. Это даёт командам защиту без доступа к исходному корпусу и без ограничений для всей модели.

Почему отсутствующие токены всё равно меняются

Выходная матрица превращает внутреннее представление контекста в оценки для всего словаря. На каждом шаге правильный токен получает положительный сигнал, а остальные — небольшие отрицательные градиенты, даже если они ни разу не встречаются как правильный ответ.

У частого токена эти сигналы чередуются: в одних примерах модель повышает его вероятность, в других понижает. У отсутствующего токена остаётся только слабое, но постоянное движение в одну сторону. Его строка в выходной матрице постепенно смещается, и модель хуже воспроизводит старые домены, где этот токен был нужен.

AdamW усиливает эффект из-за нормализации градиента. Оптимизатор делит накопленный градиент на корень из его второго момента. Если градиент мал, но сохраняет направление, его масштаб после деления приближается к обычному шагу обучения.

Параметр ε задаёт нижнюю границу знаменателя и может затормозить такие обновления. В стандартной конфигурации он равен 10^-8; в опытах его подняли до 10^-4 только для выходной матрицы. Остальные параметры продолжили обучаться с прежними настройками.

Как отделили забывание от полезного обучения

Сдвиг веса сам по себе не доказывает, что именно он испортил старый навык. Поэтому работу разных частей модели проверяли причинно: во время адаптации замораживали входные представления, выходную матрицу или основную часть трансформера, а затем сравнивали ошибку на старых и новых доменах.

Замораживание редко обновляемых строк выходной матрицы сохраняло старые знания и почти не мешало осваивать новый корпус. Аналогичное замораживание параметров внутри трансформера помогало слабее, хотя охватывало сопоставимый объём весов. Полезное обучение в основном происходило в других участках модели.

Риск можно оценить до запуска адаптации. Для этого новый корпус пропускают через исходный токенизатор и считают, какие токены старых проверочных доменов в нём редки или отсутствуют. В пределах одной базовой модели более бедный словарь корпуса соответствовал более сильному забыванию.

Метод проверяли на Pythia, Qwen, TinyLlama и OLMo размером от 160 миллионов до 12 миллиардов параметров. Корпуса охватывали корейский язык, код, математику и обучение по инструкциям; сравнивали продолженное предобучение и дообучение. Эффект сохранялся у моделей как с раздельными, так и с общими входными и выходными представлениями.

Работа относится прежде всего к адаптации на корпусах, чей словарь заметно отличается от исходного. При дообучении на данных из близкого распределения забывание могло переходить в основную часть модели, где замедление обновлений уже мешало усваивать новое.

Как это меняет план адаптации модели

Перед продолженным предобучением стоит добавить проверку словарного покрытия корпуса. Если новый язык или предметная область почти не используют значимую часть исходного словаря, выходную матрицу следует вынести в отдельную группу параметров AdamW и поднять для неё ε, не меняя оптимизатор для остальных весов.

Настройка не заменяет проверку на старых доменах. Её нужно сравнивать с базовым запуском одновременно по двум показателям: насколько снизилась ошибка на новом корпусе и насколько выросла на старом. При нестабильном обучении малой модели локальная защита не исправляла общий развал параметров.

Для моделей с общей таблицей входных и выходных представлений настройка затрагивает обе роли одной матрицы. Это не отменило эффект в Qwen, но делает вмешательство менее изолированным и требует отдельного контрольного запуска.

Метод дополняет повторное обучение на старых данных: в опыте с Qwen и корейским корпусом сочетание убрало 79,8% забывания. Он также важен для LoRA, если команда разрешает обновлять выходную голову: такой режим увеличивал забывание в 23 раза, а повышенный ε сдерживал сдвиг.

Исправлять матрицу после обучения поздно: редактирование уже смещённых строк возвращало менее 5% потерянного качества. Защиту нужно включать в оптимизатор до запуска адаптации; для готового контрольного пункта практический вывод сводится к повторному обучению.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу