Determinism
Determinism on the tiyuvta inference API is gated, not promised: the behaviors below are checked by batteries in the public engine repo, and each section links its receipt.
Seed semantics
| you send | you get |
|---|---|
seed omitted | fresh entropy per request — repeated requests vary |
seed: 7 (any explicit value) | a fixed stream — same seed, same tokens |
seed: 0 | honored as seed 0, a valid fixed stream — zero is a value, not "unset" |
Supply a seed whenever you want reproducibility; omit it to get
variation. This matches OpenAI's default-when-omitted semantics.
Temperature semantics
| you send | you get |
|---|---|
temperature omitted | 1.0 — the OpenAI default, not silent greedy |
temperature: 0 | greedy argmax — honored exactly, deterministic token selection |
| any explicit value | honored exactly |
An omitted-temperature request is pure temperature-1.0 sampling
(top_p 1.0, top_k/min_p disabled,
penalties off). That regime rides the fast in-graph sampled speculative
path, so the OpenAI default is not a slow fallback.
r = client.chat.completions.create(
model="qwen3.6-27b",
messages=[{"role": "user", "content": "hello"}],
seed=7, # fixed stream: same seed, same tokens
temperature=0.7,
)
greedy = client.chat.completions.create(
model="qwen3.6-27b",
messages=[{"role": "user", "content": "hello"}],
temperature=0, # greedy argmax — honored as 0, not treated as unset
) What's gated
- Kernel bit-audit. Every CUDA kernel is checked bit-for-bit against a CPU reference before anything else runs.
- Serving isolation. Greedy output is byte-identical whether a request arrives alone or inside a full batch — the serve gate replays the same prompts at c=1 and c=16 and byte-compares every stream. Your output does not depend on your neighbors.
- Speculative-decode consistency. Speculative decoding is gated self-consistent across draft depths — K=1–3 as the listing gate on the production SKU, the full K=1–8 battery standing on the MTP-capable artifact — and spec-constrained output is additionally gated byte-identical to plain-constrained. Speed, not paraphrase.
The one bounded exception
Serving primes prompts batched while the historical oracle stream is tokenwise — different numeric configs by design. On near-tie prompts the first generated token can differ from the tokenwise oracle, and everything after it follows the new prefix. Measured on a 144-prompt six-model sweep: 10/144 first tokens flip (~7%), every flip at a top1–top2 margin ≤ 0.70. Within one config the output is bit-deterministic — this is config roulette on a near-tie, not nondeterminism under load. Receipt: prime-gate-coverage-20260802.
- docs/SERVING.md — the serve-surface contract
- docs/TESTING.md — kernel bit-audit and gate batteries
- research/serve-compat-20260802 — omitted seed/temperature semantics, gated with the official openai SDK
- research/concat-prime-exact-20260802 — the isolation contract under batched prefill
- research/prime-gate-coverage-20260802 — the ~7% near-tie first-token drift bound