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