Adapter-modul
Et letvægts neuralt netværksmodul, der indsættes mellem lagene i en fortrænet model, så kun adapterne trænes under finjustering, mens resten af modellen fryses.
Kort fortalt
Adapter-moduler er små ekstra neurale netværkslag, der sættes ind i en stor, fortrænet model, så man kan tilpasse den til en ny opgave uden at træne hele modellen.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Et kompakt neuralt netværksmodul, typisk med en flaskehalsstruktur (nedprojection → aktivering → opadprojection), der indsættes i hvert lag af en fortrænet transformer-model, således at modellens oprindelige vægte forbliver frosset, og kun adapterparametrene opdateres under finjustering.
- Vi anvendte adapter-moduler til at finjustere BERT på en domænespecifik opgave, hvilket reducerede træningstiden med 80%.
- Adapter-moduler gør det muligt at dele en enkelt base-model mellem flere opgaver ved at udskifte adapterne.
Hvornår bruges det
Adapter-moduler anvendes især ved parameter-effektiv finjustering (PEFT) af store sprogmodeller, hvor man ønsker at bevare den originale models viden, men tilpasse den til en specifik opgave. De gør det muligt at træne en ny opgave med få ekstra parametre og lav hukommelsesbelastning.
Kodeeksempel
from transformers import AutoModel
model = AutoModel.from_pretrained("bert-base-uncased")
model.add_adapter("my_adapter", config="pfeiffer")
model.train_adapter("my_adapter")Eksempel på tilføjelse af et adapter-modul til en BERT-model ved hjælp af HuggingFace adapters-biblioteket.
Oprindelse
Begrebet stammer fra adapter-netværk introduceret af Houlsby et al. (2019) i artiklen 'Parameter-Efficient Transfer Learning for NLP'.
Afledte ord
2Kilder
2- Parameter-Efficient Transfer Learning for NLP
- AdapterHub: A Framework for Adapting Transformers