Тонкая настройка
Материал из MachineLearning.
Тонкая настройка (fine-tuning) — в контексте глубокого обучения и обработки естественного языка это процесс адаптации предварительно обученной (pre-trained) нейронной сети к решению конкретной прикладной задачи. В отличие от обучения с нуля, тонкая настройка использует веса, уже содержащие обобщённые знания о структуре данных, и заключается в их дообучении на размеченном датасете целевой задачи.
Этот подход является краеугольным камнем современного трансферного обучения. Он позволяет достигать высокого качества на задачах с ограниченным объёмом данных, существенно сокращая вычислительные затраты по сравнению с полным обучением больших моделей [1][1].
Терминология и базовые понятия
- Предобучение (pre-training): Этап обучения модели на больших неразмеченных (или слаборазмеченных) корпусах данных. Цель — изучить универсальные признаки, статистические закономерности и представления.
- Целевая задача (downstream task): Прикладная задача (классификация, генерация текста, детекция объектов), для которой адаптируется модель.
- Скорость обучения (learning rate): Один из наиболее критичных гиперпараметров при тонкой настройке.
- Катастрофическое забывание (catastrophic forgetting): Феномен, при котором модель, дообучаясь на новой задаче, резко теряет способность решать задачи, на которых обучалась ранее [1].
Исторический контекст
Концепция тонкой настройки возникла как развитие идеи трансферного обучения. В ранних работах, например, при использовании свёрточных сетей (CNN) в компьютерном зрении, практиковалась заморозка нижних слоёв, которые отвечали за общие признаки (края, текстуры), и обучение только верхних, специфичных для задачи [1].
Прорыв произошёл с появлением больших языковых моделей (LLM), таких как BERT и GPT. Стало очевидно, что полное переобучение таких моделей с сотнями миллиардов параметров для каждой новой задачи невозможно из-за колоссальных затрат памяти и времени. Это стимулировало развитие методов эффективной тонкой настройки [1][1].
Математическая постановка
Пусть дана предобученная модель с параметрами . В процессе тонкой настройки на целевом датасете
мы ищем новые параметры
, минимизирующие функцию потерь
:
При классической (полной) тонкой настройке начальное приближение задаётся как , и далее применяется стохастический градиентный спуск (SGD) или его адаптивные варианты (Adam, AdamW) для обновления всех параметров.
Обновление весов (SGD)
Шаг обновления весов на каждой итерации:
где — скорость обучения. Ключевое отличие от обучения с нуля заключается в выборе
: при тонкой настройке она обычно на порядок (иногда на два) меньше, чтобы не разрушить полезные признаки, выученные на этапе предобучения [1].
Основные стратегии тонкой настройки
Существует спектр стратегий, от самых ресурсоёмких до самых лёгких.
1. Извлечение признаков (Feature Extraction): Модель используется как фиксированный экстрактор признаков. Предобученные веса замораживаются, а обучению подвергается только классификационная "голова" (один или несколько полносвязных слоёв), добавленная поверх энкодера [1]. 2. Полная тонкая настройка (Full Fine-Tuning): Все веса модели обновляются. Требует больших вычислительных ресурсов, но может дать максимальную точность [1]. 3. 'Послойная заморозка (Layer-wise Freezing): Замораживаются нижние (ранние) слои, отвечающие за общие признаки, и обучаются только верхние слои. Эвристика основана на том, что разные слои изучают признаки разной степени абстракции [1]. 4. 'Постепенное размораживание (Gradual Unfreezing): Итеративная стратегия, часто используемая в NLP. Начинают с обучения только верхнего слоя. После его сходимости размораживают следующий слой, продолжая обучение всей сети, и так далее, пока не будут дообучены все слои. Это помогает стабилизировать процесс и избежать катастрофического забывания [1].
Выбор скорости обучения и регуляризация
Выбор гиперпараметров критичен для успешной тонкой настройки:
- Скорость обучения (
): Рекомендуется использовать значительно меньшую скорость обучения, чем при обучении с нуля (например, для моделей типа BERT —
против
при обучении с нуля) [1]. Использование слишком высокой скорости обучения приводит к катастрофическому забыванию — "перезаписи" полезных знаний из предобучения [1].
- Планировщик скорости обучения (Schedule): Часто применяют линейный или косинусный "отжиг" (decay) с периодом "прогрева" (warm-up), когда скорость обучения линейно возрастает от малого значения до базового в течение первых шагов обучения [1].
- Регуляризация: Используются методы регуляризации, такие как weight decay и dropout, для предотвращения переобучения на малом целевом датасете.
Параметрически эффективная тонкая настройка (PEFT)
Параметрически эффективная тонкая настройка (Parameter-Efficient Fine-Tuning, PEFT) — это семейство методов, которые обновляют лишь небольшое подмножество параметров модели (или вводят новые обучаемые параметры), оставляя основную часть модели замороженной [1][1]. Это позволяет адаптировать модели с миллиардами параметров на одном GPU.
LoRA (Low-Rank Adaptation)
LoRA — наиболее популярный метод PEFT. Его основная идея заключается в том, что изменение весов при адаптации модели имеет низкий ранг [1].
Для предобученной матрицы весов обновление представляется в виде произведения двух низкоранговых матриц:
где ,
, и ранг
. Матрица
заморожена, а обучаются только
и
. Во время вычислительного вывода матрицы
и
могут быть объединены с
, что не создаёт дополнительной задержки (inference latency) [1].
LoRA позволяет сократить количество обучаемых параметров в 10 000 раз и снизить потребление GPU-памяти в 3 раза по сравнению с полной тонкой настройкой, достигая сравнимого или лучшего качества [1][1].
Адаптеры (Adapters)
Метод, при котором между слоями модели вставляются дополнительные небольшие нейронные сети ("адаптеры") [1]. Обучаются только параметры адаптеров, а веса исходной модели фиксированы. Основной недостаток — небольшое увеличение задержки при выводе из-за последовательного прохождения через адаптеры.
Другие методы PEFT
- Промпт-тюнинг (Prompt Tuning) и Префикс-тюнинг (Prefix Tuning): Вводят обучаемые "виртуальные токены" в начало входной последовательности.
- BitFit: Обновляются только векторы смещения (bias) в модели, что является крайне эффективным и простым методом [1].
Катастрофическое забывание и методы борьбы
Катастрофическое забывание — это резкая деградация производительности на исходных задачах в процессе адаптации к новой. Это фундаментальная проблема, возникающая из-за того, что градиенты для новой задачи "перезаписывают" веса, важные для старых [1].
Исследования показывают, что при обучении на узкоспециализированном датасете (например, математика) точность на общих задачах может упасть с 81% до 16% [1]. Методы борьбы включают:
- Смешанное обучение (Mixed Training): Перемешивание данных целевой задачи с данными из общего домена. Даже небольшой процент данных общего домена (около 6%) служит эффективной регуляризацией, предотвращающей забывание [1].
- Elastic Weight Consolidation (EWC): Регуляризационный метод, который добавляет к функции потерь штраф, пропорциональный важности весов для предыдущей задачи [1].
- Использование PEFT: Методы типа LoRA ограничивают количество обновляемых параметров, что само по себе служит хорошей защитой от разрушения общего представления модели [1][1].
Сравнение с RAG (Retrieval-Augmented Generation)
Часто возникает вопрос: что выбрать — тонкую настройку или Retrieval-Augmented Generation (RAG)? Оба метода адаптируют модель под специфический домен, но делают это принципиально по-разному [1][1].
| Критерий | Тонкая настройка (Fine-Tuning) | RAG |
|---|---|---|
| Принцип работы | Изменяет веса модели, встраивая знания внутрь модели. | Оставляет модель неизменной, подставляя в запрос актуальный контекст из базы знаний. |
| Свежесть данных | Статична: требует переобучения для обновления знаний. | Динамична: всегда использует актуальные данные из индекса. |
| Затраты на старте | Высокие (требуется GPU-время, подготовка данных). | Средние (создание индекса, настройка ретривера). |
| Эксплуатационные расходы | Могут быть ниже (меньше токенов в запросе) | Выше (больше токенов на входе) [1]. |
| Атрибуция и доверие | Невозможна (модель — "чёрный ящик"). | Возможна (можно указать источник в ответе). |
| Стиль и тон ответа | Отлично подходит для адаптации стиля, тона, терминологии. | Практически не влияет на стиль, зависит от базовой модели. |
| Галлюцинации | Выше риск, особенно для редких фактов. | Ниже риск, так как ответ строится на основе предоставленных документов [1]. |
Вывод: Для задач, требующих точного знания фактов и атрибуции, предпочтительнее RAG. Для адаптации стиля, тона и специализированной терминологии — тонкая настройка. В сложных сценариях наилучший результат даёт гибридный подход (RAG + Fine-Tuning) [1][1].
Применения
Тонкая настройка широко применяется в различных областях:
- Компьютерное зрение: Адаптация моделей (например, ViT, SAM) под медицинские изображения, спутниковые снимки или задачи промышленного контроля дефектов [1][1].
- Обработка естественного языка (NLP): Создание чат-ботов для узких предметных областей (юриспруденция, медицина), анализ тональности, классификация текстов [1].
- Мультимодальные модели: Адаптация моделей типа LLaVA или GPT-4V для работы с особенными визуальными доменами (например, микроскопия, хирургия), где стандартное предобучение недостаточно [1].
Ограничения и открытые вопросы
1. Вычислительные затраты (для полной тонкой настройки): Несмотря на развитие PEFT, полная настройка больших моделей остаётся дорогостоящей [1]. 2. Катастрофическое забывание: Остаётся серьёзной проблемой, особенно при последовательном обучении (continual learning) [1]. 3. Переобучение (Overfitting): Высокий риск при малых целевых датасетах. Требуется аккуратная регуляризация [1]. 4. Нестабильность: Тонкая настройка чувствительна к выбору гиперпараметров (скорость обучения, размер батча) [1]. 5. Отсутствие теоретического фундамента: Несмотря на успехи, до сих пор нет полного теоретического понимания, почему те или иные стратегии работают лучше, хотя есть гипотеза о "низкой внутренней размерности" адаптации [1].
Практические рекомендации
- Начинайте с PEFT: Если у вас ограничены ресурсы, начинайте с методов LoRA или BitFit. Они часто дают результат, сравнимый с полной настройкой [1].
- Используйте малую скорость обучения: Обычно на 1-2 порядка меньше, чем при обучении с нуля (для моделей-трансформеров —
или
) [1].
- Применяйте прогрева (warm-up) скорости обучения для стабилизации процесса.
- Контролируйте качество на валидационной выборке, чтобы вовремя остановить обучение и предотвратить переобучение.
- Используйте смешанное обучение, если боитесь катастрофического забывания, даже если целевая задача узкая [1].
- Подумайте о RAG, если ваша задача — поиск и предоставление точных фактов, а не адаптация стиля [1][1].
См. также
- Трансферное обучение
- Предобучение
- Обучение представлений
- LoRA
- RAG
- Катастрофическое забывание
- Параметрически эффективная тонкая настройка
Примечания
Литература
- Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., & Chen, W. (2022). LoRA: Low-Rank Adaptation of Large Language Models. *ICLR*.
- Wang, L., Chen, S., Jiang, L., et al. (2024). Parameter-efficient fine-tuning in large language models: a survey of methodologies. *Artificial Intelligence Review*, 58.
- Xin, Y., Luo, S., Zhou, H., et al. (2024). Parameter-Efficient Fine-Tuning for Pre-Trained Vision Models: A Survey. *arXiv preprint arXiv:2402.02242*.
- Reynolds, J. G. (2025). Mitigating Catastrophic Forgetting in Mathematical Reasoning Finetuning through Mixed Training. *arXiv preprint arXiv:2512.13706*.
- Li, H., Zhang, Y., Wang, X., et al. (2025). Fine-tuning MLLMs Without Forgetting Is Easier Than You Think. *arXiv preprint arXiv:2603.14493*.
- Sturm, J., Pichlmeier, J., Bernhard, C., et al. (2025). Assessment of RAG and Fine-Tuning for Industrial Question-Answering-Applications. *arXiv preprint arXiv:2605.09533*.
- "RAG vs Fine-Tuning: Which Approach is Right for Enterprise AI?" (2025). Contextual AI Blog.

