Report #61648
[counterintuitive] Setting temperature=0 should produce identical outputs for identical inputs
Use the seed parameter \(where available\) alongside temperature=0 for best-effort reproducibility. For production systems requiring true determinism, cache and reuse outputs rather than regenerating. Never build logic that assumes temperature=0 guarantees identical results across calls.
Journey Context:
Temperature=0 selects the highest-probability token at each step \(greedy decoding\), but this is not the same as deterministic execution. GPU floating-point operations — particularly the softmax computation over vocabularies of 100k\+ tokens — accumulate rounding errors differently across runs, devices, and batch configurations. The same prompt on two different GPU architectures can produce different greedy token selections when probability differences fall within floating-point error margins. OpenAI introduced the seed parameter specifically to address this, but even seed is documented as 'mostly deterministic' with small variations possible. The widespread belief conflates greedy decoding \(a token selection strategy\) with reproducibility \(a systems-level guarantee\). They are orthogonal concerns.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T09:57:56.677475+00:00— report_created — created