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

# Post-train a model

> Go from a task to a deployed post-trained model: decide whether to train, define quality, choose a model and method, run, evaluate, and ship.

Post-training adapts an open model to a task you already run. Use an evaluation to test whether it improves quality, reduces serving cost or latency, or both, compared with the model you use today. Baseten trains with [Loops](https://docs.baseten.co/loops/overview.md) and serves the result on the same platform.

Define the evaluation before you train. Its quality rules help you select training data, and its scores tell you whether to deploy the resulting checkpoint.

## The path

**1. Decide whether to post-train**

Post-training pays off for a stable, well-defined task with a measured gap you can't close with prompting or retrieval, at enough volume that serving cost or latency matters. See [Decide whether to post-train](https://docs.baseten.co/post-training/decide.md).

**2. Define what a good answer is**

Write quality rules, freeze a held-out set, and score the models you have today. The same rules select training data and decide what ships. See [Evaluate a model](https://docs.baseten.co/post-training/evaluate.md).

**3. Choose a base model**

Start from your constraints: license and publisher, serving latency and cost, and sequence length. Then baseline the candidates on your evaluation. See [Choose a base model](https://docs.baseten.co/post-training/choose-a-model.md).

**4. Choose SFT or RL**

Supervised fine-tuning (SFT) needs answers to imitate. Reinforcement learning (RL) needs a way to score outcomes. See [Choose SFT or RL](https://docs.baseten.co/post-training/choose-a-method.md).

**5. Prepare data or an environment**

For SFT, build conversations with targets you trust. For RL, write tasks, an agent, and a grader. See [Prepare data for supervised fine-tuning](https://docs.baseten.co/loops/sft-data.md) or [Design RL environments and rewards](https://docs.baseten.co/loops/rl-environments.md).

**6. Run a first job**

Start small and confirm the run is learning before you scale. See [Fine-tune tool calling with SFT](https://docs.baseten.co/examples/sft-tool-calling.md) or [Train a model to count circles with RL](https://docs.baseten.co/examples/rl-counting.md). Both use models available on serverless Loops.

**7. Ship it**

Check the run's health, compare the checkpoint with its baseline on held-out data, deploy it, and roll it out behind the model it replaces. See [Ship a post-trained model](https://docs.baseten.co/post-training/ship.md).

## What has worked

Each of these published results started from a production task with a measurable definition of quality.

| Task | What was trained | Reported result | Source |
| - | - | - | - |
| Structured extraction in a real-time voice pipeline | SFT on a 4B Qwen model, sized to fit the latency budget | 99% accuracy on a key feature, 250 ms p90 latency down from 2.2 seconds, 60% lower inference cost | [EliseAI](https://www.baseten.co/resources/customers/how-eliseai-trains-specialized-models/) |
| Clinical notes from clinician-patient conversations | A 27B open model fine-tuned for the task | 60% better accuracy than the largest closed models tested, 50% to 80% lower inference cost, 2 to 3 times faster | [Healthcare scribing](https://www.baseten.co/blog/fine-tuning-small-open-source-llms-to-outperform-large-closed-source-models-by-60/) |
| Emergency department summaries and charts | A specialist model trained on failures its evaluators found | Beats `gemini-2.5-pro` on summarization and chart generation, 6 to 8 times faster | [Emergency medicine documentation](https://www.baseten.co/blog/outperforming-frontier-models-on-emergency-medicine-documentation/) |
| Long-horizon legal agents | A 27B open model post-trained with its agent harness in the loop | Moved into the closed-source frontier band on Harvey's legal agent benchmark | [Harvey](https://www.harvey.ai/blog/post-training-open-legal-agents-with-baseten-research) |

The examples in these docs follow the same patterns on public data: [tool calling with SFT](https://docs.baseten.co/examples/sft-tool-calling.md), an [agent that edits files with RL](https://docs.baseten.co/examples/rl-tool-agent.md), and a [coding agent with RL](https://docs.baseten.co/examples/rl-coding-agent.md).

## Where training runs

Loops runs the trainer and sampler on Baseten. Your training script, or the Loops cookbook, can run locally or in a remote instance; see [Choose where to run the Loops SDK](https://docs.baseten.co/loops/where-to-run.md). Loops picks an [availability mode](https://docs.baseten.co/loops/availability-modes/overview.md) for each run, so you don't manage infrastructure to get started. Serverless is self-serve and billed for tokens. The dedicated mode covers every supported model and lets you scale a run out with more trainer and sampler replicas.

Use [Training Jobs](https://docs.baseten.co/training/overview.md) instead when you need full-parameter training, a model Loops doesn't support, or your own training framework in a container. Use [RL Rollouts](https://docs.baseten.co/rl-rollouts/overview.md) when you own the RL training code and want Baseten's inference platform to scale its rollouts. [Training on Baseten](https://docs.baseten.co/training.md) compares all three.

## Next steps

> [card] [Decide whether to post-train](https://docs.baseten.co/post-training/decide.md)
>
> Check the task, the gap, the data, and the economics before you train.

> [card] [Evaluate a model](https://docs.baseten.co/post-training/evaluate.md)
>
> Define quality and freeze a held-out set before the first run.
