PEFT (Parameter-Efficient Fine-Tuning) (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Параметрично-ефективно дообучване (англ. 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-методите позволяват постигане на производителност, сравнима с пълното дообучване, при радикално намаляване на разходите.

Сравнителна производителност и ефективност на 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.

Бележки

  1. «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
  2. 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
  3. 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
  4. 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]
  5. Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
  6. Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
  7. Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
  8. 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
  9. 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]