Fine-tuning (deep learning) (BG)
Дообучение (англ. Fine-tuning), известно също като тънка настройка, — това е метод на трансферно обучение в машинното обучение, при който параметрите на предварително обучен модел (pre-trained model) се адаптират за решаване на нова, специфична задача. Вместо да се обучава моделът от нулата, което изисква огромни обеми от данни и изчислителни ресурси, дообучването позволява да се използват знанията, вече кодирани в теглата на модела, и да се „настроят" според конкретните нужди.
Този подход се е превърнал в де факто стандарт в областта на дълбокото обучение, особено при работа с големи езикови модели (LLM) и модели за компютърно зрение.
Концепция
Процесът на дообучване може да бъде разделен на два основни етапа:
1. Предварително обучение (Pre-training): Моделът (например BERT или GPT) се обучава върху много голям и общ набор от данни (например целият интернет) с използване на самоконтролирана задача (например предсказване на следващата дума). На този етап моделът усвоява общи закономерности, синтаксис, семантика и знания за света.
2. Дообучване (Fine-tuning): Предварително обученият модел се взема като основа и неговите тегла се донастройват върху малък, но специфичен за целевата задача анотиран набор от данни.
Ключовата идея се състои в това, че знанията, придобити на етапа на предварително обучение, са универсални и могат успешно да бъдат пренесени за решаване на множество други, по-тесни задачи.
Процес на дообучване
Типичният процес на дообучване включва следните стъпки:
1. Избор на предварително обучен модел: Избира се модел, чиито базови способности отговарят на целевата задача (например BERT за задачи за разбиране на текст, GPT за генериране).
2. Адаптация на архитектурата: Към предварително обучения модел се добавя нов „главен" слой (head), специфичен за целевата задача. Например:
- За класификация на текст се добавя прост напълно свързан слой с функция softmax.
- За разпознаване на именувани същности (NER) класификаторът се добавя към изхода на всеки token.
3. Обучение върху целевия набор от данни: Целият модел (или част от него) се обучава върху новия анотиран набор от данни. На този етап теглата на модела, включително теглата на предварително обучените слоеве, се актуализират чрез градиентен спуск за минимизиране на функцията на загубата при новата задача.
4. Използване на по-ниска скорост на обучение: При дообучването обикновено се използва значително по-ниска скорост на обучение, отколкото при предварителното обучение. Това е необходимо, за да не се „разрушат" полезните знания, вече кодирани в теглата на модела, а само внимателно да се коригират.
Типове дообучване
Пълно дообучване (Full Fine-tuning)
- Принцип: Актуализират се всички параметри на предварително обучения модел заедно с новия „главен" слой.
- Предимства: Потенциално осигурява най-добра производителност, тъй като целият модел се адаптира към новата задача.
- Недостатъци: Изисква значителни изчислителни ресурси и памет, тъй като е необходимо да се съхраняват и актуализират градиентите за всички параметри. Съществува риск от катастрофално забравяне, при което моделът „забравя" общите знания, придобити по време на предварителното обучение.
Параметрично-ефективно дообучване (Parameter-Efficient Fine-Tuning, PEFT)
Това е семейство от методи, насочени към намаляване на изчислителните разходи при дообучването. Основната идея е да се замразят повечето параметри на предварително обучения модел и да се обучават само малък брой нови или избрани съществуващи параметри.
- Примери за методи PEFT:
- Адаптери (Adapters): В архитектурата на Transformer се вмъкват малки, допълнителни слоеве-адаптери и се обучават само те.
- 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.
Вижте също
- Големи езикови модели
- BERT
- GPT