Repository navigation
fix: decisions on docs and rollout bugs - #9
Merged
Merged
Conversation
Remove the eight summary and phase docs. Leave the 11 DPO and PPO failures red, with a note on which side is wrong. Pin host memory only when CUDA exists, and keep sampled tokens shaped [batch, 1].
This was referenced Oct 30, 2026
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.
What changed
Owner decisions applied on top of the S0.3 branch.
docs/COMPLETION_SUMMARY.md,docs/PHASE_1_3_SUMMARY.md,docs/RESEARCH_REPORT.md,results/benchmarks.md,docs/PHASE_1_CONFIG.md,docs/PHASE_2_PPO.md,docs/PHASE_3_CLI.md, anddocs/PHASE_4_BENCHMARKS.md.docs/index.mdnow points only at docs that remain.CODE_MAP.mdis not written here.ROADMAP.mdrecords a judgment for each of the 13 failures. The 11 DPO and PPO failures are unchanged. Noxfailand no skip.RolloutBuffercallspin_memory()only whentorch.cuda.is_available().RolloutGenerator._sample_tokenreturns[batch, 1]instead of a squeezed 1-D token, so the time-axiscatworks.How it works
pin_memory()asks the CUDA caching allocator for page-locked host memory. The CPU wheel has no accelerator, so the call raises. The guard keeps the detached CPU tensor and pins it only when CUDA is present.torch.multinomial(..., num_samples=1)returns[batch, 1]. The oldsqueeze(-1)made that[batch].torch.caton dim 1 then had no dim 1. The generator now concatenates those[batch, 1]steps into[batch, response_length].The DPO margin test expects the mean of policy chosen minus policy rejected (1.5 on its fixture). The code subtracts the reference gap as well and gets 0.4. The beta test uses a fixture whose policy gap equals the reference gap, so every beta produces
-logsigmoid(0). The PPOtrain_stepgathers withgather(1, ...)and the test model mean-pools the sequence to[batch, vocab]. Those stay open for S0.6 against TRL. Details are in the S0.6 notes.How to verify
Local result: ruff passes. Pytest is 71 passed, 11 failed.
tests/test_rollout.pyis 3 passed.ROADMAP.mdis tracked.agent.mdis ignored.PR 7's README does not say the CLI was validated on a T4. It says
run-ppoonly writes a config andrun-dpodoes not train.What is still not proven
The 11 red tests. No TRL parity. No end-to-end CLI run. No GPU number. S0.4 has not started.