PEFT

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Параметро-эффективное дообучение (англ. 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): Наиболее ранний аддитивный метод. Небольшие нейросетевые модули с архитектурой «бутылочного горлышка» вставляются между слоями трансформера. Обучаются только веса этих адаптеров[4].
  • Методы на основе "мягких" промптов (Soft Prompts): Вместо изменения весов модели, эти методы добавляют к входным данным обучаемые векторы («виртуальные токены»), которые направляют поведение модели. Ключевые варианты:
    • Prompt Tuning: Добавляет обучаемые векторы только к входным эмбеддингам.
    • Prefix-Tuning: Добавляет обучаемые векторные префиксы к скрытым состояниям на каждом слое механизма внимания, что дает более тонкий контроль[5].
    • P-Tuning v2: Обобщение идеи Prefix-Tuning, которое применяет обучаемые промпты на всех слоях модели, достигая производительности, сопоставимой с полным дообучением[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-методов
Модель Метод Обучаемые параметры (%) Результат на бенчмарке (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).
  • Синтез речи: Адаптация моделей для генерации речи с определённым голосом, интонацией или эмоциональной окраской.

Ссылки

Литература

  • 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]