Тонкая настройка

Материал из MachineLearning.

Версия от 08:13, 19 июля 2026; Sanir Lukianov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Тонкая настройка (fine-tuning) — в контексте глубокого обучения и обработки естественного языка это процесс адаптации предварительно обученной (pre-trained) нейронной сети к решению конкретной прикладной задачи. В отличие от обучения с нуля, тонкая настройка использует веса, уже содержащие обобщённые знания о структуре данных, и заключается в их дообучении на размеченном датасете целевой задачи.

Этот подход является краеугольным камнем современного трансферного обучения. Он позволяет достигать высокого качества на задачах с ограниченным объёмом данных, существенно сокращая вычислительные затраты по сравнению с полным обучением больших моделей [1][1].

Содержание

Терминология и базовые понятия

  • Предобучение (pre-training): Этап обучения модели на больших неразмеченных (или слаборазмеченных) корпусах данных. Цель — изучить универсальные признаки, статистические закономерности и представления.
  • Целевая задача (downstream task): Прикладная задача (классификация, генерация текста, детекция объектов), для которой адаптируется модель.
  • Скорость обучения (learning rate): Один из наиболее критичных гиперпараметров при тонкой настройке.
  • Катастрофическое забывание (catastrophic forgetting): Феномен, при котором модель, дообучаясь на новой задаче, резко теряет способность решать задачи, на которых обучалась ранее [1].

Исторический контекст

Концепция тонкой настройки возникла как развитие идеи трансферного обучения. В ранних работах, например, при использовании свёрточных сетей (CNN) в компьютерном зрении, практиковалась заморозка нижних слоёв, которые отвечали за общие признаки (края, текстуры), и обучение только верхних, специфичных для задачи [1].

Прорыв произошёл с появлением больших языковых моделей (LLM), таких как BERT и GPT. Стало очевидно, что полное переобучение таких моделей с сотнями миллиардов параметров для каждой новой задачи невозможно из-за колоссальных затрат памяти и времени. Это стимулировало развитие методов эффективной тонкой настройки [1][1].

Математическая постановка

Пусть дана предобученная модель с параметрами \Theta_0. В процессе тонкой настройки на целевом датасете \mathcal{D} = \{(x_i, y_i)\}_{i=1}^N мы ищем новые параметры \Theta, минимизирующие функцию потерь \mathcal{L}:

\Theta^* = \arg\min_{\Theta} \frac{1}{N} \sum_{i=1}^{N} \mathcal{L}(f_{\Theta}(x_i), y_i)

При классической (полной) тонкой настройке начальное приближение задаётся как \Theta_{init} = \Theta_0, и далее применяется стохастический градиентный спуск (SGD) или его адаптивные варианты (Adam, AdamW) для обновления всех параметров.

Обновление весов (SGD)

Шаг обновления весов на каждой итерации:

\Theta_{t+1} = \Theta_t - \eta \cdot \nabla_{\Theta} \mathcal{L}(\Theta_t)

где \eta — скорость обучения. Ключевое отличие от обучения с нуля заключается в выборе \eta: при тонкой настройке она обычно на порядок (иногда на два) меньше, чтобы не разрушить полезные признаки, выученные на этапе предобучения [1].

Основные стратегии тонкой настройки

Существует спектр стратегий, от самых ресурсоёмких до самых лёгких.

1. Извлечение признаков (Feature Extraction): Модель используется как фиксированный экстрактор признаков. Предобученные веса замораживаются, а обучению подвергается только классификационная "голова" (один или несколько полносвязных слоёв), добавленная поверх энкодера [1]. 2. Полная тонкая настройка (Full Fine-Tuning): Все веса модели обновляются. Требует больших вычислительных ресурсов, но может дать максимальную точность [1]. 3. 'Послойная заморозка (Layer-wise Freezing): Замораживаются нижние (ранние) слои, отвечающие за общие признаки, и обучаются только верхние слои. Эвристика основана на том, что разные слои изучают признаки разной степени абстракции [1]. 4. 'Постепенное размораживание (Gradual Unfreezing): Итеративная стратегия, часто используемая в NLP. Начинают с обучения только верхнего слоя. После его сходимости размораживают следующий слой, продолжая обучение всей сети, и так далее, пока не будут дообучены все слои. Это помогает стабилизировать процесс и избежать катастрофического забывания [1].

Выбор скорости обучения и регуляризация

Выбор гиперпараметров критичен для успешной тонкой настройки:

  • Скорость обучения (\eta): Рекомендуется использовать значительно меньшую скорость обучения, чем при обучении с нуля (например, для моделей типа BERT — 2 \times 10^{-5} против 10^{-3} при обучении с нуля) [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. Его основная идея заключается в том, что изменение весов \Delta W при адаптации модели имеет низкий ранг [1].

Для предобученной матрицы весов W_0 \in \mathbb{R}^{d \times k} обновление представляется в виде произведения двух низкоранговых матриц:

W = W_0 + \Delta W = W_0 + BA

где B \in \mathbb{R}^{d \times r}, A \in \mathbb{R}^{r \times k}, и ранг r \ll \min(d, k). Матрица W_0 заморожена, а обучаются только A и B. Во время вычислительного вывода матрицы B и A могут быть объединены с W_0, что не создаёт дополнительной задержки (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].

Сравнение тонкой настройки и RAG
Критерий Тонкая настройка (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 порядка меньше, чем при обучении с нуля (для моделей-трансформеров — 10^{-5} или 10^{-6}) [1].
  • Применяйте прогрева (warm-up) скорости обучения для стабилизации процесса.
  • Контролируйте качество на валидационной выборке, чтобы вовремя остановить обучение и предотвратить переобучение.
  • Используйте смешанное обучение, если боитесь катастрофического забывания, даже если целевая задача узкая [1].
  • Подумайте о RAG, если ваша задача — поиск и предоставление точных фактов, а не адаптация стиля [1][1].

См. также

Примечания


Литература

  1. 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*.
  2. 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.
  3. 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*.
  4. Reynolds, J. G. (2025). Mitigating Catastrophic Forgetting in Mathematical Reasoning Finetuning through Mixed Training. *arXiv preprint arXiv:2512.13706*.
  5. Li, H., Zhang, Y., Wang, X., et al. (2025). Fine-tuning MLLMs Without Forgetting Is Easier Than You Think. *arXiv preprint arXiv:2603.14493*.
  6. 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*.
  7. "RAG vs Fine-Tuning: Which Approach is Right for Enterprise AI?" (2025). Contextual AI Blog.

Ссылки

Личные инструменты