> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trymonte.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configs

> Training configuration files

A training config is a YAML file that states how a run trains: the base model, the method, LoRA, and the optimizer settings. The run states its training data, step count, and starting point with flags, so one config serves many runs.

## Write a Training Config

`triage-sft.yaml` trains `Qwen/Qwen3-8B` with SFT and a LoRA adapter:

```yaml theme={null}
model: Qwen/Qwen3-8B
method: sft

lora:
  rank: 64
  alpha: 128

batch_size: 32
learning_rate: 1.0e-4
max_seq_length: 4096
checkpoint_every: 50
```

| Parameter | Description |
| - | - |
| `model` | The base model, as a Hugging Face ID from [Models](https://docs.trymonte.ai/training/models.md) |
| `method` | `sft`, `dpo`, `grpo`, or `distillation` |
| `lora` | A LoRA adapter. Leave the block out for a full fine-tune. An empty block takes the defaults below. |
| `lora.rank` | The adapter rank (default 16) |
| `lora.alpha` | The scale of the adapter update (default twice the rank) |
| `lora.target_modules` | The layers that get an adapter (default all linear layers) |
| `lora.dropout` | The dropout on the adapter input (default 0.0) |
| `batch_size` | Rows, pairs, or prompts in one step |
| `learning_rate` | The peak learning rate |
| `max_seq_length` | The longest sequence in tokens |
| `checkpoint_every` | Save a checkpoint every this many steps (default 50) |

The adapter's rank must not exceed the `--max-adapter-rank` of the [base deployment](https://docs.trymonte.ai/serving/deploy.md) that serves it (default 64).

Each method adds its own keys under its name, such as `grpo.group_size`. The method pages list them: [SFT](https://docs.trymonte.ai/training/sft.md), [DPO](https://docs.trymonte.ai/training/dpo.md), [GRPO](https://docs.trymonte.ai/training/grpo.md), and [Distillation](https://docs.trymonte.ai/training/distillation.md).

## Use a Config in a Run

The file name is the config name, so `configs/triage-sft.yaml` is `--config triage-sft`. `--config` also takes a path to a YAML file.

```bash theme={null}
monte train support-triage --config triage-sft --data support-replies \
  --steps 200 --from-base
```

`--model` replaces `model` for one run. The run records the hash of the file, so an edit to the file makes a new version of the config.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.