Дообучение нейронных сетей
Материал из MachineLearning.
| | Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Imil Baltaniazov 11:49, 11 июля 2026 (MSD) |
Дообучение нейронных сетей (fine-tuning) — процесс адаптации параметров предварительно обученной модели к новой, обычно более узкой задаче путём продолжения обучения на данных этой задачи. Дообучение является ключевым этапом парадигмы трансферного обучения и на сегодняшний день представляет собой стандартный способ применения глубоких нейронных сетей к прикладным задачам — вместо обучения архитектуры с нуля.
Введение
Схема «предобучение + дообучение» стала доминирующей практикой в глубоком обучении по простой причине: обучение большой модели с нуля требует огромных объёмов размеченных данных и вычислительных ресурсов, которых часто нет в распоряжении конкретной прикладной задачи. Вместо этого модель сначала обучают на большом, как правило, общедоступном наборе данных (ImageNet для изображений, Wikipedia и Common Crawl для текстов), где она усваивает общие закономерности предметной области — контуры и текстуры для изображений, синтаксис и семантику для языка. Затем эта модель, уже обладающая содержательными внутренними представлениями, дообучается на существенно меньшем наборе данных, специфичном для целевой задачи.
Такой подход имеет два принципиальных преимущества по сравнению с обучением с нуля. Во-первых, он резко сокращает требуемый объём размеченных данных для целевой задачи: модель начинает не со случайной инициализации весов, а с параметров, уже кодирующих полезные закономерности. Во-вторых, он сокращает вычислительные затраты и время обучения, поскольку большая часть «тяжёлой» работы по извлечению общих признаков уже выполнена на этапе предобучения.
Дообучение стало практически повсеместным стандартом с распространением трансформерных архитектур и больших языковых моделей: модели типа BERT, GPT, ResNet, CLIP выпускаются как общедоступные предобученные чекпоинты, а подавляющее большинство прикладных систем строится путём их дообучения, а не обучения аналогичной по размеру архитектуры заново.
Постановка задачи
Пусть имеется модель с параметрами , обученная на большом исходном наборе данных
для решения некоторой исходной задачи (например, классификации на 1000 классов ImageNet или предсказания следующего токена на корпусе текстов). Требуется адаптировать эту модель к целевой задаче с набором данных
, который, как правило, существенно меньше исходного и может иметь другое распределение признаков, другое число классов или вовсе другой тип разметки.
Формально дообучение сводится к продолжению оптимизации параметров, инициализированных значением , на функции потерь целевой задачи:
Ключевое отличие от обучения с нуля — не в формуле, а в начальной точке оптимизации и, как правило, в существенно меньшей скорости обучения, поскольку задача состоит не в том, чтобы заново «выучить» представления, а в том, чтобы аккуратно скорректировать уже накопленные знания под особенности целевого распределения данных, не разрушив их.
Стратегии дообучения
Выбор конкретной стратегии дообучения определяется объёмом целевых данных, степенью их близости к исходному распределению и доступными вычислительными ресурсами.
Полное дообучение (full fine-tuning) — обновлению градиентным спуском подвергаются все параметры модели, включая самые ранние слои. Даёт наибольшую гибкость адаптации и, при достаточном объёме целевых данных, как правило, наилучшее итоговое качество. Требует, однако, хранения градиентов и состояний оптимизатора для всех параметров модели, что для современных моделей с миллиардами параметров может быть неподъёмно с точки зрения памяти.
Дообучение только последних слоёв (feature extraction, linear probing) — все слои, кроме последних (обычно — только классификационная «голова»), замораживаются: их веса не изменяются, через них лишь выполняется прямой проход. Обучению подвергается небольшое число параметров новой головы. Такой подход рассматривает предобученную сеть как фиксированный экстрактор признаков. Он существенно дешевле по вычислениям и памяти, но ограничен в качестве, если целевая задача существенно отличается от исходной по распределению данных.
Дообучение с частичной заморозкой — промежуточный вариант: замораживаются ранние слои сети (как правило, отвечающие за наиболее общие, низкоуровневые признаки — границы и текстуры в изображениях, базовые синтаксические закономерности в тексте), а более поздние слои, ближе к выходу, дообучаются вместе с новой головой. Постепенная разморозка слоёв (gradual unfreezing), начиная с последних и постепенно продвигаясь к более ранним по мере обучения, — практика, предложенная в методе ULMFiT (Howard & Ruder, 2018) и до сих пор используемая как эвристика для стабилизации дообучения.
Выбор между этими стратегиями напрямую связан с объёмом доступных данных целевой задачи и подробнее рассматривается в разделе о связи дообучения с объёмом данных.
Выбор скорости обучения
Скорость обучения (learning rate) — один из наиболее чувствительных гиперпараметров при дообучении. Слишком большая скорость способна быстро разрушить полезные представления, накопленные на этапе предобучения, — это явление иногда называют «забыванием» уже на первых шагах дообучения. Общая рекомендация — использовать существенно меньшую скорость обучения, чем при обучении с нуля: типичные значения при дообучении трансформеров лежат в диапазоне –
, тогда как обучение с нуля часто ведётся со скоростями порядка
.
Естественное развитие этой идеи — дифференциальные скорости обучения (discriminative learning rates), предложенные в том же ULMFiT: разным слоям сети назначаются разные скорости обучения, при этом более ранним, более «общим» слоям соответствует меньшая скорость, а более поздним, специфичным для задачи слоям (включая новую голову) — большая. Если пронумеровать слои от входа к выходу индексом , типичная схема задаёт скорость обучения слоя
как
где — скорость обучения последнего слоя, а
(типично около 0.9–0.95) — коэффициент затухания скорости при движении к более ранним слоям.
Дополнительно почти всегда используется разогрев скорости обучения (learning rate warmup) — постепенное увеличение скорости от малого значения до целевого в течение первых итераций дообучения, что снижает риск резкого разрушения предобученных представлений на старте, когда статистики оптимизатора ещё не накоплены, а также последующее плавное затухание скорости (linear или cosine decay) до конца обучения.
Регуляризация при дообучении
Поскольку целевой набор данных при дообучении, как правило, невелик, а модель обладает большой ёмкостью, риск переобучения на этапе дообучения существенно выше, чем при обучении на большом исходном наборе. Практические приёмы регуляризации при дообучении:
- Ранняя остановка (early stopping) — обучение прерывается при первом ухудшении метрики на валидационном наборе, а не по достижении фиксированного числа эпох, что особенно важно при малых целевых наборах данных, где переобучение наступает быстро.
- Уменьшение веса регуляризации — коэффициент weight decay и сила dropout, оптимальные для предобучения на большом наборе, зачастую избыточны для дообучения; их принято уменьшать, поскольку модель уже находится в разумной области пространства параметров и не нуждается в столь сильном сдерживании.
- Меньший размер батча — при малых целевых наборах данных использование меньшего батча увеличивает число шагов оптимизации за эпоху и вносит дополнительный стохастический шум в градиенты, что эмпирически способствует лучшей генерализации и снижает риск резкого переобучения на немногочисленных примерах.
- Регуляризация через близость к исходным весам — отдельный класс методов (например, L2-SP) добавляет к функции потерь штраф за отклонение текущих параметров от исходных предобученных значений
, явно ограничивая степень «дрейфа» модели от исходного решения.
Связь с объёмом данных
Решение о выборе стратегии дообучения и о том, оправдано ли дообучение вообще, определяется в первую очередь соотношением объёма целевых данных и степенью их сходства с данными, на которых проводилось предобучение. Удобно рассматривать четыре характерных случая:
- Много данных, высокое сходство с исходным распределением — предпочтительно полное дообучение: данных достаточно, чтобы безопасно адаптировать все слои, а близость распределений снижает риск катастрофического забывания.
- Много данных, низкое сходство — полное дообучение также оправдано, а в отдельных случаях объём данных может быть достаточен и для обучения с нуля, хотя дообучение обычно всё равно даёт выигрыш по скорости сходимости.
- Мало данных, высокое сходство — рекомендуется дообучение только последних слоёв (feature extraction) либо частичная заморозка: близость распределений позволяет полагаться на предобученные признаки без риска, а малый объём данных делает полное дообучение опасным с точки зрения переобучения.
- Мало данных, низкое сходство — наиболее сложный случай: полное дообучение рискует переобучиться на малом наборе, а заморозка ранних слоёв может оказаться неоптимальной, поскольку предобученные признаки плохо соответствуют новой предметной области. На практике здесь часто применяют частичную разморозку средних слоёв, сильную аугментацию данных и параметро-эффективные методы адаптации.
Общее эмпирическое правило: обучение с нуля становится предпочтительнее дообучения только тогда, когда целевой набор данных сопоставим по объёму с исходным набором предобучения либо когда предметная область целевой задачи настолько специфична (например, узкоспециализированные медицинские или спутниковые изображения), что предобученные признаки почти не переносятся.
Параметро-эффективные методы дообучения
С ростом размеров моделей — в первую очередь больших языковых моделей с миллиардами параметров — полное дообучение становится дорогостоящим не только по вычислениям, но и по памяти, поскольку требует хранения градиентов и состояний оптимизатора для каждого параметра. Это привело к развитию параметро-эффективных методов дообучения (parameter-efficient fine-tuning, PEFT), обновляющих лишь малую долю параметров модели или добавляющих небольшое число новых, при этом сохраняя основные веса замороженными.
Адаптеры (adapters, Houlsby et al., 2019) — небольшие обучаемые модули (обычно двухслойные MLP с узким «бутылочным горлышком»), вставляемые внутрь каждого слоя предобученной сети, как правило, после блока внимания и после полносвязного блока трансформера. При дообучении обновляются только веса адаптеров, основная сеть остаётся замороженной. Недостаток — дополнительная задержка на этапе инференса, так как адаптеры увеличивают глубину вычислительного графа.
Префиксное обучение (prefix-tuning, Li & Liang, 2021) и близкий к нему метод обучаемых промптов (prompt tuning) добавляют небольшое число обучаемых векторов («виртуальных токенов») к входу или к ключам и значениям механизма внимания на каждом слое, оставляя все исходные веса модели неизменными. Обучению подвергаются только эти добавленные векторы, что делает метод крайне экономным по памяти, хотя часто уступающим по качеству адаптерам и LoRA при сопоставимом числе обучаемых параметров.
LoRA (Low-Rank Adaptation, Hu et al., 2021) — один из наиболее распространённых на сегодняшний день методов PEFT для больших моделей, в частности для адаптации низкого ранга. Идея состоит в том, что изменение весовой матрицы слоя , необходимое для адаптации к целевой задаче, представляется в виде произведения двух матриц низкого ранга:
где — исходная, замороженная матрица весов, а обучению подвергаются только матрицы
и
существенно меньшей размерности, задаваемой рангом
(типичные значения — от 4 до 64). Это резко сокращает число обучаемых параметров (зачастую на два-три порядка по сравнению с полным дообучением) без дополнительной задержки на инференсе, поскольку после обучения матрицу
можно один раз сложить с
, полностью устранив дополнительные вычисления.
Сравнение параметро-эффективных методов между собой и с полным дообучением — в таблице ниже.
| Метод | Доля обучаемых параметров | Задержка на инференсе | Типичное качество | Особенности |
|---|---|---|---|---|
| Полное дообучение | 100% | Без изменений | Максимальное (при достаточных данных) | Требует наибольшей памяти под градиенты и оптимизатор |
| Дообучение последних слоёв | < 1% | Без изменений | Ниже при сильном расхождении задач | Минимальные вычислительные затраты |
| Адаптеры | 1–5% | Небольшое увеличение | Близко к полному дообучению | Модульность, лёгкость переключения между задачами |
| Prefix/Prompt-tuning | < 1% | Небольшое увеличение (за счёт длины последовательности) | Уступает адаптерам и LoRA на сложных задачах | Наиболее компактен по числу параметров |
| LoRA | 0.1–1% | Без изменений после слияния весов | Сопоставимо с полным дообучением на многих задачах | Наиболее распространён для больших языковых моделей |
Примеры из практики
Дообучение BERT для задач NLP. Предобученная на корпусах Wikipedia и BookCorpus модель BERT (Devlin et al., 2019) дообучается на конкретной задаче — классификации тональности текста, извлечении именованных сущностей, ответах на вопросы — путём добавления небольшой линейной головы поверх выходного представления специального токена [CLS] или токенов последовательности и полного дообучения всей модели на размеченном наборе целевой задачи, обычно за 2–4 эпохи с малой скоростью обучения порядка .
Дообучение ResNet для классификации медицинских изображений. Свёрточная сеть, предобученная на ImageNet, дообучается на существенно меньшем и специфичном наборе медицинских снимков (рентгеновские снимки, гистологические срезы). Из-за заметного расхождения распределений (естественные фотографии против медицинских изображений) и, как правило, ограниченного объёма размеченных данных типична стратегия частичной заморозки: ранние свёрточные слои, кодирующие общие низкоуровневые признаки (границы, текстуры), замораживаются, поздние слои и классификационная голова дообучаются, часто в сочетании с сильной аугментацией данных.
Дообучение CLIP для мультимодальных задач. Предобученная модель CLIP дообучается для узкоспециализированных задач сопоставления изображений и текста — например, для доменов с нетипичной для веб-данных лексикой (медицинские изображения с диагностическими описаниями, спутниковые снимки с географическими подписями). Ввиду масштаба модели и её мультимодальной природы для CLIP особенно часто применяются параметро-эффективные методы, в частности LoRA, накладываемые на энкодеры изображения и текста.
Дообучение с подкреплением из обратной связи человека (RLHF)
Особый и отдельно выделяемый случай дообучения — обучение с подкреплением из обратной связи человека (Reinforcement Learning from Human Feedback, RLHF), применяемое при доводке больших языковых моделей после этапа предобучения на предсказание следующего токена. Классическая схема RLHF (Ouyang et al., 2022, метод InstructGPT) состоит из трёх последовательных этапов:
- Дообучение с учителем (supervised fine-tuning, SFT) — модель дообучается на наборе демонстраций «инструкция — качественный ответ», подготовленных людьми-разметчиками, что задаёт базовый формат следования инструкциям.
- Обучение модели вознаграждения (reward model) — отдельная модель обучается предсказывать предпочтения людей: разметчики сравнивают пары ответов модели на одну инструкцию, и модель вознаграждения обучается присваивать более высокую оценку предпочитаемому ответу.
- Оптимизация политики — исходная дообученная на этапе SFT модель далее дообучается алгоритмом обучения с подкреплением (в оригинальной работе — PPO) так, чтобы максимизировать оценку, выдаваемую моделью вознаграждения, при этом штрафуется чрезмерное отклонение от политики SFT-этапа (обычно через KL-дивергенцию), что предотвращает вырождение в ответы, эксплуатирующие слабости модели вознаграждения.
RLHF отличается от рассмотренных выше стратегий тем, что обучающий сигнал для последнего этапа поступает не напрямую из размеченных пар «вход — выход», а опосредованно, через выученную модель предпочтений, что делает эту форму дообучения существенно сложнее с точки зрения инженерии и устойчивости обучения.
Ограничения и риски
- Катастрофическое забывание (catastrophic forgetting) — при дообучении, особенно полном и с высокой скоростью обучения, модель может утратить полезные знания, накопленные на этапе предобучения, если целевая задача существенно уже или отличается по распределению от исходной; это особенно критично, когда от модели впоследствии ожидается сохранение широких, «общих» способностей наравне со специализацией.
- Переобучение на малом целевом наборе — при малом объёме данных целевой задачи и высокой ёмкости модели риск переобучения существенно выше, чем на этапе предобучения; отсюда потребность в усиленной регуляризации, ранней остановке и, зачастую, в параметро-эффективных методах, ограничивающих число степеней свободы.
- Вычислительные затраты — полное дообучение крупных моделей требует значительных объёмов видеопамяти для хранения градиентов и состояний оптимизатора по всем параметрам, что при современных масштабах моделей становится узким местом и мотивирует использование параметро-эффективных методов.
- Чувствительность к гиперпараметрам — качество дообучения существенно зависит от выбора скорости обучения, длительности разогрева, стратегии заморозки слоёв; неудачный выбор способен либо разрушить предобученные представления, либо не дать модели адаптироваться к целевой задаче в достаточной мере.
- Утрата калибровки и смещение распределения ответов — в частности при RLHF отмечается риск чрезмерной оптимизации под модель вознаграждения (reward hacking), приводящей к ответам, формально получающим высокую оценку, но не отражающим подлинные предпочтения пользователей.
См. также
- Трансферное обучение
- Предобучение
- Большая языковая модель
- Трансформер
- Дистилляция моделей
- Адаптация низкого ранга
Литература
- Devlin J., Chang M.-W., Lee K., Toutanova K. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding // NAACL. — 2019.
- Howard J., Ruder S. Universal Language Model Fine-tuning for Text Classification (ULMFiT) // ACL. — 2018.
- Houlsby N., Giurgiu A., Jastrzębski S. et al. Parameter-Efficient Transfer Learning for NLP // ICML. — 2019.
- Li X.L., Liang P. Prefix-Tuning: Optimizing Continuous Prompts for Generation // ACL. — 2021.
- Hu E.J., Shen Y., Wallis P. et al. LoRA: Low-Rank Adaptation of Large Language Models // ICLR. — 2022.
- Ouyang L., Wu J., Jiang X. et al. Training Language Models to Follow Instructions with Human Feedback // NeurIPS. — 2022.
- Yosinski J., Clune J., Bengio Y., Lipson H. How Transferable Are Features in Deep Neural Networks? // NeurIPS. — 2014.
- Xuhong L., Grandvalet Y., Davoine F. Explicit Inductive Bias for Transfer Learning with Convolutional Networks (L2-SP) // ICML. — 2018.

