Skip to main content
Fifteen minutes from nothing to a training run you can watch. The path below is deterministic: copy it and it runs.

Before you start

required
An administrator creates it, or your deployment uses single sign-on. You also need the console URL.
required
sf status prints both after you log in. Every profile name on this site — h200:8 and friends — is an example; use the ones your own sf status prints.
required
The scaffold trains Qwen/Qwen2.5-1.5B and pulls it from Hugging Face when the job starts. On an air-gapped network an administrator points the deployment at an internal mirror; see air-gapped deployments. Without it the job starts, stalls at downloading weights, and eventually times out.
optional
Only needed for sf dataset push and for automatic evaluation after training. This path works without it.
1

Install the CLI and create a project

Do not clone the platform repository — sf init is what creates your project. See sf init for what it puts on disk. Later, upgrade with sf update rather than reinstalling by hand.
2

Log in

Opens a browser. On an SSH session add --device-flow; in CI pass --token. Credentials land in ~/.forge/.
Prints your account, your quota, and the profile names this deployment actually has. Note them — the next step needs one.

Console sign-in. Username and password, or single sign-on where the deployment has it.

3

Create an experiment

Writes experiments/my-grpo/ with config.yaml, README.md and recipe.lock.json.
4

Tune and validate

Edit experiments/my-grpo/config.yaml. The keys people change most often — learning rate, batch size, sequence length — are at the top of the scaffold.
Checks types, ranges and batch-size divisibility against the method declaration. A typo fails here, in seconds, instead of after a queue wait.
5

Submit

Prints a job id. --profile is the only resource flag: h200 takes the registry default shape, h200:4 asks for four GPUs, h200:16 for two full nodes.A dirty working tree is refused unless you pass --allow-dirty, so a result stays traceable to an exact commit.
Status moves QUEUEDSUBMITTEDPENDINGRUNNING. Queued means admitted but not yet on the cluster — see job states.
6

Watch it in the console

Open the console, go to Jobs, and click into yours.

Job charts during a GRPO run: reward, accuracy, and training scalars.

Confirm it worked

Check these in order. If one does not match, stop there — every later step assumes the previous one actually happened. Once that first point appears, the path worked. If the logs show training and the charts are still empty, the reporting call is not happening. For a catalog method that is an ingest configuration problem; for your own trainer it usually means starforge.report was never called. See reporting.

Next

Submitting in depth

Every flag on the submit path: resources, overrides, data, images, follow-on actions.

Your own trainer

When the method you need is not in the catalog.

Sweeps

One command, many variants, grouped in the console.

Benchmarks

Score the run against GSM8K, MMLU, C-Eval and the rest.