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

# SFT

> Supervised Fine-Tuning: train a model to follow instructions or adopt a new style using labeled conversation data.

Supervised Fine-Tuning (SFT) trains a language model on labeled conversation data so it learns to follow instructions, adopt a persona, or respond in a specific style.

## Prerequisites

* An EigenAI account with available credits.
* A training dataset in JSONL format.

## Create an SFT job

Click **Fine-Tune a Model** on the Fine-tuning page, then select the **SFT** tab to open the 6-step wizard.

### Step 1 — Model

Select a **Base model**.

| Model                         | Price            |
| ----------------------------- | ---------------- |
| Qwen3-4B-Instruct-2507        | \$0.4 / M tokens |
| Qwen3-30B-A3B-Instruct-2507   | \$2.8 / M tokens |
| Qwen3-30B-A3B-Thinking-2507   | \$2.8 / M tokens |
| Qwen3-235B-A22B-Instruct-2507 | \$20 / M tokens  |

### Step 2 — Dataset

Upload your training data or select a previously uploaded dataset.

| Field                   | Description                                                                         |
| ----------------------- | ----------------------------------------------------------------------------------- |
| Dataset format          | The format of your training file. Currently supports **Conversation (chat JSONL)**. |
| Select existing dataset | Reuse a dataset you have already uploaded.                                          |
| File upload             | Drag and drop a `.jsonl` file or click to browse.                                   |

Your training file must be a JSONL file where each line is a JSON object containing a `messages` array in OpenAI chat format:

```json theme={null}
{"messages": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"}, {"role": "assistant", "content": "Hi there!"}]}
```

### Step 3 — Evaluation

Choose how to validate the model during training.

| Option                                                | Description                                                      |
| ----------------------------------------------------- | ---------------------------------------------------------------- |
| Do not use a validation dataset                       | Skip evaluation for the fastest training run.                    |
| Automatically split a portion of the training dataset | Reserve part of your training data for evaluation. (Coming soon) |
| Use a custom dataset for evaluation                   | Provide a separate validation file. (Coming soon)                |

### Step 4 — Params

Configure the training hyperparameters.

| Parameter                | Auto default                     | Description                                            |
| ------------------------ | -------------------------------- | ------------------------------------------------------ |
| Number of epochs         | 5                                | How many times the model trains over the full dataset. |
| Learning rate multiplier | 1.0× (effective rate: 2.00e-5)   | Scales the base learning rate.                         |
| Model output name        | `ft-<timestamp>-<random-string>` | The name shown for the resulting fine-tuned model.     |

Each parameter has an **Auto** mode that applies sensible defaults and a **Custom** mode for manual entry.

### Step 5 — WandB

Optionally connect [Weights & Biases](https://wandb.ai) to track your experiment.

| Field         | Description                                       |
| ------------- | ------------------------------------------------- |
| WandB API key | Your WandB API key. Leave blank to skip tracking. |

### Step 6 — Review

Review the estimated cost before starting training.

| Field          | Description                                 |
| -------------- | ------------------------------------------- |
| Model          | The selected base model.                    |
| Tokens         | Estimated number of tokens in your dataset. |
| Epochs         | Number of training epochs.                  |
| Estimated cost | Total credit cost for this training run.    |

Check the acknowledgment box and click **Confirm & Create** to submit the job.
