fix(local): what running the local arm for real found - #96
Merged
Merged
Conversation
Run against a pinned Qwen2.5-1.5B-Instruct on a GPU over the public fixture, the local arm completed end to end and turned up four faults. The eight workers each loaded their own checkpoint on the first case; it now loads once behind a lock, and forward passes run one at a time with latency timed after the wait. --device reaches the adapter and the artifact. The readout makes one pass at load, so kernel setup is not a case's latency: p99 fell from 10042 ms to 487 ms. The report called refused cases cache hits and blamed a missing confidence on yes/no answers; both now say what happened. Part of #3. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #3. This covers the local half; the generative half is still open.
The run
local_logitsran againstQwen/Qwen2.5-1.5B-Instruct, pinned to commit989aa7980e4cf806f80c7fef2b1adb7bc71aa306, on the vendored JevBench fixture. It used an RTX 4060 with CUDA torch 2.14 and transformers 5.17 on Windows.It finished end to end: the artifact was written, every metric was computed against its null, and the report rendered. Two runs gave identical figures.
pay_subject_to_10000_sublimit), each namedA 1.5B model at chance on this fixture is the null working as intended. The refusals are the designed behavior: truncating an option to its first token would change the question.
What it found
device, but the CLI never passed it, so every CLI run was on CPU.--devicenow passes it through, the dry run shows it, and the artifact records it next to the timeout.TransformersReadoutnow makes one warm-up pass when it loads, and p99 fell from 10,042 ms to 487 ms.len(records) - len(live)as cache hits, so the 66 refusals printed as "excluding 66 cache hits" on a run with no cache. It now counts only answers served from cache.Not changed
Docs
README's adapters table now says the local arm has run for real, and the Limitations line narrows to the generative transport. The local section shows the pinned command and
--device, notes that PyPI's Windows torch is CPU-only, and says to expect refusals on this fixture.docs/example-report.mdis unchanged. The full gate, the site build and its checks, and the prose checks all pass.🤖 Generated with Claude Code