Mathematische Grundlagen

Die mathematischen Konzepte hinter Large Language Models

Matrix-Vektor-Multiplikation

Die Matrix-Vektor-Multiplikation ist eine Operation, bei der eine Matrix mit einem Vektor multipliziert wird. Daraus erhält man einen neuen Vektor. Man kann sich diesen Vorgang wie eine Transformation des ursprünglichen Vektors vorstellen. Die Matrix agiert wie eine Funktion, die den Vektor nimmt und ihn streckt, staucht, dreht oder in eine andere Dimension projiziert.

Die Berechnung

Um einen Vektor mit einer Matrix zu multiplizieren, wird jede Zeile der Matrix als eigener Vektor betrachtet. Das Ergebnis für jede Komponente des neuen Vektors ist das Skalarprodukt der entsprechenden Zeile der Matrix mit dem Eingabevektor.

12 34
×
5 6
=
? ?

Berechnung der ersten Komponente:

12 34
×
5 6
=
1·5 + 2·6 = 17 ?

Berechnung der zweiten Komponente:

12 34
×
5 6
=
17 3·5 + 4·6 = 39

Das Ergebnis ist ein neuer Vektor. Die Anzahl der Zeilen der Matrix bestimmt die Dimension des Ausgabevektors. Hat die Matrix m Zeilen, hat der resultierende Vektor m Komponenten.

Geometrische Interpretation

Jede Matrix kann als eine Kombination von Transformationen wie Drehung, Skalierung und Scherung gesehen werden. Wenn man einen Vektor mit einer Matrix multipliziert, wendet man diese Transformation auf den Vektor an.

  • Eine Rotationsmatrix dreht den Vektor um einen bestimmten Winkel.
  • Eine Skalierungsmatrix streckt oder staucht den Vektor.
  • Eine Projektionsmatrix projiziert den Vektor auf eine niedrigere Dimension (z.B. von 3D auf 2D).

Stellen Sie sich einen Vektor als Pfeil im Raum vor. Die Matrix "verschiebt" diesen Pfeil an eine neue Position und ändert möglicherweise seine Länge und Richtung.

Anwendung in LLMs

In Neuronalen Netzwerken und LLMs ist die Matrix-Vektor-Multiplikation allgegenwärtig. Die Gewichtsmatrizen in den Schichten eines Netzwerks (z.B. in einem MLP) sind das Herzstück des Lernens.

Ausgabe = Aktivierungsfunktion(Gewichtsmatrix × Eingabevektor + Bias)

Das Training eines LLMs besteht im Wesentlichen darin, die Werte in diesen Gewichtsmatrizen so anzupassen (siehe Backpropagation), dass die Transformationen der Eingabedaten zu den gewünschten Ergebnissen führen.

Skalarprodukt

Das Skalarprodukt ist ein wichtiger Bestandteil der linearen Algebra. Es nimmt zwei Vektoren und gibt eine einzelne Zahl (einen Skalar) zurück. Diese Zahl sagt etwas über die Beziehung zwischen den beiden Vektoren aus, insbesondere wie sehr sie in die gleiche Richtung zeigen.

Geometrische Interpretation

Das Skalarprodukt kann so ausgedrückt werden:

a · b = ||a|| ||b|| cos(θ)

Hierbei ist ||a|| die Länge (Betrag) des Vektors a, ||b|| die Länge des Vektors b, und θ (theta) ist der Winkel zwischen den beiden Vektoren.

Visualisierung

Stellen Sie sich zwei Vektoren im 2D-Raum vor. Ihre Längen und der Winkel zwischen ihnen bestimmen das Skalarprodukt.

a
b

Das Skalarprodukt misst, wie stark der eine Vektor auf den anderen projiziert wird.

Anwendung in LLMs

In Large Language Models (LLMs) werden Wörter und Konzepte als Vektoren in einem hochdimensionalen Raum dargestellt (siehe Vektoreinbettung). Das Skalarprodukt ist hier entscheidend, um die Ähnlichkeit zwischen Vektoren zu messen.

Softmax-Funktion

Die Softmax-Funktion ist eine zentrale Aktivierungsfunktion in neuronalen Netzen, insbesondere in der Klassifikation und bei der Vorhersage von Wahrscheinlichkeiten. Sie wandelt einen Vektor von beliebigen reellen Zahlen in einen Wahrscheinlichkeitsvektor um, dessen Elemente zwischen 0 und 1 liegen und sich zu 1 summieren.

Softmax Transformation

Eingabe (Logits)

Hund:
2.0
Katze:
1.0
Vogel:
0.1
Softmax

Ausgabe (Wahrscheinlichkeiten)

Hund:
65.9%
Katze:
24.2%
Vogel:
9.9%

Σ = 100%

Softmax verstärkt Unterschiede und normalisiert zu einer Wahrscheinlichkeitsverteilung.

Eigenschaften und Vorteile

  • Wahrscheinlichkeitsverteilung: Die Ausgabe ist eine diskrete Wahrscheinlichkeitsverteilung über die möglichen Klassen.
  • Monotonie: Grössere Eingabewerte führen zu grösseren Wahrscheinlichkeiten.
  • "Soft" Max: Im Gegensatz zur "Hardmax"-Funktion, die nur die Klasse mit dem höchsten Wert auswählt, gibt Softmax eine weiche Zuweisung zu allen Klassen, wobei die Vertrauenswahrscheinlichkeit für jede Klasse angegeben wird.
  • Gradientenfreundlichkeit: Softmax ist differenzierbar, was für das Training von neuronalen Netzen mittels Backpropagation unerlässlich ist.

Anwendung in LLMs

In Large Language Models (LLMs) wird die Softmax-Funktion in einem der letzten Schritte verwendet. Besonders bei der Sprachmodellierung spielt sie eine entscheidende Rolle:

  • Next-Token-Prediction: Das Modell berechnet für jedes Wort in seinem Wörterbuch eine Punktzahl (siehe LLM-Aufbau). Softmax macht daraus eine Rangliste mit Wahrscheinlichkeiten. Das Wort mit der höchsten Prozentzahl wird meistens als nächstes Wort ausgewählt.
  • Texte einordnen (Klassifikation): Wenn die KI entscheiden muss, ob eine Kundenbewertung positiv oder negativ ist, gibt Softmax an, wie sicher sich das Modell bei der jeweiligen Kategorie ist.