Skip to content

Training overview

Labelty training fine-tunes or trains a model on your project’s approved labeled assets using managed compute (AWS SageMaker). You can drive it from the web training wizard or the REST API.

  • Dataset selection reuses your labeling statuses and label filters
  • Compute tiers and memory budgets are suggested for you
  • Live metrics stream back into the product while the job runs
  • After success, a build step creates an inference package you can auto-label with or attach to a workflow

Diagram: Training pipeline — preview → pick base model → choose GPU → create run → poll → build → auto-label / workflow

1. Preview dataset (counts, readiness, train/val/test split)
2. Pick a base model that already has weights (status SUCCESS)
3. Choose compute tier + hyperparameters
4. Create training run → SageMaker job starts
5. Poll run until SUCCEEDED (or FAILED / STOPPED_EARLY)
6. Build inference package + activate output model
7. Use the model for auto-label or workflows
Status Meaning
QUEUED Waiting to start
RUNNING SageMaker job in progress
SUCCEEDED Weights produced; build may still be required
FAILED Job failed (see error fields / logs)
STOPPED_EARLY Stopped because the prepaid wallet ran out; may be resumable after top-up

After step 5 succeeds, the output model usually has:

  • output_ml_model_id set
  • is_active: false
  • output_inference_built: false

Step 6 (build) is required before auto-label. Build does not rename the model — the registry name and version come from the create-run fields name and output_model_version.

  1. A project with a label schema
  2. Enough approved labeled images (readiness requires at least 2 labeled images for the default split so validation is non-empty)
  3. A base model in the registry with weights (GET …/models?status=SUCCESS)
  4. Permission ml.model.train (model list may only need project.read)
  5. Active subscription / wallet budget for the selected GPU tier
  6. Auth: Clerk session or project API key

When previewing or creating a run, selection / dataset_selection supports:

Mode Meaning
all_approved All approved assets in project scope
filtered Same filters as the asset list API
asset_ids Explicit list of asset UUIDs

Only approved annotations with a label_id are exported.

With filters.label_ids, only those classes are trained (an asset matches if it has any of the selected labels). With filters.exclude_label_ids, assets that have any excluded label are dropped (exclude wins).

Default: 70% / 20% / 10%.

Constraints:

  • Percentages must sum to 100
  • At least one of val_percent or test_percent must be greater than 0

Allocation is deterministic (largest-remainder on labeled images sorted by asset UUID).

Tier Instance Notes
medium ml.t3.large CPU
large ml.m5.large CPU
xlarge ml.g4dn.xlarge T4 16GB
g5 ml.g5.xlarge A10G 24GB

Default trainer plugin: ultralytics_yolo.

Walk through preview → create run: Start a training run.