Skip to content

serving: audit the 27B on exact tokens only until sparkinfer's /v1/score logprobs are fixed - #1760

Merged
anderdc merged 1 commit into
testfrom
serving/27b-audit-bands
Sep 8, 2026
Merged

serving: audit the 27B on exact tokens only until sparkinfer's /v1/score logprobs are fixed#1760
anderdc merged 1 commit into
testfrom
serving/27b-audit-bands

Conversation

@anderdc

@anderdc anderdc commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

First mainnet rounds on the 27B failed every honest miner with reference disagreement: logprob drift. Root cause, measured on compute3 (both cards, deterministic, repeatable): sparkinfer 19ef39ec2's /v1/score with completion_token_ids returns the correct argmax at every position (agreement 1.000 on every prompt tried) but a wrong logprob value at the first forced positions, ~20–30 nats off at position 1 on every call, position 0 on the first call after a generation, and occasionally a later position. Generation agrees bit-for-bit across the two servers (0.0 drift), so the model and pin are fine; the teacher-forced scoring path is not.

This keeps min_prefix_agreement 1.0 (miners must reproduce the reference's greedy tokens exactly, which is the strong half of the check) and lifts the two logprob bands to 100 nats for this release only, via the release's audit block. The validator is already running this as a loadout override (SERVING_LOADOUT_PATH). Upstream issue to follow; revert the bands when the scoring path is fixed and re-qualified.

https://claude.ai/code/session_01VjhStJbNW6WzxucTcwuw4y

…ore logprobs are fixed

On sparkinfer 19ef39ec2, /v1/score with completion_token_ids returns the
right argmax at every position (argmax agreement 1.000 on every prompt
tried) but a wrong logprob VALUE at the first forced positions: ~20-30
nats off at position 1 on every call, position 0 on the first call after
a generation, and the occasional later position. Deterministic, on both
compute3 cards, 2026-09-08. Generation itself agrees bit-for-bit across
servers (0.0 drift), so the logprob check was failing every honest miner
on the first mainnet rounds ("reference disagreement: logprob drift").

The release's audit block keeps min_prefix_agreement 1.0 (the miner must
reproduce the reference's greedy tokens exactly) and lifts the two
logprob bands to 100 nats until upstream fixes the scoring path. The
validator already runs this from a loadout override.

Claude-Session: https://claude.ai/code/session_01VjhStJbNW6WzxucTcwuw4y
@anderdc
anderdc merged commit 0ed7cfb into test Sep 8, 2026
3 checks passed
@anderdc
anderdc deleted the serving/27b-audit-bands branch September 8, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant