Skip to main content
Flash trains a LoRA adapter on a curated catalog of base models. Set the base model with one line in your config, then list the live catalog from the CLI:

Catalog

Every catalog model supports SFT, GRPO, and OPD and hybrid reasoning (“thinking”).

Context window and LoRA rank

Each base model is served at a fixed context window (max_model_len) and accepts LoRA adapters up to a per-model max rank. flash train enforces both at submit: a config whose max_context_tokens exceeds the served context, whose GRPO/OPD prompt plus max_completion_tokens cannot fit, or whose lora_rank exceeds the cap, is rejected.

Serving capacity

Managed serving keeps one engine per base-model tier and loads trained adapters as LoRA slots on that tier. The smaller catalog models and the 4B serve on Modal L4 instances; the 9B and 27B serve on an H100 tier and the 35B on an H200 tier.

Serving prices

Serving is billed per token after deployment. Prompt and completion tokens have separate per-model rates, and cached prompt tokens use the model’s cached-input rate. The prices below are per 1M tokens; your Freesolo billing dashboard shows the charges you accrue. The Cached prompt column is the rate for prompt tokens served from the automatic prefix cache. See Billing for how prefix caching works and when it applies.

Reasoning (“thinking”) models

Every catalog model is hybrid-reasoning: it runs with or without an explicit reasoning step. Turn reasoning on with one line in your config:
See the thinking field in the configuration reference.

Choosing a model

Start small

Use Qwen/Qwen3.5-0.8B or 2B to validate your setup and data cheaply. Get a run working before you scale.

Scale up for quality

Move to Qwen/Qwen3.5-4B or 9B once the task is wired up and you want stronger results. Larger models cost more per run.

Pick a model, then train

Set model in your config and submit a run.