Top-p (Nucleus Sampling)
Eine Sampling-Methode bei der Textgenerierung, die nur die wahrscheinlichsten Tokens berücksichtigt, deren kumulative Wahrscheinlichkeit einen Schwellenwert p erreicht.
Ein Parameter bei der Textgenerierung, der steuert, wie kreativ oder deterministisch die Ausgabe eines Sprachmodells ist.
Die Temperatur ist ein numerischer Parameter zwischen 0 und 2, der steuert, wie “mutig” ein Sprachmodell bei der Wahl des nächsten Wortes ist. Niedrige Werte machen das Modell präzise und vorhersehbar, hohe Werte machen es kreativer und überraschender – aber auch fehleranfälliger. Für faktische Aufgaben wie Code-Generierung empfiehlt sich 0.0–0.3, für kreatives Schreiben 0.7–1.0. Werte über 1.0 produzieren oft inkohärente Ausgaben und sind selten sinnvoll. Die Temperatur ist einer der wichtigsten Parameter beim Einsatz von LLMs – und einer der ersten, den man anpassen sollte, wenn die Ausgaben zu repetitiv oder zu chaotisch sind.
Die Temperatur steuert, wie “mutig” ein Sprachmodell bei der Wahl des nächsten Wortes ist.
Beispiel: Auf die Frage “Die Hauptstadt von Frankreich ist…”
| Temperatur | Verhalten | Ideal für |
|---|---|---|
| 0 | Deterministisch | Fakten, Code, Datenextraktion |
| 0.3 | Leicht variabel | Zusammenfassungen, Übersetzungen |
| 0.7 | Ausgewogen | Allgemeine Aufgaben, Chat |
| 1.0 | Kreativ | Kreatives Schreiben, Brainstorming |
| 1.5+ | Sehr kreativ/chaotisch | Experimentell, oft weniger kohärent |
Die Temperatur T skaliert die Logits vor der Softmax-Funktion:
P(token_i) = exp(logit_i / T) / Σ exp(logit_j / T)
Token-Wahrscheinlichkeiten für "Die Katze sitzt auf der ___"
T=0.3 (scharf) T=1.0 (normal) T=2.0 (flach)
Matte ████████████ 85% ████████ 45% ████ 25%
Couch ██ 10% ████ 25% ███ 20%
Bank █ 3% ██ 15% ███ 18%
Wolke ░ 1% █ 8% ██ 15%
Mond ░ 1% █ 7% ██ 12%
from openai import OpenAI
client = OpenAI()
# Gleiche Frage, verschiedene Temperaturen
for temp in [0, 0.5, 1.0, 1.5]:
response = client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "Nenne eine Farbe"}],
temperature=temp,
max_tokens=10
)
print(f"T={temp}: {response.choices[0].message.content}")
# Typische Ausgabe:
# T=0: Blau
# T=0.5: Blau
# T=1.0: Grün
# T=1.5: Koralle
Die Temperatur ist wie der Kreativitätsregler eines Autors: Bei niedriger Temperatur schreibt er vorhersehbar und präzise (Sachbuch), bei hoher Temperatur experimentell und überraschend (Lyrik).
Niedrige Temperatur (0-0.3): Deterministische, fokussierte Ausgaben
Hohe Temperatur (0.7-1.5): Kreativere, vielfältigere Ausgaben
Beeinflusst die Wahrscheinlichkeitsverteilung bei der Token-Auswahl
Faktische Antworten
Niedrige Temperatur (0-0.2) für präzise, konsistente Antworten bei Fakten-Fragen
Kreatives Schreiben
Höhere Temperatur (0.7-1.0) für abwechslungsreiche Texte und Ideen
Code-Generierung
Niedrige Temperatur (0-0.3) für korrekten, vorhersehbaren Code
Brainstorming
Hohe Temperatur (0.8-1.2) für vielfältige Ideen und unerwartete Vorschläge
Es gibt keinen universell besten Wert. Für Fakten und Code: 0-0.3. Für allgemeine Aufgaben: 0.5-0.7. Für kreative Aufgaben: 0.7-1.0. Experimentiere mit deinem Use Case.
Das Modell wählt immer das wahrscheinlichste Token. Die Ausgabe ist (fast) deterministisch – gleiche Eingabe ergibt gleiche Ausgabe. Ideal für reproduzierbare Ergebnisse.
Ja, aber OpenAI empfiehlt, nur einen der beiden Parameter zu ändern und den anderen auf dem Standardwert zu lassen, um unvorhersehbare Interaktionen zu vermeiden.