Temperatur
Der Regler, der bestimmt, wie mutig ein Sprachmodell aus seinen Möglichkeiten wählt – und der Grund, warum dieselbe Frage nicht immer dieselbe Antwort ergibt.
Ein Sprachmodell liefert bei jedem Schritt eine Liste möglicher nächster Tokens mit Wahrscheinlichkeiten. Die Temperatur verformt diese Liste, bevor gezogen wird: niedrig macht den Favoriten noch dominanter – vorhersehbar, sachlich. Hoch ebnet die Unterschiede ein – abwechslungsreich, aber fehleranfälliger.
Die Temperatur ändert nichts am Wissen des Modells, nur an der Auswahl. Verwandte Regler sind Top-p und Top-k, die unwahrscheinliche Kandidaten ganz abschneiden.
Wo die Temperatur ansetzt
Das Modell selbst entscheidet nichts. Es rechnet nur aus, wie gut jedes Token aus seinem Vokabular als Nächstes passen würde. Danach kommt ein separater, sehr einfacher Schritt: das Sampling – eines der Tokens wird ausgewählt. Genau dort, und nur dort, wirkt die Temperatur.
Selbst drehen
Das Modell soll den Satz ergänzen. Die Balken zeigen die Wahrscheinlichkeit jedes Kandidaten nach Temperatur und Top-p. Zieh 20 Mal und sieh dir an, was herauskommt:
Was mathematisch passiert
Das Modell gibt für jedes Token eine rohe Punktzahl aus, einen Logit. Aus diesen Punktzahlen werden mit der Softmax-Funktion Wahrscheinlichkeiten. Die Temperatur T teilt die Punktzahlen vorher:
exp(zᵢ / T)
pᵢ = ─────────────────────
Σⱼ exp(zⱼ / T)Was das bewirkt, sieht man an drei Fällen:
T klein (0,3)
Abstände werden vergrößert. Der Favorit nimmt fast alles.
T = 1
Die Verteilung, wie das Modell sie gelernt hat.
T groß (2)
Abstände schrumpfen. Alles wird ähnlich wahrscheinlich.
Zwei Grenzfälle: Bei T → 0 wird immer das wahrscheinlichste Token gewählt („greedy decoding“); in der Praxis wird T = 0 genau so umgesetzt, statt durch null zu teilen. Bei sehr hohem T nähert sich die Auswahl reinem Zufall über das ganze Vokabular – der Text zerfällt zu Wortsalat.
Top-p und Top-k: den Schwanz abschneiden
Ein Problem der Temperatur: Ein echtes Vokabular hat zehntausende Tokens, die meisten davon völlig unpassend. Einzeln sind sie winzig wahrscheinlich, aber zusammen können sie bei höherer Temperatur einen spürbaren Anteil ausmachen – und dann landet irgendwann Unsinn im Text. Deshalb wird zusätzlich abgeschnitten:
Top-k
Nur die k wahrscheinlichsten Tokens bleiben, z. B. die besten 40. Einfach, aber starr: Mal sind 40 zu viele, mal zu wenige.
Top-p (Nucleus)
Es bleiben so viele der besten Tokens, bis zusammen p erreicht ist, z. B. 90 %. Bei klarer Lage nur wenige, bei offener Lage viele. Am weitesten verbreitet.
Danach
Die übrigen Wahrscheinlichkeiten werden wieder auf 100 % hochgerechnet, dann wird gezogen.
Im Widget oben kannst du das sehen: Bei Top-p 0,9 werden die Außenseiter durchgestrichen und können nicht mehr gezogen werden – egal wie hoch die Temperatur ist.
Wirkung auf ganze Texte
Weil eine Antwort aus Hunderten solcher Ziehungen besteht, summieren sich kleine Unterschiede. Eine Abweichung früh im Text führt das Modell auf einen ganz anderen Weg. So könnte die Bitte „Beschreib einen Herbstmorgen in einem Satz“ dreimal hintereinander ausfallen:
- Nebel liegt über den Feldern, und die Blätter leuchten in Rot und Gold.
- Nebel liegt über den Feldern, und die Blätter leuchten in Rot und Gold.
- Nebel liegt über den Feldern, und die Blätter leuchten in Rot und Gold.
- Nebel liegt über den Feldern, und die Blätter leuchten in Rot und Gold.
- Der Atem dampft in der kühlen Luft, während die Sonne sich durch den Dunst kämpft.
- Kaffeeduft, nasses Laub vor der Tür und ein Himmel, der sich noch nicht entschieden hat.
- Nebel tanzt Kastanien quer durch Morgenröhren, golden verschluckt.
- Der Herbst klirrt leise Teekannenlaub, oktoberig verschwommen wolle.
- Blätterfrost summend, Laterne Uhrzeiger Igelmorgen.
Welche Einstellung wofür?
| Temperatur | geeignet für |
|---|---|
| 0 – 0,3 | Code, Datenextraktion, Klassifizieren, Fakten – überall, wo es eine richtige Antwort gibt und Reproduzierbarkeit zählt |
| 0,5 – 1 | normale Gespräche, Erklärungen, Zusammenfassungen – der übliche Standard |
| 1 – 1,3 | Brainstorming, Ideen, Geschichten, Varianten – wenn Abwechslung wichtiger ist als Präzision |
| darüber | selten sinnvoll; der Text wird schnell unzusammenhängend |
In Chat-Apps kann man die Temperatur meist nicht einstellen; der Anbieter hat sie festgelegt. Über die API geht es, der erlaubte Bereich ist je nach Anbieter verschieden (oft 0 bis 1 oder 0 bis 2). Manche neueren Modelle, die vor der Antwort „nachdenken“, erlauben gar keine eigene Temperatur oder nur eingeschränkt.
Für Entwickler übersetzt
| Begriff | Entspricht ungefähr |
|---|---|
| Logits | ein float[] mit einer Punktzahl pro Token im Vokabular – die eigentliche Ausgabe des Modells |
| Sampling | gewichtete Zufallsauswahl aus einem Array, wie ein Glücksrad mit unterschiedlich großen Feldern |
| Temperatur | ein Skalierungsfaktor für die Feldgrößen, bevor gedreht wird |
| T = 0 | argmax – kein Zufall mehr |
| Seed | wie new Random(42): gleicher Startwert, gleiche Zufallsfolge (wenn der Anbieter das unterstützt) |
int ziehe(float[] logits, float T, Random rnd) {
if (T == 0) return argmax(logits); // greedy
double[] p = new double[logits.length];
double max = max(logits), sum = 0;
for (int i = 0; i < p.length; i++) {
p[i] = Math.exp((logits[i] - max) / T); // "- max" nur gegen Überlauf
sum += p[i];
}
double r = rnd.nextDouble() * sum; // Glücksrad drehen
for (int i = 0; i < p.length; i++) {
r -= p[i];
if (r <= 0) return i;
}
return p.length - 1;
}Das ist im Prinzip der komplette Mechanismus – ein paar Zeilen nach Milliarden Rechenschritten im Modell.