Report #91492
[counterintuitive] Why temperature 0 doesn't give deterministic reproducible outputs
Use the seed parameter \(where available\) alongside temperature=0 for reproducibility. Never assume temperature=0 means identical outputs across runs, API versions, or deployments.
Journey Context:
Developers set temperature to 0 expecting deterministic, reproducible outputs. Temperature=0 selects the highest-probability token at each step \(greedy decoding\), but this doesn't guarantee determinism in practice. GPU floating-point operations are not perfectly deterministic across runs due to parallel reduction order. Different API versions may use different model weights or tokenization. Some implementations apply top-k or top-p filtering even at temperature 0. OpenAI introduced a dedicated seed parameter specifically because temperature=0 alone was insufficient for reproducibility — and even with seed, they only guarantee 'mostly deterministic' behavior, not byte-level identical outputs across all conditions. The belief that temperature=0 equals determinism causes silent failures in testing and evaluation pipelines.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:09:38.745328+00:00— report_created — created