flash train. Every run
requires model and environment.id; SFT also requires a positive
train.max_examples. algorithm defaults to sft. Run authenticated
submit-time preflights with
flash train config.toml --dry-run; it creates state=dry_run, allocates no GPU,
and charges nothing.
Top level
[environment]
[environment].pip is the worker install path for reward and environment
dependencies. Do not rely on pyproject.toml, requirements.txt, or lockfiles
inside the published environment artifact for managed training installs. Those
files may describe your local development environment; runtime packages belong
in this config list.
Never put secret values in [environment.params]; it becomes part of the run
spec. Every name you list under [environment].secrets must
resolve to a value in your shell, .env, or .env.local when you submit.
Reserved platform secret names such as FREESOLO_API_KEY, HF_TOKEN,
GITHUB_TOKEN, RUN_ID, and HF_REPO are owned by Flash.
[train]
Server-side
--dry-run resolves warm-start rank and alpha. Local --cost may
warn and estimate with defaults.
SFT-specific
GRPO-specific
OPD-specific
OPD derives updates from epochs, retained prompts, and batch size unless positivemax_steps sets an exact horizon. An SFT warm-start is recommended.
There is no auxiliary EOS loss. For termination problems, use an SFT warm-start,
verify teacher quality, set a hard prompt budget, add suitable
stop_sequences,
and inspect truncated_rollouts.
The local --cost estimate may itemize teacher usage for diagnosis, but only GPU
time is charged. advantage_clip and thinking_length_penalty_coef do not apply
to OPD.
Structured outputs
structured_outputs constrains GRPO and OPD rollouts; SFT rejects it. Set
exactly one JSON schema, regex, choice, or json_object constraint. Optional
whitespace controls are documented in the guide. Combining constraints or using
unsupported grammar forms is rejected. With thinking = true, reasoning remains
free-form and the grammar begins after </think>. See
Structured outputs.
[gpu]
Provider and exact-GPU constraints persist across retries and cost estimates.
Use
exact_type when hardware identity matters.
[worker_env] (advanced)
[worker_env] passes non-secret string values into the worker environment and is
serialized into the run spec and artifacts. Use it only for harmless labels or
feature flags. Secret-looking keys and values are rejected; runtime secrets
belong in [environment].secrets. SEED, RUN_ID, HF_REPO, and FLASH_ARM
are control-plane-owned and cannot be overridden here.
[wandb]
Optional Weights & Biases logging labels. These values are
non-secret; set WANDB_API_KEY in your local environment when submitting a run
to enable logging to your own W&B account.
Overrides & composition
Set any value at submit time without editing the file. The override flag is--set (repeatable, dotted keys):
Next steps
Training
See these fields in the run lifecycle.
Troubleshooting
Fix common config and run errors.