| # Local challenger train (SFT then RL) |
|
|
| Offline loop for an Albedo SN97 Qwen3.6-35B-A3B challenger. Starts from genesis, packs official gold turns with the live rewritten-submit protocol, LoRA-SFT, exports with **byte-identical** genesis metadata, local-duels, then light GRPO. |
|
|
| `proxy_score` is a gate, not the GLM checklist. Do not RL a model that submits without editing. |
|
|
| ## Commands |
|
|
| From the albedo repo root: |
|
|
| ```bash |
| source /workspace/.venv/bin/activate |
| export PYTHONPATH=/workspace/gpt/albedo/src:/workspace/gpt/albedo |
| pip install -e '.[train]' # once: trl, peft, accelerate, deepspeed |
| |
| # 1. pack official parquet (smoke first) |
| python -m local_train pack --smoke |
| python -m local_train inspect --pack /workspace/data/sft-packs/sft-64-smoke.jsonl |
| python -m local_train pack --max-examples 20000 |
| |
| # 2. LoRA SFT from genesis |
| python -m local_train sft --smoke |
| python -m local_train sft --pack /workspace/data/sft-packs/sft-20000-sft-pack.jsonl |
| |
| # 3. merge + copy genesis metadata |
| python -m local_train export --adapter /workspace/models/albedo-challenger-sft-adapter \ |
| --out-dir /workspace/models/albedo-challenger-sft |
| |
| # 4. hash + albedo check-model (does not run OpenSearch dedup) |
| python -m local_train check --path /workspace/models/albedo-challenger-sft |
| |
| # 5. live sanity chain (must pass before any on-chain commit — 1 miner-fault left bans) |
| python -m local_train chain-pack --mix-pack /workspace/data/sft-packs/sft-4000-sft-pack.jsonl |
| python -m local_train chain --challenger /workspace/models/albedo-challenger-rl --samples 3 --turns 32 |
| |
| # 6. go/no-go duel (8×12, then 32×12) |
| python -m local_train duel --challenger /workspace/models/albedo-challenger-sft --samples 8 --turns 12 |
| python -m local_train duel --challenger /workspace/models/albedo-challenger-sft --samples 32 --turns 12 |
| |
| # 7. GRPO only after go (edit rate ≥ 0.5 and submit ≫ 0) |
| python -m local_train rl --smoke |
| python -m local_train export --adapter /workspace/models/albedo-challenger-rl-adapter \ |
| --base /workspace/models/albedo-challenger-sft \ |
| --out-dir /workspace/models/albedo-challenger-rl |
| python -m local_train check --path /workspace/models/albedo-challenger-rl |
| ``` |
|
|
| ## Reward (RL) |
|
|
| Hard 0 on truncate / loop / no bash / leak / two submits with no edit between them (the live chain ban). Then edit-on-gold-path, exact submit, submit-before-edit penalty, dummy `newfile.py` / `filename.py` penalty. Not `proxy_score`. |
|
|