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

2

Kilder

2
  • Parameter-Efficient Transfer Learning for NLP
  • AdapterHub: A Framework for Adapting Transformers