Report #40579
[counterintuitive] Does setting temperature to 0 make LLM output deterministic
Set the \`seed\` parameter alongside \`temperature=0\` and minimize system prompt variations, but recognize that absolute determinism across different API deployments or hardware is not guaranteed due to floating-point non-associativity.
Journey Context:
Developers assume \`temp=0\` means greedy decoding \(argmax\), which is mathematically deterministic. However, LLM inference runs on distributed GPUs where floating-point addition is non-associative. The order of operations changes based on hardware routing, batch sizes, and tensor parallelism, causing the exact logit values to fluctuate slightly. This means the top token can flip between runs. OpenAI introduced the \`seed\` parameter to attempt best-effort determinism, but they only guarantee consistency up to system-level changes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:35:03.037441+00:00— report_created — created