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-сервер