Training

PEFT

Parameter-Efficient Fine-Tuning — методы дообучения, обновляющие малую долю параметров модели.

Что такое PEFT

PEFT (Parameter-Efficient Fine-Tuning) — семейство методов fine-tuning, обновляющих только небольшое подмножество параметров модели при сохранении (заморозке) основных весов. Это снижает вычислительные затраты и требования к VRAM, сохраняя качество близкое к полному fine-tuning.

Библиотека PEFT от Hugging Face — стандартный Python-пакет, реализующий основные методы: LoRA, QLoRA, IA³, Prompt Tuning, Prefix Tuning.

Методы PEFT

Метод Что обновляется Применение
LoRA Low-rank адаптеры Стандарт для LLM fine-tuning
QLoRA LoRA + INT4 база Ограниченная VRAM
IA³ Scale-векторы (ещё меньше параметров) Быстрая адаптация
Prefix Tuning Обучаемые «мягкие» токены NLP-задачи
Prompt Tuning Только входные embedding-токены Минимальный overhead

Установка и базовое использование

pip install peft transformers
from peft import PeftModel, PeftConfig

# Загрузить fine-tuned модель с LoRA-адаптером
config = PeftConfig.from_pretrained("username/my-lora-adapter")
base_model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path)
model = PeftModel.from_pretrained(base_model, "username/my-lora-adapter")

# Inference с адаптером
output = model.generate(inputs, max_new_tokens=100)

# Сохранить только адаптер (несколько МБ, без ~14 ГБ базы)
model.save_pretrained("./my-adapter")

Преимущества хранения адаптеров

LoRA-адаптер 7B-модели с r=16 занимает всего 20–50 МБ, тогда как полная модель — 14 ГБ. Это позволяет хранить десятки адаптеров для разных задач и переключаться между ними за секунды.

Связанные термины

  • LoRA — основной PEFT-метод для LLM
  • QLoRA — PEFT с квантизованной базой
  • fine-tuning — процесс, для которого PEFT предоставляет инструменты
  • instruction tuning — цель, достигаемая через PEFT

Готовы запустить GPU-задачу?

Запустить GPU-сервер