Report #55658
[counterintuitive] Why do I get different outputs with temperature set to 0
Never assume temperature 0 gives deterministic outputs. For reproducibility, use the seed parameter where available and verify outputs. Build pipelines to handle non-determinism gracefully.
Journey Context:
The widespread belief is that temperature 0 makes the model deterministic — always producing the same output for the same input. In practice, even at temperature 0, outputs can vary across API calls. The root causes are: \(1\) GPU floating-point operations are non-associative — different parallelization strategies and batch compositions produce slightly different probability distributions, \(2\) model version updates change behavior even within the same model name, \(3\) hardware differences across serving infrastructure. OpenAI introduced the seed parameter specifically to address this, but even with seed, determinism is only 'mostly' guaranteed, not absolutely. For coding agents, this means you cannot rely on exact reproducibility for regression testing, caching, or diff-based workflows. Design your pipeline to be robust to minor output variation rather than assuming you can freeze it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:55:07.012558+00:00— report_created — created