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

# Fine-tune a model

> Adapt an open base model to your data with a managed Unsloth pipeline.

Fine-tuning adapts an open base model to your own data. Valkyrie runs the training
for you on an on-demand GPU using a managed [Unsloth](https://github.com/unslothai/unsloth)
pipeline, you provide the dataset and the base model, and Valkyrie handles the rest.

## Before you start

* A [dataset](/guides/datasets) uploaded to Valkyrie.
* Enough [wallet balance](/guides/wallet-billing) to cover the training run.

## Create a fine-tuning job

<Steps>
  <Step title="Open Fine-Tuning">
    Go to **Fine-Tuning** in the dashboard and start a new job.
  </Step>

  <Step title="Choose a base model and dataset">
    Select the open base model to fine-tune and the dataset to train on.
  </Step>

  <Step title="Launch">
    Start the job. Valkyrie schedules it, provisions a GPU, generates the training
    script, and runs it. If a preferred GPU type isn't available, provisioning
    retries with fallbacks.
  </Step>
</Steps>

## Track progress

A job moves through a series of states as it runs:

```
pending → scheduled → running → completed
                                └→ failed
```

You can watch progress from the Fine-Tuning screen, and stream logs from the job
(also available through the [MCP logging tools](/mcp/tools)). Training progress is
parsed from the run's logs.

## Outputs

When a job completes, its outputs (the trained weights or adapters) are stored for
you. From the completed job you can:

* **List outputs** and download them with temporary signed URLs.
* **Deploy** the fine-tuned model directly, see [Deploy a model](/guides/deploy-model).

## If a job fails

Fine-tuning runs on ephemeral cloud GPUs, so transient infrastructure issues can
occur. Valkyrie lets you **retry** or **recover** a failed job without recreating it
from scratch. If a job stays stuck, retrying usually reschedules it onto fresh
hardware.

<Note>
  Fine-tuning has a maximum run time. Very large datasets or long training
  configurations should be sized with that limit in mind.
</Note>

## Deploy what you trained

<Card title="Deploy a fine-tuned model" icon="server" href="/guides/deploy-model">
  Turn a completed job into a live, OpenAI-compatible endpoint.
</Card>
