prefix tuning

En parameter-effektiv finjusteringsteknik, hvor et lille antal trænbare præfikstokens indsættes foran inputtet i hvert Transformerlag, mens de oprindelige modelvægte fryses.

Kort fortalt

En metode til at tilpasse store sprogmodeller til nye opgaver uden at genoptræne hele modellen – i stedet træner man kun nogle få ekstra tokens, der sættes foran inputtet.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En del af parameter-effektiv finjustering (PEFT), hvor man tilføjer et lille sæt af trænbare kontinuerte præfiks-vektorer til hvert Transformerlag. Modellens oprindelige vægte forbliver uændrede, og kun præfiksets parametre optimeres under træning. Dette reducerer antallet af trænbare parametre betydeligt og muliggør opgaveadaptation med minimal hukommelses- og beregningsomkostning.

    • Ved at anvende prefix tuning kan vi tilpasse GPT-3 til summarisering uden at ændre dens oprindelige vægte.Eksempel
    • Prefix tuning er særligt effektivt i få-skuds-læring, da det kræver meget få opgave-specifikke parametre.Eksempel

Hvornår bruges det

Bruges typisk i naturlig sprogforståelse og -generering, hvor man ønsker at finjustere en stor model som GPT eller BERT til en specifik opgave med minimal ressourceforbrug. Det er særligt anvendeligt, når man har begrænset data eller ønsker at bevare den oprindelige models viden.

Kodeeksempel

from peft import PrefixTuningConfig, get_peft_model
from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("gpt2")
config = PrefixTuningConfig(task_type="CAUSAL_LM", num_virtual_tokens=20)
model = get_peft_model(model, config)
# Now only the prefix parameters are trainable

Eksempel på opsætning af prefix tuning med Hugging Face PEFT-biblioteket. Kun præfiksparametrene (ca. 20 tokens) trænes, mens GPT-2's originale vægte fryses.

Oprindelse

Termen 'prefix tuning' blev introduceret af Li & Liang (2021) i artiklen 'Prefix-Tuning: Optimizing Continuous Prompts for Generation'. Præfikset refererer til de ekstra tokens, der sættes foran inputtet.

Kilder

2