Transfer Learning gilt als Schlüssel zur Leistungsfähigkeit großer Sprachmodelle.

Transfer Learning in LLMs

Beim Finetuning werden ggf. firmeninterne Dokumente zum Training verwendet. So kann sich ein Modell an den Kontext bestimmter Aufgaben anpassen.

Transfer Learning ist deutlich effizienter als Modelle für jeden Kontext von Grund auf neu zu trainieren. Das teure Basismodell kann flexibel auf verschiedene Aufgaben spezialisiert werden.

Mit diesem Ansatz ist es lohnenswert das Basismodell mit mehr Daten zu trainieren, da es für verschiedene Aufgaben weiterverwendet werden kann.

Beispielsweise könnte ein auf Buchrezensionen trainiertes Basismodell auf Filmrezensionen spezialisiert werden, da die Anwendungen ähnlich sind.

Randwahrscheinlichkeit

Die Randwahrscheinlichkeit beschreibt die Wahrscheinlichkeit eines Datenpunktes zu einer bestimmten Klasse zu gehören, unabhängig von anderen Parametern.

Ist die Wahrscheinlichkeit dass ein zufällig ausgewähltes Bild eine Katze zeigt, ohne weitere Merkmale zu beachten.

Transfer Learning

Homogenes Transfer Learning

Quell- und Zieldomäne haben ähnliche Aufgaben und Daten. Die erlernten Merkmale und Strukturen lassen sich effizienter übertragen und liefern mit kleinen Anpassungen bereits gute Resultate.

Heterogenes Transfer Learning

Hier sind Daten und Aufgaben sehr verschieden. Beispielsweise wenn ein Basismodell auf die Klassifikation von Bildern trainiert wurde und nun zur Generierung von Texten genutzt werden soll.

Die Unterschiede erschweren die Anwendbarkeit des Basismodells, es sind umfangreiche Anpassungen nötig.

Warum ist das besser als ein untrainiertes Modell?

Auch wenn die Art der Aufgaben sehr unterschiedlich ist, kann ein Teil der Muster übereinstimmen.
Beim weiteren Training kann eine Art “Converter” entstehen, um die zunächst inkompatiblen Informationsformate ineinander umzuwandeln.

Domänenunterschiede

Die Unterschiede zwischen den Domänen werden mit vier grundlegenden Ansätzen reduziert.

  • Instanzbasiert
  • Merkmalbasiert
  • Parameterbasiert
  • Relationalbasiert

Instanzbasiert

Proben aus der Quelldomäne werden durch Gewichtung angepasst um sie in der Zieldomäne besser nutzen zu können.
Die Datenpunkte werden als unterschiedlich gewichtet, entsprechend ihrer Anwendbarkeit für die Zieldomäne.

Diese Strategie ist Modell- und Datentypsunabhängig. Sie lässt sich sehr gut an verschiedene Aufgaben anpassen.

Merkmalbasiert

Modifikation einer Domäne um die Lücke zwischen Quelle und Ziel zu verringern. Anwendbar wenn die Zielvariablen identisch sind.

Asymmetrische Merkmalsumwandlung (Für Sentiment-Analyse):
Beispielsweise die Wandlung eines auf Filmrezensionen trainierten Modells auf Produktbewertungen. Das Modell soll in beiden Fällen die Stimmung der Kunden aus den Bewertungen erkennen.

Symmetrische Merkmalsumwandlung (Für Dokumentenklassifikation):
Trainiert auf Nachrichten, soll auch mit wissenschaftlichen Artikeln arbeiten.
Es werden beide Domänen in einen gemeinsamen Merkmalsraum transformiert (symmetrisch)

Parameterbasierte Methoden

Basiert auf der Annahme, dass ähnliche Aufgaben auch ähnliche Modellstrukturen aufweisen.
Wissen wird übertragen, indem Parameter zwischen den Modellen der Quell- und Zieldomäne geteilt werden.

Relationalbasierte Methoden

Relationale Methoden übertragen Wissen, indem sie Muster in den Strukturen von Quell- und Zieldaten erkennen. Trotz Unterschiede in den Inhalten selbst können die Beziehungen ähnlich sein.

Rekurrente Neuronale Netze (RNNs)

Sprache enthält einen fundamentalen Aspekt der Zeit. Sowohl gesprochene Sprache, als auch schriftliche Texte enthalten eine zeitliche Reihenfolge.
Bisher beschriebene Modelle berücksichtigen diesen Aspekt nicht, alle Eingaben werden gleichzeitig verarbeitet.

Bei Feed-Forward Netzen wird mit einem Sliding-Window gearbeitet, damit nur eine begrenzte Anzahl von Wörtern betrachtet wird um Vorhersagen zu treffen.

In RNNs ist ein Mechanismus integriert, der direkt mit der sequenziellen Natur der Sprache umgeht und sie ohne willkürlich festgelegten Fenstergrößen behandelt.
Durch Rückkopplung können sie vorherige Kontexte repräsentieren, somit können Entscheidungen auch aufgrund von vorherigen Entscheidungen getroffen werden.

Typische Anwendung von RNNs sind

  • Sprachmodellierung:
    Vorhersage von Wortfolgen basierend auf vorherigem Text
  • Textklassifikation
    Aufgaben wie Sentimentanalyse
  • Sequenzmodellierung
    Aufgaben wie PoS Tagging

Die zyklische Struktur macht RNNs besonders leistungsstark bei der Verarbeitung zeitlicher Daten, birgt jedoch auch einige Herausforderungen.
Die Struktur erschwert das Verständnis der Funktionsweise des Netzwerks.
Auch das Training ist schwieriger, da bei besonders langen Sequenzen der Gradient verschwinden oder explodieren kann (Diminishing and Exploding Gradients)

Elman-Netze

Auch “einfache rekurrente Netze” sind eine eingeschränkte Architektur die sich für die Sprachverarbeitung als äußerst effektiv erwiesen haben.

Links dargestellt ist ein Elman-Netz, bei dem nur die Neuronen in einer versteckten Schicht rekurrent verbunden sind. Rechts in der Abbildung ist ein vollständig verbundenes rekurrentes neuronales Netz dargestellt.
Da deutlich weniger Verbindungen vorhanden sind ist das Training und die Nachvollziehbarkeit von Ergebnissen erleichtert.

Bei der Berechnung eines Ergebnisses werden dabei die neuen Eingaben mit Informationen aus vorherigen Zeitpunkten kombiniert.
Dabei kann der Kontext bis zum Beginn der Sequenz zurückreichen.

Um zu berechnen, wird der Eingang mit der Gewichtsmatrix multipliziert und die versteckte Schicht des vorherigen Zeitschritts mit der Gewichtsmatrix .
Diese Werte werden addiert und durch eine gewählte Aktivierungsfunktion geleitet um den Aktivierungswert der aktuellen versteckten Schicht zu erhalten.

Um die Rekurrenz zu eliminieren kann man das Netz “entrollt” darstellen.

In der Darstellung sind die jeweiligen Eingaben aus der Eingabesequenz.
Die sind das Feedback aus allen vorherigen Schritten.

Wortschatz

Der Wortschatz eines Modells ist die Menge aller einzigartigen Wörter die verwendet werden.
Die Größe des Wortschatzes wird mit dargestellt. Sie gibt die Anzahl der in Trainings- und Testdatensatz vorkommenden Wörter an.

Dabei hat jedes Wort im Wortschatz ein zugehöriges Embedding die in der Embedding Matrix gespeichert ist. Die Dimension der Embedding ist in der Regel sehr viel kleiner als die Dimension des Wortschatzes selbst.

Embedding Matrix

Repräsentiert die Einbettung der Wörter im Wortschatz. Jedes Wort wird durch einen Vektor in einem kontinuierlichen Raum dargestellt.

Bei einem Wortschatz der Größe und einer Embedding-Dimension hat die Embedding-Matrix die Dimension .
Jede Spalte der Matrix stellt den Embedding Vektor eines bestimmten Wortes dar.

Bei der Verarbeitung einer Eingabesequenz wird der entsprechende Embedding-Vektor von jedem Wort abgerufen.
Dabei haben ähnliche Worte auch ähnliche Vektoren, um semantische Beziehungen zu erfassen.
Während des Trainings wird auch die Embedding-Matrix optimiert, um Beziehungen besser abzubilden.
Die Matrix spielt dabei eine entscheidende Rolle um die diskreten Eingabeworte in stetige Zahlenwerte umzuwandeln, die für die Verarbeitung durch das neuronale Netz notwendig sind.

Architektur

Die Eingabe besteht dabei aus einer Reihe aus Wörtern , jedes dargestellt als ein One-Hot-Vektor der Größe .
Die Embedding Matrix enthält die Embeddings für alle Wörter .

Das Embedding wird mit der Gewichtsmatrix multipliziert und zum versteckten Layer des vorherigen Schritts (gewichtet durch die Gewichtsmatrix ) addiert, um einen neuen versteckten Layer zu berechnen.
Der neue versteckte Layer wird verwendet, um eine Ausgabeschicht zu erzeugen, die durch eine Softmax-Schicht geleitet wird, um eine Wahrscheinlichkeitsverteilung über den gesamten Wortschatz zu generieren.
Die Wahrscheinlichkeit, dass das Wort am Index das nächste Wort ist, beträgt

Modell-Dimensionen

Bei der Sprachmodellierung mit RNNs nehmen wir an, dass die Embedding-Dimension und die verborgene Dimension gleich sind. Wir bezeichnen beide als Modell-Dimension

Bewertung

RNNs sind besonders gut im Umgang mit Sequenzdaten, wie Sprache, Zeitreihen oder Musik.
Sie können Eingaben beliebiger Länge verarbeiten, was sie von den klassischen Neuronalen Netzen mit fester Eingabegröße abhebt.

Durch das Vanishing Gradient Problem haben diese Modelle teilweise Schwierigkeiten von langfristigen Abhängigkeiten zu lernen. Sie werden aufgrund ihrer Natur nicht parallelisiert trainiert, da jeder Schritt auf dem vorherigen aufbaut.
Auch neigen sie besonders zu Overfitting, insbesondere bei kleineren Datensätzen.

Long Short-Term Memory (LSTM) Network

Ist eine besondere Art von RNN um das Problem der explodierenden oder verschwindenden Gradienten zu umgehen.
Bei längeren Sequenzen zeigt diese Architektur bessere Leistungen als ein naives RNN.

Es werden spezielle Speicherzellen eingesetzt, um Informationen auch über längere Zeiträume zu behalten.
Im Gegensatz zu klassischen RNNs wird eine innere Zelle und drei spezielle “Gates” eingesetzt.

  • Eingangsgate
    Bestimmt wie stark ein neuer Wert in die Zelle einfließt
  • Vergessensgate
    Bestimmt, wie viel eines Wertes in der Zelle verbleibt
  • Ausgangsgate
    Kontrolliert, wie stark der Zellwert für die nächste Berechnung verwendet wird


Alle Gates werden durch die Eingangsdaten aktiviert oder deaktiviert. Dabei werden ebenfalls Gewichte berechnet, die während des Trainings angepasst werden.

Die Zustände des Gates werden aus den Vektoren und berechnet.
Dabei hat das Netz drei logische Eingaben:

  • Die aktuelle Eingabe
  • Den bisherigen Verborgenen Zustand
  • Der Kontext-Wert aus der Speicherzelle

Gate-Berechnungen

Jedes Gate ist ein Vektor. Es wird berechnet als die gewichtete Summe der Eingabedaten und die dann in eine Aktivierungsfunktion (z.b. Sigmoid) gegeben werden.

  • Forget Gate:
  • Input Gate:
  • Output Gate:

Dabei sind mit und jeweils die beim Training erlernten Gewichtsmatrizen gemeint.

Bei jeder Berechnung werden zuerst die eigentlichen Eingabedaten aus dem neuen Input und dem bisherigen Zustand berechnet.

Es wird der Kontextzustand aktualisiert um die neuen Informationen zu berücksichtigen

Schließlich wird der neue verborgene Zustand unter Verwendung des aktuellen Kontextzustands und des neuen Output Gates berechnet

Hier sind und wieder trainierte Matrizen.
Das Symbol steht für die elementweise Multiplikation zweier Vektoren. (“Hadamard-Produkt”)

Gated Recurrent Unit (GRU)

Sind eine Art von RNN.
Sie lösen ebenfalls das Problem der Exploding Gradients und sind eine neuere und vereinfachte Variante der LSTMs.
Die Funktion von Forget-Gates und Input Gates wird in einem einzelnen Gate kombiniert.

Eine GRU-Einheit hat zwei Hauptzustände:

  • : Der verborgene Zustand zur Zeit
  • : Der Reset-Zustand. Er bestimmt, wie viel vom vorherigen Zustand beibehalten wird.

Die Werte werden nach folgenden Vorschriften berechnet

  • Update-Gate:
  • Reset-Gate:
  • Neuer Zustand:
  • Ausgabe:

Was ist ?

Mit in der Gleichung des Ausgabe-Gates ist der Vektor gemeint, der die Dimension von hat und nur Einsen enthält.

GRU-Netze sind aufgrund der einfacheren Architektur leichter zu trainieren als LSTMs, zeigen aber oft vergleichbare oder bessere Leistungen.
Sie sind also eine leistungsfähige und effiziente Alternative zu LSTM-Netzen.

Transformer

Bestehen aus zwei Hauptkomponenten, Encoder und Decoder.

Sie wandeln jeweils von oder in eine interne Informationsdarstellung um. Der Encoder verwendet dabei Attention um Informationen zu gewichten, bevor sie in der internen Darstellung gespeichert werden.

Attention-Mechanismus

Mit Attention können Modelle bestimmte Teile der Eingabe stärker gewichten. Dadurch bleibt der Fokus auf relevanten Informationen.

Welche Teile im Fokus stehen hängt dabei von der Eingabe selbst ab.

Self-Attention

  1. Eingaberepräsentation
    Jedes Wort oder Token wird als Vektor dargestellt. Dieser wird typischerweise aus Einbettungen abgeleitet
  2. Abfrage-, Schlüssel- und Wertvektoren
    Für jedes Wort der Eingabe werden drei Vektoren erzeugt
    1. Abfragevektor
      Repräsentiert das Wort für das Informationen gefunden werden sollen
    2. Schlüsselvektor
      Repräsentiert potenzielle Wörter, die relevante Informationen liefern könnten
    3. Wertvektor
      Enthält die tatsächlichen Informationen die aus den Attention Scores aggregiert wurden
  3. Berechnung der Attention-Scores
    Der Attention Score zwischen einem Abfragevektor und allen Schlüsselvektoren wird in der Regel durch ein Skalarprodukt berechnet.
    Der Score misst dabei die Ähnlichkeit zwischen einer Abfrage und einem Schlüssel
  4. Normalisierung der Werte mit Softmax
    Die Werte werden vor der weiteren Verarbeitung normalisiert
  5. Gewichtete Summe der Wertvektoren
    Endgültiger Output für jedes Wort wird als gewichtete Summe der Wertvektoren berechnet. Gewicht sind dabei die Aufmerksamkeitswerte

Embedding

Eingabewörter werden mit einem vortrainierten Word Embedding in Vektoren umgewandelt.

Zur Verarbeitung werden alle Vektoren zu einem Tensor zusammengefasst.
Jede Zeile des Eingabetensors entspricht so einem Embedding-Vektor.
All diese Vektoren haben die selbe Länge.

Einzelschritte: Query, Key und Value

Diese Vektoren werden verwendet um die Wichtigkeit des Tokens im Verhältnis zu anderen Tokens zu bestimmen. Dabei werden alle drei Vektoren gleichzeitig für alle Eingaben berechnet, indem der Eingabetensor mit lernbaren Gewichtsmatrizen multipliziert wird.

Jede Zeile des resultierenden Tensors entspricht dabei dem Vektor eines Eingabetokens.

Attention Score

Man berechnet das Skalarprodukt. zwischen jedem Abfrage- und jedem Schlüsselvektor. Anschließend werden die Werte mit “SoftMax” normalisiert.
Diese Operation wird als Matrixmultiplikation der und Tensoren realisiert. Jeder Wert der Ausgabematrix entspricht einem Skalarprodukt.

Die Werte in der Produktmatrix werden durch geteilt um die Größe der Zahlen zu begrenzen.
Dabei ist die Dimension des Key-Vektors. (Also die Anzahl Spalten der untransponierten -Matrix)

Attention Heads

Sind eine Möglichkeit gleichzeitig mehrere Aspekte der Eingabedaten zu analysieren.

  • Lernfähige Gewichtsmatrizen
    Jeder Head besitzt eigene Gewichtsmatrizen die beim Training optimiert werden.
  • Parallele Verarbeitung
    Die Berechnungen lassen sich gleichzeitig ausführen
  • Vielfältige Informationsaufnahme
    Verschiedene Merkmale können fokussiert werden. (Syntax / Semantik)
  • Aggregation der Resultate
    Ausgabe aller Heads werden zusammengeführt um eine umfassende Repräsentation zu erzeugen.
  • Erweiterte Modellkapazität
    Mehrere Heads erhöhen die Fähigkeiten des Modells, ohne die Gesamtzahl der Parameter stark zu erhöhen

Fazit

Self-Attention mit mehreren Heads ermöglicht es mehrere Aspekte des Kontext zu berücksichtigen. Auch die Berechnung lässt sich im Gegensatz zu den RNNs parallelisieren und ist somit deutlich effizienter beim Training mit großen Daten.
Der Mechanismus ist grundlegend für die Leistung von Modellen wie GPT oder BERT, da er ihnen die Möglichkeit gibt menschenähnlichen Text zu verstehen und zu generieren.