Sampling und Temperatur
Wie aus einer Wahrscheinlichkeitsverteilung ein konkretes Wort wird: Temperatur, Top-k, Top-p und wann welcher Wert richtig ist.
Die Idee
Nach jedem Schritt hat das Modell für jedes mögliche nächste Token eine Wahrscheinlichkeit. Jetzt muss eines gewählt werden. Immer das wahrscheinlichste zu nehmen ergibt korrekte, aber eintönige Texte. Zu würfeln ergibt lebendige, aber unzuverlässige.
Die Temperatur regelt, wie stark gewürfelt wird.
Die Regler
| Regler | Wirkung |
|---|---|
| Temperatur 0 | Immer das wahrscheinlichste Token |
| Temperatur 1 | Genau nach der Modellverteilung |
| Temperatur über 1 | Unwahrscheinliches wird wahrscheinlicher |
| Top-k | Nur die k wahrscheinlichsten kommen infrage |
| Top-p | Nur so viele, bis ihre Summe p erreicht |
Was die Regler tun
import numpy as np
def softmax(z, T=1.0):
z = np.asarray(z, float) / T
z = z - z.max()
e = np.exp(z)
return e / e.sum()
logits = [4.0, 3.5, 2.0, 1.0, 0.5]
for T in (0.2, 0.7, 1.0, 1.5):
p = softmax(logits, T)
print(f"T={T:.1f} {np.round(p, 3)} Entropie {-(p*np.log2(p)).sum():.2f}")
# Niedrige Temperatur -> eine Option dominiert, Entropie klein.
# Hohe Temperatur -> alles gleicht sich an, Entropie gross.Empfehlungen nach Aufgabe
| Aufgabe | Temperatur | Top-p |
|---|---|---|
| Felder aus einem Dokument ziehen | 0 | 1,0 |
| Klassifizieren | 0 | 1,0 |
| Code erzeugen | 0 bis 0,2 | 0,95 |
| Zusammenfassen | 0,3 | 0,9 |
| Kundenantwort formulieren | 0,5 | 0,9 |
| Ideen sammeln | 0,9 | 0,95 |
Die Formeln
Top-p ist Top-k überlegen, weil sich die Kandidatenmenge an die Situation
anpasst. Steht eine Fortsetzung praktisch fest, enthält V_p genau ein Token;
ist die Lage offen, enthält sie viele. Ein festes k wäre in beiden Fällen
falsch.
Warum Temperatur 0 nicht exakt reproduzierbar ist
Drei Ursachen, in dieser Reihenfolge:
- Gleitkommaaddition ist nicht assoziativ; unterschiedliche Thread-Aufteilungen ergeben minimal verschiedene Logits.
- Bei Stapelverarbeitung ändert sich die Aufteilung mit der Zusammensetzung des Stapels, und damit das letzte Bit.
- Bei zwei fast gleich großen Logits kippt die Auswahl schon durch dieses letzte Bit.
Für die Nachweisführung folgt daraus: Nicht die Reproduzierbarkeit wird protokolliert, sondern das Ergebnis samt Modellversion, Parametern und Zeitpunkt. Siehe Protokollierung.
Der Zusammenhang mit Halluzination
Eine hohe Temperatur erhöht die Wahrscheinlichkeit, ein Token zu wählen, dem das Modell selbst nur geringe Wahrscheinlichkeit gegeben hat. Bei Faktenaussagen ist das genau der Mechanismus, über den falsche Angaben entstehen.
Umgekehrt lässt sich die Entropie der Ausgabeverteilung als Warnsignal nutzen: Eine hohe Entropie über mehrere aufeinanderfolgende Token bedeutet, dass das Modell rät. Diese Größe ist billig zu erheben und ein brauchbarer Auslöser für eine Prüfung. Siehe Warum Modelle halluzinieren.