Repository navigation
Add typed Rollout Runtime v2 and batched KV-cache HF backend - #92
Merged
Merged
Conversation
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.
Summary
hf_referenceas the default for every existing recipe and add opt-inhf_cachedcompile_backendwithout changing scoring or training forwardssamples_per_promptis typed now but values above one still fail during config validation. Transactional grouped semantics remain PR 3.Correctness
On a locally constructed tiny Qwen3 CUDA model,
hf_cachedmatched per-requesthf_referencefor greedy and seeded stochastic generation:2e-4[4]and[2,2]: identical token ids, log-probabilities within2e-4RTX 4080 profile
Same WSL2 RTX 4080, Qwen3-0.6B revision and preregistered workload identity as the frozen reference baseline. This is an implementation profile, not a committed scientific result.
Eight consecutive cached generations held reserved memory constant at
1,520,435,200bytes; teardown residual allocated memory was8,520,704bytes. The first Inductor compile took over two minutes, so compilation is
explicit and documented rather than a legacy default. Eager cached generation
was correct but measured only about 1.38x on the r256 greedy cell. A static-cache
attempt regressed to about 1.13x and was not retained.
Validation
ruff check .ruff format --check .mypy src/miniverl2410 passed, 9 skipped, 24 deselectedfor non-GPU/non-network tests; coverage83%10 passed, 2433 deselectedfor GPU tests16 passed, 2427 deselectedfor network testsmkdocs build --strictPR verification artifacts:
5b96e5fb5919c184298378498183242f63a257bc40d07049018b3cd6ac5d5ca8bee73b417f05bb8df2b67f59943aeb0fada123281e60cc0dc4b22d4d3b801774Frozen calculator SHA-256 remains
53fc1d4d5b7adee09618d77ad62d4086ba56b78569832d6fc7c3bcd5c2695bbc.The frozen
hf_referenceresult SHA-256 remainsb25daee7ee726b7a7be18d7dbe26590fb61325bf212cfd9e7110b69f5fa8889c.