Training step

  • step
  • max steps
  • maxSteps
  • training iteration
  • optimizer step
Definition

A training step is one optimizer update: draw a batch, compute the loss, adjust the weights. Every trainer on this platform counts steps rather than epochs, so the amount of learning in a run is fixed by the schedule and does not grow when your dataset does.

Last updated 2026-08-09

Why steps and not epochs

An epoch is one pass over the dataset, which makes it a moving target: an epoch on 40 episodes and an epoch on 400 are different amounts of work, so two runs described in epochs are comparable in neither learning nor cost. A step is the same size in both cases. Since the GPU is rented by the hour, a step count is also a budget, which is why the training form asks for one. The flag is --steps for the lerobot family and --max-steps for GR00T, and no CLI command starts a run: training happens in the dashboard under Training or through the start_training tool on the MCP server.

Effective batch: batch size times gradient accumulation

Batch size is how many samples fit on the card at once. Gradient accumulation is how many of those batches are summed before the optimizer takes a single step. The product is the effective batch, and that is the number to compare across recipes. Accumulation buys effective batch without buying VRAM, at the cost of a longer wall-clock step, since one step now contains several forward and backward passes.

ModelBatchAccumulationEffective batchStepsSample presentations
ACT818100,000800,000
SmolVLA281620,000320,000
GR00T N1.73213220,000640,000
GR00T N1.5116162,00032,000
Pi0.51161630,000480,000
More data at the same step count means less exposure per episode

The last column does not move when your dataset grows. Double the episodes and each one is seen half as often, which is the usual reason a second, larger dataset trains into a worse policy than the first. Raise the step count roughly in proportion to the extra data.

On a 24 GB card, raise accumulation before batch size: batch size is bounded by VRAM and accumulation is not. On the 80 GB tier the question rarely comes up, since GR00T N1.7 already runs batch 32 with no accumulation, which is how a 20,000 step schedule on a 3 billion parameter model finishes in a few hours.

/learn/train-your-first-policy covers what the loss curve is saying while those steps run, and /train has the per-model walkthroughs with the numbers in context.