Harden and document the validated GRPO pipeline#2
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fdcb1448dd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if grpo_cfg.get("base_adapter_dir") not in (None, ""): | ||
| add_candidate("configured", grpo_cfg.get("base_adapter_dir"), "outputs/dpo_adapter") | ||
| add_candidate("dpo", config.get("dpo", {}).get("output_dir"), "outputs/dpo_adapter") |
There was a problem hiding this comment.
Skip stale DPO adapters when DPO is disabled
When dpo.enabled is false but an old outputs/dpo_adapter from a previous experiment still exists, these candidates are still checked before the current Fact-SFT/CPT outputs, so GRPO can silently train from a stale DPO adapter even though the run intentionally disabled DPO. This can corrupt experiment results; only fall back to the DPO output when DPO is active or when the user explicitly chooses that adapter.
Useful? React with 👍 / 👎.
Summary
grpo_judge_v2validation and opt-in built-in rewardsValidation
py -m unittest discover -s tests -v: 29 passedpy -m compileall -q pipeline scripts tests serve_inference.py: passedgrad_normin CPT/SFT/DPO/GRPO; DPO -> GRPO changed 192/192 LoRA tensorsQuality boundary
The pipeline completed successfully, but the current 0.8B run is not presented as production-ready: the heuristic safety evaluation passed only 2/5 cases and GRPO completion clipping remained high. Documentation now requires independent safety review, finite-gradient checks, real adapter deltas, reward variance, and clipping review before release.