Fine-Tuning (DE)

From Systems analysis Wiki
Jump to navigation Jump to search

Fine-Tuning, auch als Feinabstimmung bekannt, ist eine Methode des Transferlernens im maschinellen Lernen, bei der die Parameter eines vortrainierten Modells (pre-trained model) für eine neue, spezifische Aufgabe angepasst werden. Anstatt ein Modell von Grund auf neu zu trainieren, was enorme Datenmengen und Rechenressourcen erfordert, ermöglicht das Fine-Tuning, das bereits in den Modellgewichten kodierte Wissen zu nutzen und es für spezifische Anforderungen zu „feinabzustimmen“.

Dieser Ansatz hat sich im Bereich des Deep Learning zu einem De-facto-Standard entwickelt, insbesondere bei der Arbeit mit großen Sprachmodellen (LLMs) und Modellen des Computer Vision.

Konzept

Der Prozess des Fine-Tuning lässt sich in zwei Hauptphasen unterteilen:

1. Vortraining (Pre-training): Ein Modell (z. B. BERT oder GPT) wird auf einem sehr großen und allgemeinen Datensatz (z. B. dem gesamten Internet) mithilfe einer selbstüberwachten Aufgabe (z. B. der Vorhersage des nächsten Wortes) trainiert. In dieser Phase lernt das Modell allgemeine Muster, Syntax, Semantik und Weltwissen.

2. Fine-Tuning (Feinabstimmung): Das vortrainierte Modell wird als Grundlage genommen, und seine Gewichte werden auf einem kleinen, aber für die Zielaufgabe spezifischen, annotierten Datensatz feinabgestimmt.

Die Schlüsselidee besteht darin, dass das in der Vortrainingsphase erworbene Wissen universell ist und erfolgreich auf die Lösung vieler anderer, enger gefasster Aufgaben übertragen werden kann.

Der Prozess des Fine-Tuning

Ein typischer Fine-Tuning-Prozess umfasst die folgenden Schritte:

1. Auswahl eines vortrainierten Modells: Es wird ein Modell ausgewählt, dessen grundlegende Fähigkeiten für die Zielaufgabe geeignet sind (z. B. BERT für Aufgaben des Textverständnisses, GPT für die Textgenerierung).

2. Anpassung der Architektur: Dem vortrainierten Modell wird eine neue, aufgabenspezifische „Kopf“-Schicht (head) hinzugefügt. Zum Beispiel:

  • Für die Textklassifikation wird eine einfache, vollständig verbundene Schicht (fully-connected layer) mit einer Softmax-Funktion hinzugefügt.
  • Für die Erkennung benannter Entitäten (Named Entity Recognition, NER) wird an den Ausgang jedes Tokens ein Klassifikator angefügt.

3. Training auf dem Zieldatensatz: Das gesamte Modell (oder ein Teil davon) wird auf dem neuen, annotierten Datensatz trainiert. In dieser Phase werden die Gewichte des Modells, einschließlich der Gewichte der vortrainierten Schichten, mithilfe des Gradientenabstiegsverfahrens aktualisiert, um die Verlustfunktion für die neue Aufgabe zu minimieren. 4. Verwendung einer geringeren Lernrate: Beim Fine-Tuning wird in der Regel eine deutlich niedrigere Lernrate als beim Vortraining verwendet. Dies ist notwendig, um das bereits in den Modellgewichten kodierte nützliche Wissen nicht zu „zerstören“, sondern es lediglich behutsam anzupassen.

Arten des Fine-Tuning

Vollständiges Fine-Tuning (Full Fine-Tuning)

  • Prinzip: Alle Parameter des vortrainierten Modells werden zusammen mit der neuen „Kopf“-Schicht aktualisiert.
  • Vorteile: Bietet potenziell die beste Leistung, da das gesamte Modell an die neue Aufgabe angepasst wird.
  • Nachteile: Erfordert erhebliche Rechenressourcen und Speicher, da die Gradienten für alle Parameter gespeichert und aktualisiert werden müssen. Es besteht das Risiko des katastrophalen Vergessens, bei dem das Modell das beim Vortraining erworbene allgemeine Wissen „vergisst“.

Parametereffizientes Fine-Tuning (Parameter-Efficient Fine-Tuning, PEFT)

Dies ist eine Familie von Methoden, die darauf abzielen, den Rechenaufwand beim Fine-Tuning zu reduzieren. Die Grundidee besteht darin, die meisten Parameter des vortrainierten Modells einzufrieren und nur eine kleine Anzahl neuer oder ausgewählter bestehender Parameter zu trainieren.

  • Beispiele für PEFT-Methoden:
    • Adapter (Adapters): In die Transformer-Architektur werden kleine, zusätzliche Adapter-Schichten eingefügt, und nur diese werden trainiert.
    • LoRA (Low-Rank Adaptation): Anstatt die vollständigen Gewichtsmatrizen zu aktualisieren, trainiert LoRA deren niedrigrangige Aktualisierungen (low-rank updates). Dies ermöglicht es, die Anzahl der trainierbaren Parameter um das Tausendfache zu reduzieren.
    • Prompt-Tuning: Den Eingabedaten werden trainierbare Vektoren, sogenannte „Prompts“, hinzugefügt, die zur Lösung der Aufgabe angepasst werden, während das Modell selbst eingefroren bleibt.
  • Vorteile von PEFT:
    • Effizienz: Reduziert den Speicher- und Rechenbedarf erheblich.
    • Modularität: Ermöglicht die einfache Anpassung eines einzigen vortrainierten Modells an eine Vielzahl von Aufgaben, indem für jede Aufgabe nur ein kleiner Satz angepasster Gewichte gespeichert wird.

Instruktions-Tuning (Instruction Tuning)

Dies ist eine spezielle Art des Fine-Tuning, die darauf abzielt, die Fähigkeit von LLMs zu verbessern, Anweisungen in natürlicher Sprache zu befolgen.

  • Funktionsprinzip: Das Modell wird auf einem Datensatz trainiert, der aus Paaren von „Anweisung – gewünschte Ausgabe“ besteht.
  • Ziel: Die Generalisierungsfähigkeit des Modells auf neue, bisher ungesehene Aufgaben zu verbessern, die in Form von Anweisungen beschrieben werden können. Modelle wie InstructGPT und FLAN-T5 sind prominente Beispiele für diesen Ansatz.

Siehe auch

  • Große Sprachmodelle
  • BERT
  • GPT

Literatur

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