I’m working on a project that requires fully deterministic outputs across different machines using Ollama. I’ve ensured the following parameters are identical:
Model quantization (e.g., llama2:7b-q4_0).
Seed and temperature=0.
Ollama version (e.g., v0.1.25).
However, the hardware/software environments differ in:
GPU drivers (e.g., NVIDIA 535 vs. 545).
CPU architecture (e.g., Intel x86 vs. AMD).
OS (e.g., Windows vs. Linux). Question:
Theoretically, should these configurations produce identical outputs, or are there inherent limitations in Ollama (or LLMs generally) that prevent cross-platform determinism?
Are there documented factors (e.g., hardware-specific floating-point precision, driver optimizations, or OS-level threading) that break reproducibility despite identical model settings?
Does Ollama’s documentation or community acknowledge this as a known limitation, and are there workarounds (e.g., CPU-only mode)?
Example code:
import ollama
response = ollama.generate(
model="llama2:7b-q4_0",
prompt="Explain quantum entanglement.",
options={'temperature': 0, 'seed': 42}
)
print(response['response'])
The Ollama API docs mention seed and temperature but don’t address cross-platform behavior.