Fine-tuning (deep learning) (NL)

From Systems analysis Wiki
Jump to navigation Jump to search

Diepe aanpassing (Engels: Fine-tuning), ook bekend als fijnafstemming, is een methode van transfer learning binnen machine learning, waarbij de parameters van een vooraf getraind model (pre-trained model) worden aangepast voor het oplossen van een nieuwe, specifieke taak. In plaats van een model vanaf nul te trainen — wat enorme hoeveelheden data en rekenkracht vereist — maakt fine-tuning het mogelijk de kennis die al gecodeerd is in de gewichten van het model te benutten en deze 'af te stemmen' op concrete behoeften.

Deze aanpak is de de-facto standaard geworden op het gebied van deep learning, met name bij het werken met grote taalmodellen (LLM) en modellen voor computer vision.

Concept

Het fine-tuningproces kan worden onderverdeeld in twee hoofdfasen:

1. Voorafgaande training (Pre-training): Het model (bijvoorbeeld BERT of GPT) wordt getraind op een zeer grote en algemene dataset (bijvoorbeeld het gehele internet) met behulp van een zelfsupervisietaak (bijvoorbeeld het voorspellen van het volgende woord). In deze fase leert het model algemene patronen, syntaxis, semantiek en wereldkennis.

2. Fijnafstemming (Fine-tuning): Het vooraf getrainde model wordt als basis genomen en de gewichten worden bijgesteld op een kleine, maar voor de doeltaak specifieke gelabelde dataset.

Het kernidee is dat de kennis die tijdens de voorafgaande trainingsfase is opgedaan universeel van aard is en met succes kan worden overgedragen voor het oplossen van vele andere, meer specifieke taken.

Proces van fine-tuning

Het typische fine-tuningproces omvat de volgende stappen:

1. Keuze van het vooraf getrainde model: Er wordt een model gekozen waarvan de basisvaardigheden geschikt zijn voor de doeltaak (bijvoorbeeld BERT voor tekstverstaan, GPT voor generatie).

2. Aanpassing van de architectuur: Aan het vooraf getrainde model wordt een nieuwe, taakspecifieke 'head'-laag toegevoegd. Bijvoorbeeld:

  • Voor tekstclassificatie wordt een eenvoudige volledig verbonden laag met een softmax-functie toegevoegd.
  • Voor herkenning van benoemde entiteiten (NER) wordt een classificator toegevoegd aan de uitvoer van elk token.

3. Training op de doeldataset: Het volledige model (of een deel ervan) wordt getraind op de nieuwe, gelabelde dataset. In deze fase worden de gewichten van het model, inclusief de gewichten van de vooraf getrainde lagen, bijgewerkt via gradient descent om de verliesfunctie op de nieuwe taak te minimaliseren.

4. Gebruik van een lagere leersnelheid: Bij fine-tuning wordt doorgaans een aanzienlijk lagere leersnelheid gebruikt dan bij voorafgaande training. Dit is nodig om de nuttige kennis die al gecodeerd is in de gewichten van het model niet te 'vernietigen', maar deze slechts voorzichtig bij te sturen.

Typen fine-tuning

Volledige fine-tuning (Full Fine-tuning)

  • Principe: Alle parameters van het vooraf getrainde model worden bijgewerkt samen met de nieuwe 'head'-laag.
  • Voordelen: Biedt potentieel de beste prestaties, omdat het volledige model zich aanpast aan de nieuwe taak.
  • Nadelen: Vereist aanzienlijke rekenkracht en geheugen, omdat gradiënten voor alle parameters opgeslagen en bijgewerkt moeten worden. Er bestaat een risico op catastrofaal vergeten, waarbij het model de algemene kennis uit de voorafgaande training 'vergeet'.

Parameterefficiënte fine-tuning (Parameter-Efficient Fine-Tuning, PEFT)

Dit is een familie van methoden die gericht zijn op het verlagen van de rekenkosten bij fine-tuning. Het basisidee is het bevriezen van de meeste parameters van het vooraf getrainde model en het trainen van slechts een klein aantal nieuwe of geselecteerde bestaande parameters.

  • Voorbeelden van PEFT-methoden:
    • Adapters: In de Transformer-architectuur worden kleine, aanvullende adapterlagen ingevoegd; alleen deze worden getraind.
    • LoRA (Low-Rank Adaptation): In plaats van volledige gewichtsmatrices bij te werken, traint LoRA laagrangige updates daarvan. Hierdoor kan het aantal trainbare parameters duizenden malen worden teruggebracht.
    • Prompt Tuning: Aan de invoergegevens worden trainbare vector-'prompts' toegevoegd die worden afgestemd op de taak, terwijl het model zelf bevroren blijft.
  • Voordelen van PEFT:
    • Efficiëntie: Verlaagt de geheugen- en rekenvereisten aanzienlijk.
    • Modulariteit: Maakt het eenvoudig om één vooraf getraind model aan te passen voor meerdere taken, waarbij slechts kleine sets aangepaste gewichten per taak worden opgeslagen.

Instruction Tuning - Fine-tuning op instructies

Dit is een specifiek type fine-tuning dat gericht is op het verbeteren van het vermogen van LLM's om instructies in natuurlijke taal op te volgen.

  • Werkingsprincipe: Het model wordt gefinetuned op een dataset bestaande uit paren 'instructie — gewenste uitvoer'.
  • Doel: Het verbeteren van het generalisatievermogen van het model voor nieuwe, eerder niet geziene taken die in de vorm van instructies kunnen worden beschreven. Modellen zoals InstructGPT en FLAN-T5 zijn sprekende voorbeelden van deze aanpak.

Literatuur

  • Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
  • Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
  • Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
  • Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
  • Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
  • Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.

Zie ook

  • Grote taalmodellen
  • BERT
  • GPT