QLoRA-adapter
forkortelse for Quantized Low-Rank Adaptation (QLoRA) adapter
En adapter til finjustering af store sprogmodeller, der kombinerer kvantisering af modelvægte med low-rank opdateringer for at reducere hukommelsesforbrug.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- kjuːˈlɔːrɑː əˈdæptər
Betydninger
1- 1
En QLoRA-adapter er en kompakt repræsentation af en lavrangsopdatering til en forudtrænet models vægte, hvor modellens vægte er kvantiserede (typisk 4-bit) for at minimere hukommelsesforbruget, og adapteren trænes i fuld præcision for at bevare finjusteringens effektivitet.
- Ved at anvende en QLoRA-adapter kunne vi finjustere en 65 milliarder parameters model på en enkelt GPU med 24 GB hukommelse. — Eksempel
- QLoRA-adapteren gemmes separat og kan flettes med den kvantiserede model under inferens. — Teknisk rapport
Kodeeksempel
from transformers import AutoModelForCausalLM, BitsAndBytesConfig
quant_config = BitsAndBytesConfig(load_in_4bit=True)
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf", quantization_config=quant_config)
from peft import LoraConfig, get_peft_model
lora_config = LoraConfig(r=8, target_modules=["q_proj", "v_proj"])
model = get_peft_model(model, lora_config)Eksempel på opsætning af en QLoRA-adapter med Hugging Face Transformers og PEFT. Modellen indlæses i 4-bit kvantisering, og en LoRA-adapter tilføjes.
Oprindelse
Termen QLoRA er en forkortelse for 'Quantized Low-Rank Adaptation', introduceret af Tim Dettmers m.fl. i 2023.