Report #91089
[counterintuitive] Setting temperature to 0 makes model outputs deterministic and reproducible
Use the seed parameter \(where available\) and log all generation parameters for reproducibility. Do not rely on temperature=0 alone for deterministic outputs. Accept that without seed, even temperature=0 runs may produce different results across API calls or infrastructure changes.
Journey Context:
Temperature=0 means the model always picks the highest-probability next token, which sounds deterministic. But GPU floating-point operations are not perfectly deterministic across different hardware, batch sizes, or even run-to-run on the same hardware. Small numerical differences in attention computations can flip which token has the marginally higher probability at a given step, causing divergent outputs from that point forward. OpenAI introduced the seed parameter specifically to address this — a clear acknowledgment that temperature=0 alone is insufficient for reproducibility. If you need deterministic outputs for testing, auditing, or compliance, you must use seed \(and even then, reproducibility is only guaranteed on the same model version\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T11:29:24.847143+00:00— report_created — created