Fine-tuning
Дообучение (англ. Fine-tuning), также известное как тонкая настройка, — это метод трансферного обучения в машинном обучении, при котором параметры предварительно обученной модели (pre-trained model) адаптируются для решения новой, специфической задачи. Вместо того чтобы обучать модель с нуля, что требует огромных объёмов данных и вычислительных ресурсов, дообучение позволяет использовать знания, уже закодированные в весах модели, и «настроить» их под конкретные нужды.
Этот подход стал стандартом де-факто в области глубокого обучения, особенно при работе с большими языковыми моделями (LLM) и моделями компьютерного зрения.
Концепция
Процесс дообучения можно разделить на два основных этапа:
1. Предварительное обучение (Pre-training): Модель (например, BERT или GPT) обучается на очень большом и общем наборе данных (например, весь интернет) с использованием самоконтролируемой задачи (например, предсказание следующего слова). На этом этапе модель изучает общие закономерности, синтаксис, семантику и знания о мире.
2. Дообучение (Fine-tuning): Предварительно обученная модель берётся как основа, и её веса донастраиваются на небольшом, но специфичном для целевой задачи размеченном наборе данных.
Ключевая идея заключается в том, что знания, полученные на этапе предварительного обучения, являются универсальными и могут быть успешно перенесены для решения множества других, более узких задач.
Процесс дообучения
Типичный процесс дообучения включает следующие шаги:
1. Выбор предварительно обученной модели: Выбирается модель, чьи базовые способности подходят для целевой задачи (например, BERT для задач понимания текста, GPT для генерации).
2. Адаптация архитектуры: К предварительно обученной модели добавляется новый, «головной» слой (head), специфичный для целевой задачи. Например:
- Для классификации текста добавляется простой полносвязный слой с функцией softmax.
- Для распознавания именованных сущностей (NER) классификатор добавляется к выходу каждого токена.
3. Обучение на целевом наборе данных: Вся модель (или её часть) обучается на новом, размеченном наборе данных. На этом этапе веса модели, включая веса предварительно обученных слоёв, обновляются с помощью градиентного спуска для минимизации функции потерь на новой задаче. 4. Использование более низкой скорости обучения: При дообучении обычно используется значительно более низкая скорость обучения, чем при предварительном обучении. Это необходимо для того, чтобы не «разрушить» полезные знания, уже закодированные в весах модели, а лишь аккуратно их скорректировать.
Типы дообучения
Полное дообучение (Full Fine-tuning)
- Принцип: Обновляются все параметры предварительно обученной модели вместе с новым «головным» слоем.
- Преимущества: Потенциально обеспечивает наилучшую производительность, так как вся модель адаптируется к новой задаче.
- Недостатки: Требует значительных вычислительных ресурсов и памяти, так как необходимо хранить и обновлять градиенты для всех параметров. Существует риск катастрофического забывания, когда модель «забывает» общие знания, полученные при предварительном обучении.
Параметрически-эффективное дообучение (Parameter-Efficient Fine-Tuning, PEFT)
Это семейство методов, которые направлены на снижение вычислительных затрат при дообучении. Основная идея — заморозить большинство параметров предварительно обученной модели и обучать лишь небольшое количество новых или выбранных существующих параметров.
- Примеры методов PEFT:
- Адаптеры (Adapters): В архитектуру Трансформера вставляются небольшие, дополнительные слои-адаптеры, и обучаются только они.
- LoRA (Low-Rank Adaptation): Вместо обновления полных весовых матриц, LoRA обучает их низкоранговые обновления. Это позволяет сократить число обучаемых параметров в тысячи раз.
- Промпт-тюнинг (Prompt Tuning): К входным данным добавляются обучаемые векторы-«промпты», которые настраиваются для решения задачи, в то время как сама модель остаётся замороженной.
- Преимущества PEFT:
- Эффективность: Значительно снижает требования к памяти и вычислениям.
- Модульность: Позволяет легко адаптировать одну предварительно обученную модель для множества задач, храня лишь небольшие наборы адаптированных весов для каждой.
Дообучение на инструкциях (Instruction Tuning)
Это специфический тип дообучения, направленный на улучшение способности LLM следовать инструкциям на естественном языке.
- Принцип работы: Модель дообучается на наборе данных, состоящем из пар «инструкция — желаемый вывод».
- Цель: Улучшить обобщающую способность модели на новые, ранее не виданные задачи, которые могут быть описаны в виде инструкций. Модели, такие как InstructGPT и FLAN-T5, являются яркими примерами этого подхода.
Литература
- Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
- Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
- Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
- Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
- Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
- Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.
См. также