- 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.
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(rankin the SDK’sLoraConfig), up to the model’s maximum in Supported models. Raiselora_alpha(alphain the SDK) with it, up to its maximum of128, to keep the alpha-to-rank ratio the same. The adapter’s update scales withlora_alpha / lora_rank, so raisinglora_alphaalone 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.
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.