Skip to main content
Every training method runs in one of two modes:
  • LoRA: The service trains only a low-rank adapter (LoRA), a set of small matrices added alongside the frozen base weights. You can download the adapter on its own or merge it into the base model. LoRA is the default.
  • Full-weight training (full fine-tuning): The service updates every parameter in the model. The result is a full set of model weights.
Set the mode when you create the model resource, with lora_enabled in the SDK or use_lora in a cookbook config. Every session on the resource trains in that mode, and you can’t change the mode after creation.

When to use LoRA

Start with LoRA. Use it when:
  • You’re starting a new project: LoRA runs on every catalog model and is the default in every cookbook config, so it’s the shortest path to a working training loop.
  • You want to compare several adapters: Several LoRA sessions can share one model resource, so you pay for only one resource across a hyperparameter sweep. You can then compare the trained adapters on a single multi-LoRA deployment.
  • You’re tuning style, format, or domain vocabulary: These are the kinds of updates LoRA handles best.

When to use full-weight training

Use full-weight training when:
  • The base behavior needs a substantial change: A model that doesn’t know the task you’re training for may need every weight updated, not only an adapter.
  • LoRA results plateau below your target: First raise lora_rank (rank in the SDK’s LoraConfig), up to the model’s maximum in Supported models. Raise lora_alpha (alpha in the SDK) with it, up to its maximum of 128, to keep the alpha-to-rank ratio the same. The adapter’s update scales with lora_alpha / lora_rank, so raising lora_alpha alone acts like a higher learning rate. If quality still falls short, switch to full-weight training.
  • You need the Muon optimizer or pipeline weight sync: Both require full-weight training.
Not every model in the catalog supports full-weight training. Before you set lora_enabled=False or use_lora=False, check that the model’s Training modes on Supported models include full. When you list models programmatically, look for a full entry in trainer_config.

What changes with full-weight training

To compare the hourly rate of both modes for your model, call estimate_cost once with lora_enabled=True and once with lora_enabled=False.