Skip to main content
Together AI supports two fine-tuning implementations:
  • LoRA: Trains a small set of adapter weights on top of the frozen base model.
  • Full fine-tuning: Updates every weight in the base model.
LoRA is the default on Together AI, because it trains 0.1% to 1% of the parameters that full fine-tuning would, costs less, and produces a compact adapter rather than a full set of model weights. Both supervised fine-tuning and preference fine-tuning support LoRA and full fine-tuning.

Choose a method

Use LoRA when:
  • You’re starting a new fine-tune: LoRA gets you a working model fastest and at the lowest cost.
  • You want to ship multiple adapters from the same base: Adapters are small and can be swapped on a single hosted base model.
  • You’re tuning style, format, or domain vocabulary: These are the kinds of updates that LoRA handles best.
Use full fine-tuning 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 just an adapter.
  • LoRA results plateau below your target: Try increasing lora_r and lora_alpha first, and if quality still falls short, switch to full fine-tuning.

Set the method on your job

The lora parameter defaults to True. Pass lora=False (or --no-lora on the CLI) to run a full fine-tune instead. Everything else about the job stays the same.

LoRA settings

For the parameters that tune LoRA itself (lora_r, lora_alpha, lora_dropout, lora_trainable_modules), see the fine-tuning API reference.

Default target modules

When you don’t set lora_trainable_modules, it defaults to all-linear, which applies LoRA to the modules listed for each model in the tables below. To customize, pass a comma-separated list of module names instead.

Text models

Multimodal models

What to expect from full fine-tuning

  • Supported models: Full fine-tuning is available for a subset of the models that support LoRA. Large mixture-of-experts models, long-context variants, and some vision-language models are LoRA-only. See supported models for the per-model breakdown.
  • Smaller batch sizes: Because full fine-tuning updates every weight, it carries a larger memory footprint, so the maximum batch size for a given model is generally smaller than the LoRA equivalent.
  • Higher cost: Full fine-tuning trains every parameter rather than the 0.1% to 1% a LoRA job touches, so it consumes more compute and costs more. See pricing for details.
To check a single model before submitting a job, read supports_full_training from the model limits endpoint. When it’s False, the model is LoRA-only, and passing lora=False returns a validation error.

Serve your model

How you deploy depends on the method:
  • LoRA: After the job completes, deploy the merged model on a dedicated endpoint. See deployment.
  • Full fine-tuning: The job produces a complete model rather than a compact adapter. Deploy it on a dedicated endpoint, or download the weights for local use. See deployment.