PEFT (Parameter-Efficient Fine-Tuning) (BG)
Параметрично-ефективно дообучване (англ. Parameter-Efficient Fine-Tuning, PEFT) — това е съвкупност от методи за адаптиране на големи предварително обучени модели, като големи езикови модели (LLM), към специфични задачи с минимални изчислителни и ресурсни разходи. За разлика от традиционното пълно дообучване (full fine-tuning), което изисква актуализиране на всички параметри на модела, PEFT-методите се фокусират върху модифицирането само на малка част от теглата (под 1-5% от общия им брой), оставяйки основната част на модела непроменена („замразена")[1].
Този подход позволява значително намаляване на изискванията към паметта, обема на хранилището и времето за обучение, правейки процеса на адаптиране на мощни фундаментални модели по-достъпен и устойчив на проблема с катастрофалното забравяне[2].
Проблеми на пълното дообучване
Традиционното пълно дообучване, при което се актуализират всички параметри на модела, се сблъсква с редица критични проблеми, послужили като катализатор за разработването на PEFT:
- Високи изчислителни разходи: Актуализирането на стотици милиарди параметри изисква огромна изчислителна мощност (високопроизводителни GPU/TPU) и голям обем видеопамет (VRAM), което прави процеса скъп и недостъпен за много изследователи.
- Неефективност на съхранението: За всяка нова задача е необходимо да се съхранява пълно, многогигабайтово копие на модела, което води до експоненциален ръст на изискванията към дисковото пространство.
- Катастрофално забравяне (Catastrophic Forgetting): Моделът, адаптирайки се към нови данни, „забравя" общите знания, придобити на етапа на предварителното обучение, което намалява производителността му при други задачи.
- Риск от преобучаване (Overfitting): При малки набори от данни за дообучване моделите с милиарди параметри са склонни да „запомнят" обучаващите примери вместо да усвояват обобщаващи модели[2].
Таксономия на PEFT-методите
Методите PEFT могат да се класифицират според начина, по който изменят параметрите на модела. Съществуват три основни категории: адитивни, селективни и репараметризационни[3].
Адитивни методи
Тези методи замразяват всички оригинални тегла на модела и добавят нови, малки обучаеми модули.
- Адаптери (Adapters): Най-ранният адитивен метод. Малки невронни модули с архитектура „тесно гърло" се вмъкват между слоевете на transformer. Обучават се само теглата на тези адаптери[4].
- Методи, базирани на „меки" prompt-ове (Soft Prompts): Вместо промяна на теглата на модела, тези методи добавят към входните данни обучаеми вектори („виртуални token-и"), които насочват поведението на модела. Ключови варианти:
- Prompt Tuning: Добавя обучаеми вектори само към входните embedding-и.
- Prefix-Tuning: Добавя обучаеми векторни префикси към скритите състояния на всеки слой от механизма на вниманието, което осигурява по-фин контрол[5].
- P-Tuning v2: Обобщение на идеята за Prefix-Tuning, което прилага обучаеми prompt-ове на всички слоеве на модела, постигайки производителност, сравнима с пълното дообучване[6].
Селективни методи
Тези методи не добавят нови параметри, а избират и дообучават малко подмножество от вече съществуващите.
- BitFit: Изключително икономичен метод, който дообучава само векторите на отместването (bias terms) и параметрите на слоевете за нормализация, актуализирайки по-малко от 0.1% от общия брой параметри.
- Диференциално подрязване (Diff Pruning): Използва обучаема маска за динамично определяне кои тегла трябва да се актуализират в процеса на обучение[3].
Репараметризационни методи
Тази категория се основава на хипотезата, че промените в теглата при адаптирането на модела имат нисък „вътрешен ранг". Вместо да актуализират матриците на теглата в пълен размер, тези методи актуализират тяхното нискорангово представяне.
- LoRA (Low-Rank Adaptation): Най-популярният PEFT-метод към днешна дата. Предполага, че актуализацията на матрицата на теглата `ΔW` може да се апроксимира с произведението на две нискорангови матрици: `ΔW = BA`. В процеса на дообучване оригиналната матрица `W` се замразява, а се обучават само `A` и `B`[7].
- QLoRA: Комбинира LoRA с техники за квантизация за допълнително намаляване на изискванията към паметта, позволявайки дообучването на модели с 65 млрд. параметра на един потребителски GPU[8].
Сравнение на производителността и ресурсите
PEFT-методите позволяват постигане на производителност, сравнима с пълното дообучване, при радикално намаляване на разходите.
| Модел | Метод | Обучаеми параметри (%) | Резултат на benchmark (Avg. Accuracy) | Източник |
|---|---|---|---|---|
| BERT-Large | Пълно дообучване | 100% | 80.4 (GLUE) | [4] |
| BERT-Large | Adapters | 3.6% | 80.0 (GLUE) | [4] |
| LLaMA-7B | LoRA | 0.83% | 74.7% | [9] |
| LLaMA-7B | DoRA (вариант на LoRA) | 0.84% | 78.1% | [9] |
Ключови предимства на PEFT по отношение на ресурсите:
- Памет на GPU (VRAM): За модела LLaMA 65B пълното дообучване теоретично изисква >780 ГБ VRAM, докато QLoRA позволява дообучването му на GPU с <48 ГБ VRAM[8].
- Обем на хранилището: Контролните точки, запазвани след PEFT, заемат мегабайти, а не гигабайти. Това позволява съхраняването на стотици „адаптери" за различни задачи в обем, който би заела един напълно дообучен модел.
Области на приложение
Изначално разработени за NLP, методите PEFT бяха успешно адаптирани за широк кръг задачи:
- Компютърно зрение (CV) и мултимодални модели (VLM): Адаптиране на модели като Vision Transformer (ViT) и Segment Anything Model (SAM) за задачи по сегментиране на изображения, включително в биомедицината.
- Генериране и анализ на код: Настройка на LLM към спецификата на конкретни програмни проекти, вътрешни API или кодови бази.
- Генеративни модели: „Стилизиране" на модели за генериране на изображения, като Stable Diffusion, с помощта на LoRA-адаптери (техниката Dreambooth).
- Синтез на реч: Адаптиране на модели за генериране на реч с определен глас, интонация или емоционална окраска.
Връзки
- Хранилище на библиотеката PEFT в GitHub
- Официална документация на библиотеката PEFT от Hugging Face
Литература
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
- Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
- Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
- Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
- Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
- Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.
Бележки
- ↑ «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
- ↑ 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
- ↑ 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
- ↑ 4.0 4.1 4.2 Houlsby, N., et al. «Parameter-Efficient Transfer Learning for NLP». Proceedings of the 36th International Conference on Machine Learning. [4]
- ↑ Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
- ↑ Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
- ↑ Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
- ↑ 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
- ↑ 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]