QLoRA

forkortelse for Quantized Low-Rank Adaptation

QLoRA er en metode til effektiv finjustering af store sprogmodeller ved at kvantisere basismodellen og anvende lavrank-adaptere (LoRA), hvilket reducerer hukommelsesforbruget markant.

Kort fortalt

QLoRA gør det muligt at finjustere enorme AI-modeller på et enkelt grafikkort ved at komprimere modellen og kun træne små ekstra dele.

Kategori
teknik
Niveau
øvet
Udtale
/ˈkjuːlɔːrə/

Betydninger

1
  1. 1

    En finjusteringsteknik, hvor en stor sprogmodel først kvantiseres (typisk til 4-bit) og derefter finjusteres ved hjælp af lavrank-adaptere (LoRA), hvilket minimerer hukommelsesomkostningerne uden væsentligt tab af modelkvalitet.

    • Med QLoRA kan man finjustere en 65 milliarder parametre stor LLaMA-model på en enkelt NVIDIA A100 GPU med kun 24 GB VRAM.QLoRA-papiret, 2023
    • QLoRA opnår næsten identisk ydeevne som fuld finjustering, men med en brøkdel af hukommelsesforbruget.

Hvornår bruges det

QLoRA bruges af forskere og praktikere til at finjustere sprogmodeller som LLaMA på almindelig forbrugergrafikkort. Det kombinerer 4-bit kvantisering med LoRA for at reducere hukommelsesbehovet, så modeller med over 60 milliarder parametre kan finjusteres på en enkelt GPU.

Kodeeksempel

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

model_name = "meta-llama/Llama-2-7b-hf"
bnb_config = BitsAndBytesConfig(load_in_4bit=True)
model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=bnb_config)

lora_config = LoraConfig(r=8, lora_alpha=16, target_modules=["q_proj", "v_proj"])
model = get_peft_model(model, lora_config)

tokenizer = AutoTokenizer.from_pretrained(model_name)
# Now fine-tune with your dataset

Eksempel på opsætning af QLoRA med Hugging Face Transformers og PEFT. Først indlæses modellen med 4-bit kvantisering, derefter tilføjes LoRA-adaptere.

Oprindelse

Termen QLoRA er en sammentrækning af 'Quantized' (kvantiseret) og 'LoRA' (Low-Rank Adaptation). Metoden blev introduceret i en forskningsartikel fra 2023 af Tim Dettmers og kolleger.

Afledte ord

2

Kilder

2