Report #94845
[counterintuitive] temperature 0 deterministic output
Set the \`seed\` parameter alongside \`temperature=0\` and use a fixed system fingerprint, or rely on local deterministic frameworks \(like vLLM with specific flags\) if absolute bit-perfect reproducibility is required across runs.
Journey Context:
Developers assume temperature=0 means greedy decoding which means deterministic. However, top-p or top-k sampling might still be active, and even if disabled, distributed GPU floating-point operations are non-associative. Different hardware threads or nodes will sum floating point numbers differently, causing divergent token selection. OpenAI explicitly added the \`seed\` parameter because temp 0 alone was non-deterministic.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T17:46:45.460247+00:00— report_created — created