adapterbaseret finjustering

En parameter-effektiv finjusteringsmetode, hvor små neurale moduler (adaptere) indsættes i et prætrænet sprogmodel-lag, og kun disse adaptere opdateres under træning.

Kort fortalt

I stedet for at finjustere hele en stor model, tilføjer du små ekstra 'adaptere' inde i modellen og træner kun dem – det sparer tid og hukommelse.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En finjusteringsteknik, hvor adaptere – små feed-forward netværk – indsættes efter opmærksomheds- og feed-forward-lagene i en transformer-model, og kun disse adapteres parametre opdateres under træning, mens resten af modellen forbliver frosset.

    • Ved at anvende adapterbaseret finjustering kan vi tilpasse BERT til tekstklassificering ved kun at træne 3% af parametrene.Houlsby et al., 2019

Hvornår bruges det

Adapterbaseret finjustering anvendes typisk, når man har en stor prætrænet model (f.eks. BERT eller GPT) og ønsker at tilpasse den til en specifik opgave uden at gennemtræne alle parametre. Det er særligt nyttigt ved mange opgaver, da man kan gemme én baseline-model og en lille adapter pr. opgave.

Kodeeksempel

from transformers import AutoModel, AdapterConfig

model = AutoModel.from_pretrained("bert-base-uncased")
adapter_config = AdapterConfig.load("pfeiffer")
model.add_adapter("my_adapter", config=adapter_config)
model.train_adapter("my_adapter")

# Now model is ready for training on task-specific data

Eksempel på brug af Hugging Face Adapter-API til at tilføje og træne et adapter-modul i BERT.

Oprindelse

Termen kombinerer 'adapter' (fra latin adaptare, 'tilpasse'), 'baseret' og 'finjustering' (oversættelse af 'fine-tuning'). Metoden blev introduceret af Houlsby et al. i 2019.

Afledte ord

2

Kilder

2