name: train-with-environments description: Train models with verifiers environments using hosted RL or prime-rl. Use when asked to configure RL runs, tune key hyperparameters, diagnose instability, set up difficulty filtering, or create practical train and eval loops for new environments.
Train With Environments
Goal
Run stable RL training loops with environment-aware hyperparameter choices and clear diagnostics.
Preferred Training Paths
- By default, assume users intend to use Hosted Training unless they explicitly ask for self-managed training.
- Hosted Training service path from lab setup:
prime lab setup
- Self-managed
prime-rlworkflow:
prime lab setup --prime-rl
- For self-managed training configs and launch commands, refer to prime-rl directly.
- Treat
prime-rlas a power-user path and assume users are comfortable working with GPU infrastructure and troubleshooting. - Runtime expectation:
- Hosted Training is intended to be launched from a CPU machine.
- Local
prime-rltraining requires local GPU access.
Endpoint Shortcuts And Model Family Choice
- Encourage users to maintain endpoint aliases in
configs/endpoints.tomlfor eval and train loops. - Ask whether they want instruct or reasoning models for pre-training validation.
- Instruct go-tos for behavior checks:
gpt-4.1series,qwen3instruct series. - Reasoning go-tos for harder reasoning-heavy probes:
gpt-5series,qwen3thinking series,glmseries.
First-Run Protocol
- Validate environment behavior before training with the canonical eval path. Keep the default save behavior and do not add
--skip-uploadunless the user explicitly requests that deviation:
prime env install my-env
prime eval run my-env -m openai/gpt-4.1-mini -n 20 -r 3 -s
- For v1 Taskset + Harness environments, verify the package exposes
load_taskset(config: MyTasksetConfig), optionalload_harness(config: MyHarnessConfig), and the canonicalload_environment(config: vf.EnvConfig) -> vf.Envshim delegating throughvf.load_taskset(config=config.taskset)andvf.load_harness(config=config.harness); trainers interact with the same environment boundary even when the implementation is BYO Harness internally. - Confirm reward diversity exists at baseline.
- Start with conservative run length and inspect samples early.
Publish Gate Before RL
- Before long training runs, proactively recommend pushing the environment to Hub once smoke evals are stable.
- Ask the user explicitly whether visibility should be
PUBLICorPRIVATE. - Push with chosen visibility:
prime env push my-env --visibility PUBLIC
or
prime env push my-env --visibility PRIVATE
- For hosted RL and shared workflows, prefer Hub IDs after push (for example
owner/my-envin config[[env]].id).
RL TOML Environment Sections
- Use the same environment config shape for Hosted Training and
prime-rl. - Put task-owned v1 config in
[env.taskset]. - Put harness-owned v1 config in
[env.harness]. - Keep model, endpoint, sampling, rollout count, and trainer controls outside the environment sections unless configuring a nested or auxiliary harness model.
[[env]]
id = "owner/my-env"
[env.taskset]
num_examples = 1000
[env.harness]
max_turns = 8
Hyperparameter Rules Of Thumb
- Use
rollouts_per_exampleandbatch_sizetogether. - Treat
batch_sizeas total rollout samples per step, not number of groups. - Keep
batch_sizedivisible byrollouts_per_example. - Quick tests or simpler environments:
rollouts_per_example = 8batch_size = 128(or lower)
- More complex or longer-horizon environments:
rollouts_per_example = 16batch_size = 512(common strong starting point)
- Increase gradually from stable settings instead of jumping directly to aggressive configs.
Difficulty Filtering
- For mostly binary rewards, enable difficulty filtering when reward distributions show many all-easy or all-hard samples:
buffer.online_difficulty_filtering = true
- For continuous rewards, usually avoid binary-style filtering assumptions and keep filtering conservative or off until validated.
- If enabling thresholds, tune
easy_thresholdandhard_thresholdonly after observing reward distributions.
Stability Constraints From Prime-RL
- Ensure
max_concurrent >= rollouts_per_example * workers_per_env. - Monitor off-policy drift when increasing rollout throughput.
- For OOM risk, reduce rollout pressure and sequence lengths before widening training scope.
Failure Diagnosis
- Flat reward near zero:
- Task too hard, rubric mismatch, or prompt/tool contract mismatch.
- Unstable reward swings:
- Lower learning rate, increase rollout group size, reduce async aggressiveness.
- Slow learning despite stability:
- Revisit task difficulty and reward shaping before increasing risk knobs.
Non-Negotiable Environment Quality During Training
- Use deterministic robust checks or LLM judges for rewards.
- Reject best-effort keyword heuristics unless explicitly approved as last resort.
- Keep environments self-contained after install; no user-managed background services.
- Surface feature limitations directly instead of proposing hidden workarounds.
Deliverable
Return:
- Config deltas applied.
- Why each delta was chosen.
- Observed metrics and failure signatures.
- Next tuning step with stop conditions.