Report #77688
[counterintuitive] Does temperature 0 make LLM output deterministic
Set the \`seed\` parameter alongside \`temperature=0\` and implement exact string matching checks in your tests, as temperature 0 alone does not guarantee deterministic outputs across API calls due to floating-point accumulation variations in distributed GPU clusters.
Journey Context:
Developers assume temperature 0 forces argmax \(greedy\) decoding, meaning the output must be identical every time. However, LLM APIs run on distributed infrastructure where floating-point operations are non-associative. Slight differences in hardware allocation between requests change the accumulation order of logits, leading to different argmax selections. OpenAI introduced the \`seed\` parameter specifically to force deterministic node assignment and cache states to mitigate this.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T12:59:44.462523+00:00— report_created — created