Reinforcement Learning
Transformers
English
post-training
distillation
agentic-coding
composer-2.5
cursor
kimi-k2
grpo
dapo
diloco
openenv
trl
verl
research
methodology
Instructions to use Codeseys/composer-replication-framework with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Codeseys/composer-replication-framework with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Codeseys/composer-replication-framework", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Commit History
-
Wave 3: close the HIGH review findings (kill-switch wiring, HeldoutSplit, EKS entrypoint bug)
Baladithya Balamurugan +1: Claude Opus 4.8 (1M context)Phase-7 reconciliation of the concurrent review team's findings (research/review-*.json). HIGH: - R1: wire HeldOutGuard into ComposerReplicationTrainer — OPTIONAL + OFF by default (no heldout_guard => byte-identical legacy behavior). When configured, _maybe_update_killswitch folds in-loop reward + injected heldout_eval_fn() + token-mean KL into the guard at the logging cadence; fires a hard (CollapseStopError) or soft (control.should_training_stop) halt. The #2 collapse safeguard now actually fires instead of being dead code. + test_killswitch_integration.py. - R2: build composer_replication/safety/holdout.py — HeldoutSplit disjointness enforcer (id-set + optional content-hash; .split()/.validate()/.assert_disjoint; raises HeldoutOverlapError listing the leak). The un-built second half of C1 that keeps the guard's proxy-real gap signal meaningful. +10 tests. Re-exported from safety/__init__ (resolves the dangling refs). - R3: EKS entrypoint contract bug — replica_e…bd0c358 -
Wave 1: fix 8 failing tests + unblock Docker E2E + dep/doc debt
Baladithya Balamurugan +1: Claude Opus 4.8 (1M context)Backlog-resolution Wave 1 (branch backlog/goal-resolution-2026-06). Bugs fixed: - B1 (P0): generate spikes/007 synthetic_session_with_error.jsonl fixture (never committed — .gitignore *.jsonl whitelisted the sibling but not this one) → the 8 failing test_trace_examples_adapter tests now pass. Added the missing .gitignore whitelist line. - B2 (P2): [dev] extra was un-installable on Apple Silicon (pulled Linux-only torchft-nightly). Dropped diloco from base [dev]; added [dev-full] for Linux. - B3 (P2): [serverless] extra now includes s3fs/boto3/kubernetes (needed for real S3 rendezvous + the EKSExecutor/SageMakerExecutor adapters). Newly unblocked: - D1 (…-245d): Docker substrate E2E — Docker now available on host; both gates (4-gate substrate inversion + cache-scrub-in-container) PASS. Long-standing "hardware-blocked" item closed. Doc/API debt: - B4: reconciled divergent test counts (115/176/210/232) to one canonical figure measured this session: 266 passed / 62 skipp…c11cf49
-
Wave 16: install ergonomics + gradient evidence + SDPO end-to-end example
Five-track polish wave with mandatory cross-model adversarial review (deepseek-v4-pro + gemini-3.1-pro-preview, route-fidelity-verified via direct-urllib scatter; reviewers caught 2 real bugs that BOTH made it into the staged diff and would have shipped without the review): Wave 16a — Install ergonomics (extras pinning) pyproject.toml dropped three extras whose lower bounds were unsatisfiable on public PyPI and would have blocked any fresh user: - monarch>=0.4.1: PyPI 'monarch' tops out at 0.1.11 and is unrelated to Meta's actor framework; the real Monarch ships as torchmonarch-nightly with platform constraints. - prime-rl>=0.5: 'prime-rl' is not registered on PyPI at all; Prime Intellect publishes from source only. - data-juicer>=1.0: 'data-juicer' is not registered on PyPI; the closest match (py-data-juicer) has broken transitive deps. All three integrations import lazily, so the framework still loads cleanly without them. docs/TROUBLESHOO…c0a5ab7 -
Wave 15: 4-angle multi-model self-critique caught 2 math BLOCKERs in primary loss kernels; fixed against upstream byte-for-byte + GSM8K example + ergonomics
PHASE 15a: 4 parallel adversarial reviewers, each with different framing to maximize independent-angle coverage: - MATH (Opus 4.7): cloned upstream OPSD/TAID/PRIME-RL/SimPO, did line-by-line diff. Found 2 BLOCKERs all 8+ prior reviewers missed. - TESTS (Opus 4.7): scrutinized 3 high-stakes test files for weak assertions. Found PRIME-RL parity test silently never runs; bit-exact test uses allclose; entropy-OPD test is pure smoke. - DOCS (Opus 4.7): audited 6 major docs + ADRs. Found test-count drift (77/107/124 vs 145), compose_loss kwarg drift, stale "Deferred to Wave 14" claim, PRIME-RL test count 10 vs 16. - USER-JOURNEY (Opus 4.7): walked "RL-finetune Qwen-7B on GSM8K" end-to-end. Scored framework 2.4/5 with Real-Task-Path = 1/5. #1 friction: NO GSM8K example anywhere. All 4 reports saved to /tmp/wave15_*.md. Headline: math reviewer's upstream-clone-and-diff approach caught what paper-level review missed. PHASE 15b: synthesized findings into 5-task fix scatter. PHA…e5add15 -
Wave 14: close every Wave 13 review finding + 4 documentation files; Wave 14b: real PRIME-RL parity + multi-process DiLoCo convergence
PHASE A: 4 parallel impl subagents closed every Wave 13 cross-model review item. T1 \u2014 compose_loss integration (closes W13 BLOCKER 2): - Added `dpo_variant: 'dpo'|'simpo'`, `sdpo_wrapper: 'none'|'taid'|'entropy_opd'`, `taid_schedule_step`, `taid_total_steps` plus 5 tuning kwargs - 11 new integration tests in composer_replication/tests/test_compose_loss_integration.py - Bit-exact reproduction of legacy compose_loss output when defaults preserved - All 38 spike-005 tests still pass T2 \u2014 replaysim DJ adapter reshape (closes W13 Suggestion 3): - _dpo_pair_to_dj_record now emits BOTH flat strings AND chat-messages for dual-shape compatibility with data-juicer's text ops - _dj_record_to_normalized round-trips both shapes - default.yaml fixed: text_keys plural \u2192 text_key singular (caught a related bug in the same op set) - Real data-juicer e2e test runs DefaultExecutor on a 3-record fixture - 15 tests (was 9) T3 \u2014 MockManager DiLoCo integration (closes W13 Suggest…d9dd3a5