Codeseys's picture
Spike v0.0 laydown + spike 001 VALIDATED
35581fd
|
Raw
History Blame Contribute Delete
1.78 kB
# Spike 002a — Trace Collection via TRL + OpenEnv
> **Risk:** MEDIUM. Validates whether TRL's `GRPOTrainer` + OpenEnv environment registry produce clean, schema-stable trace JSONL.
> **Status:** 📋 planned (depends on 001 verdict)
> **Comparison spike:** runs head-to-head with `002b-trace-collection-prime-rl/`.
## Question (Given / When / Then)
**Given** Qwen3-7B base + TRL `GRPOTrainer` + a SWE-bench-lite OpenEnv,
**when** we run 100 rollouts,
**then** all rollouts emit complete `(state_t, action_t, reward_t)` tuples to JSONL with no truncation or schema drift, and the JSONL is loadable by spike 003 without preprocessing.
## Approach (TBD)
1. Set up a minimal TRL `GRPOTrainer` config pointing at SWE-bench-lite as an OpenEnv environment.
2. Run 100 rollouts, capturing trace tuples to `traces.jsonl`.
3. Verify schema, count truncations, count missing reward signals.
## Why this risk-tier
If the trace stream is dirty (missing fields, schema drift mid-rollout, truncated states), spike 003 (DPO-pair extraction) gets nothing useful. But this risk is *medium* not *high* because both TRL and OpenEnv are well-tested upstream — the fail mode is integration glue, not feasibility.
## Files (planned)
- `setup.py` — TRL + verifiers + transformers + accelerate install
- `train_config.py` — minimal `GRPOConfig`
- `run_rollout.py` — collect 100 rollouts to traces.jsonl
- `validate_schema.py` — schema check + completeness stats
- `traces.jsonl` (gitignored — large; uploaded to dataset repo)
- `verdict.md` — final verdict
## Hardware
- 1× A100 80GB on Modal (per `modal-llm-training` skill)
- Wallclock estimate: ~4–8 hours for 100 rollouts (depends on rollout length)
## Blocked on
Spike 001 verdict. If 001 fails, this spike is moot.