1. Choose a model
base_model_slug. Each entry describes that model’s supported options,
bounds, and defaults. A computed default has default_kind="computed" and a null
default; leave the option unset to let the server calculate it.
2. Start
RunOptions fields through options; a standalone
evaluation accepts a subset.
Omit options, or pass {}, to use the selected model’s defaults. Only set options
advertised by that mode’s list_options response; training and evaluation can have
different bounds.
batch_size counts eligible task groups per optimizer step, and group_size counts
trajectories within a group. For a short test run, lower both; default concurrency scales
with them. Nothing here caps total trajectories, so plan a budget before you start. See
training options for every setting and
reduce trajectory spend for the ones that control token use.
3. Watch progress and pick a checkpoint
no_signal_groups counts completed groups with identical rewards, which give zero
advantage in group-relative training. When these groups are filtered out, training
needs additional trajectories to fill the batch.
After the run succeeds, inspect its rewards and choose a checkpoint.
list_held_out_rewards returns the validation reward for each step:
round_completed, and completed_samples against expected_samples, before
comparing validation means. The agent’s Training tab shows run progress and checkpoints.
Evaluate that checkpoint before you deploy it.
4. Resume from a checkpoint
parent_checkpoint_id for
both resumed training and checkpoint evaluation. Resuming restores the optimizer, LR
schedule, and global step; set load_weights_only to true to start from the checkpoint’s
weights with fresh training state.
Training options
Pass these keys inoptions. The defaults below apply to every supported model unless
noted; list_options reports the bounds and defaults for the model you select. A default
written as null → a value is computed when you leave the option unset. With the default
batch_size of 32 and group_size of 8, that resolves to 512 concurrent training
trajectories and a minimum of 4 eligible trajectories per group.
Optimization
The learning rate rises linearly to
learning_rate over lr_warmup_steps, holds until step
lr_warmup_steps + lr_hold_steps, then follows a cosine curve down to
learning_rate × lr_min_ratio at the final step.
num_steps above 150 or lower lr_hold_steps.
Training filters
Reward 0 applies to training only; the recorded trajectory reward stays as logged. See
termination reasons.
Trajectories
Sampling
Validation during training
Reduce trajectory spend
Training is asynchronous: trajectories keep running up tomax_concurrent_trajectories,
including while an optimizer step is in progress. Each step trains on batch_size complete
groups that pass filtering. Groups whose trajectories all pass, all fail, or tie carry no
learning signal, so by default they are discarded after using tokens.
- Concurrency. The default oversamples by 2×. Lower
max_concurrent_trajectoriesto spend less on trajectories the trainer may not use, but keep it abovebatch_size × group_sizeso collection stays ahead of training. - Staleness. Trajectories that started more than
max_stalenesssteps before the current step are discarded: running ones are cancelled and finished ones are skipped. Lower values keep training closer to on-policy but discard more work.0cancels every trajectory still running when a step finishes. - Validation. With the defaults, a 100-step run validates 101 times on up to 50
tasks, about 5,000 extra trajectories. Set
val_interval_stepsto5or10, lowerval_num_tasks, or setval_interval_stepsto0and evaluate checkpoints after training.