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. 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

3

Kilder

1
  • LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021)