parametereffektiv finjustering
Parametereffektiv finjustering er en teknik til at tilpasse store sprogmodeller til specifikke opgaver ved kun at opdatere et lille antal parametre, hvilket reducerer beregnings- og hukommelsesomkostninger markant.
Kort fortalt
En metode til at finjustere en stor AI-model uden at skulle ændre alle dens parametre, så det går hurtigere og kræver mindre regnekraft.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Teknik til at finjustere en fortrænet model, hvor kun en lille delmængde af modellens parametre opdateres, mens resten fryses. Dette reducerer træningstid og hukommelsesforbrug.
- LoRA er en populær form for parametereffektiv finjustering, der indsætter trænelige rangdekompositionsmatricer i transformerlagene. — Hu et al., LoRA: Low-Rank Adaptation of Large Language Models, 2021
- Ved parametereffektiv finjustering kan en stor model som GPT-3 tilpasses en ny opgave med kun 0,01 % af parametrene opdateret. — forskning
Hvornår bruges det
Parametereffektiv finjustering anvendes især i forbindelse med store sprogmodeller, hvor fuld finjustering er upraktisk på grund af modelstørrelsen. Teknikken muliggør tilpasning til nye domæner eller opgaver med meget færre ressourcer, og den har vist sig at give sammenlignelige resultater med fuld finjustering i mange tilfælde. Eksempler på metoder inkluderer LoRA (Low-Rank Adaptation), Adapter-lag og Prompt Tuning.
Kodeeksempel
from transformers import AutoModelForSeq2SeqLM
from peft import get_peft_model, LoraConfig, TaskType
model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-t5-base")
lora_config = LoraConfig(task_type=TaskType.SEQ_2_SEQ_LM, r=8, lora_alpha=32, lora_dropout=0.1)
model = get_peft_model(model, lora_config)
# Now only LoRA parameters are trainableEksempel på brug af PEFT-biblioteket til at anvende LoRA på en T5-model. Kun LoRA-parametrene er trænelige.
Oprindelse
Begrebet opstod i takt med at sprogmodeller blev større, og fuld finjustering blev for ressourcekrævende. Det danske ord er en direkte oversættelse af det engelske 'parameter-efficient fine-tuning'.
Kilder
2- Parameter-Efficient Transfer Learning for NLP (Houlsby et al., 2019)
- LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021)