QLoRA-adapter

En QLoRA-adapter er en lavrangs-adapter, der trænes med kvantisering af basis-modellens vægte for at reducere hukommelsesforbruget under finjustering.

Kort fortalt

En QLoRA-adapter er en lille, trænbar komponent, der sættes på en stor sprogmodel, så den kan finjusteres på almindelig hardware ved at bruge færre tal til at repræsentere modellens vægte.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En adapter opnået via QLoRA-teknikken, der muliggør effektiv finjustering af kvantiserede sprogmodeller ved hjælp af lavrangsmatricer.

    • Vi finjusterede Llama 2 70B på en enkelt RTX 4090 ved hjælp af en QLoRA-adapter.forskningsartikel, 2023
    • QLoRA-adapteren reducerer hukommelsesbehovet markant uden at gå på kompromis med modellens ydeevne.

Hvornår bruges det

QLoRA-adaptere bruges typisk til finjustering af store sprogmodeller (LLM'er) på én enkelt GPU, hvor hukommelsen er begrænset. De kombinerer LoRA's parameter-effektive træning med 4-bit kvantisering af basis-modellen. Adapterens vægte gemmes separat og kan indlæses i den kvantiserede model til inferens.

Kodeeksempel

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import LoraConfig, get_peft_model

quant_config = BitsAndBytesConfig(load_in_4bit=True)
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf", quantization_config=quant_config, device_map="auto")
lora_config = LoraConfig(r=8, lora_alpha=32, target_modules=["q_proj", "v_proj"], lora_dropout=0.05)
model = get_peft_model(model, lora_config)
# adapter weights are saved in model.peft_config

Eksempel på indlæsning af en kvantiseret model og tilføjelse af en LoRA-adapter, der kan trænes med QLoRA.

Oprindelse

QLoRA er en forkortelse for 'Quantized Low-Rank Adaptation', introduceret af Tim Dettmers et al. i 2023. 'Adapter' refererer til de ekstra trænbare lag, der tilføjes til den frosne basis-model.

Afledte ord

2

Kilder

1