Report #49322
[counterintuitive] temperature 0 gives deterministic output
Set the \`seed\` parameter alongside \`temperature=0\` and pin to a specific model version \(e.g., \`gpt-4-0125-preview\`\) to achieve truly deterministic outputs. Do not rely on temperature 0 alone for automated testing or reproducible pipelines.
Journey Context:
Setting temperature to 0 forces the model to pick the highest probability token at each step. Developers assume this means the output is deterministic. In reality, modern LLM inference uses distributed GPU floating-point operations \(like All-Reduce\), which are non-associative. The order of operations can vary slightly across runs, causing minute floating-point differences in logits. These tiny differences can flip the top token at a critical branching point, leading to divergent completions. OpenAI had to introduce an explicit \`seed\` parameter to guarantee reproducibility.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:16:19.050359+00:00— report_created — created