Low-Rank Adaptation

forkortelse for LoRA

Low-Rank Adaptation (LoRA) er en parameter-effektiv finjusteringsteknik, hvor de oprindelige vægte i en forudtrænet model fryses, og der i stedet indsættes trænede, lavrangstillægsmatricer i modellens lag.

Kort fortalt

LoRA gør det muligt at finjustere store sprogmodeller ved kun at træne en lille mængde ekstra parametre i stedet for hele modellen.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En parameter-effektiv finjusteringsteknik, der indsætter trænbare lavrangstillægsmatricer i et forudtrænet neurale netværks lag, så de oprindelige vægte forbliver uændrede.

    • Ved at anvende LoRA på en 175-milliarders GPT-3-model reduceres antallet af trænbare parametre fra 175 milliarder til under 10 millioner.LoRA: Low-Rank Adaptation of Large Language Models (2021)
    • LoRA er blevet særligt udbredt til finjustering af Stable Diffusion-modeller, hvor det giver brugerne mulighed for at skabe specialiserede stilarter uden at gemme hele modellen.PEFT: Parameter-Efficient Fine-Tuning (Hugging Face)

Hvornår bruges det

LoRA bruges primært til at finjustere store sprogmodeller (LLM'er) og diffusionsmodeller, når fuld finjustering er for ressourcekrævende. Det er særligt populært i open-source-fællesskabet, da det gør det muligt at dele og genbruge små adaptervægte.

Formel

For et forudtrænet vægtlag W ∈ ℝ^{d×k} tilføjes et lavrangsopdatering ΔW = BA, hvor B ∈ ℝ^{d×r}, A ∈ ℝ^{r×k} og r ≪ min(d,k). Den modificerede fremadgående beregning bliver h = Wx + BAx.

Kodeeksempel

from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("gpt2")
lora_config = LoraConfig(
    r=8,
    lora_alpha=16,
    target_modules=["c_attn"],
    lora_dropout=0.1
)
lora_model = get_peft_model(model, lora_config)
print(f"Trænbare parametre: {lora_model.num_parameters(only_trainable=True)}")

Eksempel på hvordan man anvender LoRA på en GPT-2-model ved hjælp af Hugging Face PEFT-biblioteket. Kun opmærksomhedslagets projektionsmatrix er målrettet, og antallet af trænbare parametre reduceres drastisk.

Oprindelse

Termen 'Low-Rank Adaptation' stammer fra ideen om at parametreopdateringen under finjustering kan indfanges i lavrangmatricer, hvilket reducerer antallet af trænbare parametre markant.

Afledte ord

2

Kilder

2