Zurück zum Archiv
#ai#llm#glossary#aigen

Softmax

Das Modell hat drei mögliche Satzfortsetzungen mit den Zahlen 2, 1 und 0 bewertet. Du möchtest die Antwort nach ihren Wahrscheinlichkeiten ziehen. Rohe Bewertungen sind keine Wahrscheinlichkeiten: Sie können negativ sein und summieren sich nicht zu eins.

Softmax rechnet solche Bewertungen, die sogenannten Logits, in positive Anteile mit der Summe eins um. Zuerst wendet es die Exponentialfunktion an — eine mit der Bewertung wachsende Umwandlung — und teilt dann jeden Wert durch die gemeinsame Summe.

Für die Bewertungen 2, 1, 0 erhalten wir etwa 67%, 24%, 9%. Der erste Kandidat hat die größte Chance, aber die Zufallsauswahl kann weiterhin den zweiten oder dritten bestimmen. Softmax selbst führt keine Zufallsauswahl durch und ergänzt keinen Text.

Dieselben Berechnungen können die Anteile von Fragmenten in Attention bestimmen. Dann betreffen die Anteile das Mischen von Informationen und nicht die Wahl des nächsten Tokens. Selbst eine Wahrscheinlichkeit von 67% für ein Token bewertet nicht die Wahrheit der gesamten Aussage.

Mechanismus und Details

pi=exp⁡(zi)∑j=1nexp⁡(zj)p_i=\frac{\exp(z_i)}{\sum_{j=1}^{n}\exp(z_j)}

ziz_i ist der Logit des Kandidaten ii, nn die Kandidatenanzahl und pip_i seine Wahrscheinlichkeit. Bei einem Tensor muss die Normalisierungsachse angegeben werden: Für jede entlang dieser Achse betrachtete Gruppe beträgt die Summe eins. Die Formel und die Bedeutung des Parameters dim nennt die PyTorch-Dokumentation: Softmax.

Ein kleines Beispiel

Nehmen wir drei Logits: [ln⁡2;0;0][\ln 2;0;0]. Nach dem Exponentieren erhalten wir [2;1;1][2;1;1] und nach der Division durch die Summe [0,5;0,25;0,25][0{,}5;0{,}25;0{,}25]. Das ist ein eigenes Rechenbeispiel. Der erste Kandidat hat die doppelte Wahrscheinlichkeit jedes der anderen Kandidaten.

In einem Sprachmodell bestimmt der LM Head die Logits für das Vokabular. Softmax wandelt sie in eine Verteilung um, wählt aber selbst kein Token aus. Im Beispiel bestimmt die Auswahl des Maximums immer den ersten Kandidaten; das Ziehen aus der Verteilung kann jeden der drei ergeben.

Bei Scaled Dot-Product Attention normalisiert dieselbe Operation die Vergleichswerte zwischen Query und Key. Die Komponenten sind dann Gewichte von Positionen, keine Wahrscheinlichkeiten von Vokabulartokens. Beide Anwendungen beschreibt Attention Is All You Need, §3.2.1 und §3.4.

Ein Wert von 0,5 in der Tokenverteilung bedeutet keine 50%ige Wahrscheinlichkeit, dass der gesamte Satz wahr ist. Das Ergebnis betrifft die Auswahl aus konkreten Kandidaten bei einer gegebenen Eingabe, nicht die Bewertung des Wahrheitsgehalts einer Aussage.