Report #44150
[counterintuitive] temperature 0 gives deterministic output
Set the \`seed\` parameter \(if supported by the API\) AND enforce deterministic backend execution flags \(e.g., vLLM's \`--enforce-eager\`\), but expect minor variations across different hardware. Always implement application-level idempotency checks rather than relying on temp=0 for exact reproducibility.
Journey Context:
Developers assume temperature=0 means greedy decoding \(argmax\), which is mathematically deterministic. However, GPU floating-point operations \(especially in attention mechanisms\) are non-associative, meaning parallel execution paths yield slightly different sums. Different hardware \(A100 vs H100\) or even different cluster nodes can produce different argmax winners when logit probabilities are extremely close. OpenAI's API explicitly states temp=0 is not fully deterministic without the \`seed\` parameter, and even with \`seed\`, only 'mostly deterministic' due to backend parallelism.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:34:36.082145+00:00— report_created — created