LoRA-justering
forkortelse for Low-Rank Adaptation (LoRA)
En parameter-effektiv finjusteringsmetode, der tilpasser store sprogmodeller ved at indsætte lav-rank opdateringer i vægtmatricer i stedet for at opdatere alle parametre.
Kort fortalt
Kort fortalt: LoRA-justering gør det muligt at finjustere en stor AI-model uden at skulle genberegne alle vægte, hvilket sparer tid og hukommelse.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Den proces, hvorved en stor sprogmodel tilpasses en specifik opgave ved at tilføje trænbare lav-rank decompositionsmatricer til de eksisterende vægtmatricer, mens de originale vægte forbliver frosne.
- Ved LoRA-justering af GPT-2 kan man opnå opgavespecifik præstation med kun 0,1% af parametrene trænet. — Hu et al., 2021
- Mange open source-projekter tilbyder LoRA-justerede adaptører, der nemt kan indlæses sammen med basismodellen.
Hvornår bruges det
LoRA-justering bruges i praksis, når man ønsker at specialisere en stor sprogmodel til en specifik opgave uden at have ressourcer til fuld finjustering. Teknikken er særlig populær til tilpasning af GPT-lignende modeller og i open source-miljøer, hvor den ofte anvendes i kombination med QLoRA for kvantiseret justering.
Formel
W' = W + BA, where W ∈ ℝ^{d×k}, B ∈ ℝ^{d×r}, A ∈ ℝ^{r×k}, r << min(d,k).Kodeeksempel
from peft import LoraConfig, get_peft_model
lora_config = LoraConfig(
r=8,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.1,
bias="none"
)
model = get_peft_model(base_model, lora_config)
model.print_trainable_parameters()Eksempel på LoRA-justering med PEFT-biblioteket: Konfigurer en LoRA-adaptør med rank 8 og anvend den på en basismodel.
Oprindelse
LoRA står for 'Low-Rank Adaptation', foreslået af Hu et al. i 2021. 'Justering' er den danske oversættelse af 'adaptation' eller 'tuning'.
Afledte ord
3Kilder
1- LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021)