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

# Choose Serverless or Dedicated Training

> Choose the Training API infrastructure that fits your model, method, workload, and cost profile.

The Training API uses the same Tinker-compatible primitives on two infrastructure paths. Choose the path before adapting a cookbook recipe.

<CardGroup cols={2}>
  <Card title="Serverless Training" icon="bolt" href="/fine-tuning/training-api/serverless">
    Attach to a shared pooled trainer. There is no trainer or rollout deployment to provision.
  </Card>

  <Card title="Dedicated Training" icon="server" href="/fine-tuning/training-api/dedicated">
    Provision trainer and deployment resources for your run, with broader model and method support.
  </Card>
</CardGroup>

## Quick decision

```mermaid theme={null}
flowchart TD
  Start["What does the run require?"]
  Supported["Is the model and method supported on serverless?"]
  FullParam["Do you need full-parameter, DPO, dedicated resume, or explicit deployment control?"]
  Scale["Is the run sustained enough to benefit from time-based dedicated compute?"]
  Serverless["Use Serverless Training"]
  Dedicated["Use Dedicated Training"]

  Start --> Supported
  Supported -->|"No"| Dedicated
  Supported -->|"Yes"| FullParam
  FullParam -->|"Yes"| Dedicated
  FullParam -->|"No"| Scale
  Scale -->|"No"| Serverless
  Scale -->|"Yes"| Dedicated
```

## Comparison

| Dimension         | Serverless                                                       | Dedicated                                                                                     |
| ----------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Provisioning      | Shared pooled trainer; no trainer or sampler deployment creation | SDK provisions trainer and deployment resources                                               |
| Billing           | Per token; no idle GPU charge                                    | Time-based trainer and deployment billing                                                     |
| Parameter mode    | LoRA only                                                        | LoRA and full-parameter                                                                       |
| Methods           | SFT and RL on the supported serverless surface                   | SFT, DPO, ORPO, RL, distillation, and custom loops supported by the selected shape and recipe |
| Models            | Current serverless model list                                    | Models with an enabled dedicated training shape                                               |
| Capacity          | Shared pool and per-account limits                               | Resources allocated to the run, subject to account quota and platform availability            |
| Checkpoint resume | In-run snapshots; cross-run resume is limited                    | Explicit checkpoint, reconnect, promotion, and deployment lifecycle                           |
| Sampling          | In-session sampler, no deployment to create                      | SDK-managed rollout or evaluation deployment                                                  |
| Teardown          | Session lifecycle is managed by the service                      | You must close trainers and delete or scale down deployments                                  |
| Best fit          | Fast LoRA experiments and first RL iterations                    | Full-parameter work, DPO, sustained RL, larger workloads, explicit lifecycle control          |

Always verify current models, limits, prices, and feature status in the [Serverless Training](/fine-tuning/training-api/serverless) and [Dedicated Training](/fine-tuning/training-api/dedicated) pages before launch.

## Choose serverless when

* The base model appears in the current serverless model list.
* LoRA SFT or RL covers the task.
* You want to start without provisioning trainer or inference resources.
* Per-token billing fits a small or bursty experiment.
* In-session sampling is sufficient.

## Choose dedicated when

* You need full-parameter training, DPO, ORPO, distillation, or a model not on the serverless list.
* You need explicit trainer, rollout deployment, checkpoint, reconnect, or promotion control.
* You need sustained throughput or long-running rollouts.
* A highly utilized time-based deployment is more economical for the workload.
* You need to serve or evaluate through a dedicated deployment during training.

## The interface is a separate choice

Serverless and dedicated describe **how training compute is provided**. They are not separate coding-agent modes.

You can ask the [Fireworks training skill](/fine-tuning/agent/use-with-coding-agents) to choose and run either path. You can also use the Python SDK or cookbook directly. Managed fine-tuning is a separate workflow for standard jobs where Fireworks owns the training loop.

## Next steps

* [Run Serverless Training](/fine-tuning/training-api/serverless)
* [Run Dedicated Training](/fine-tuning/training-api/dedicated)
* [Training API introduction](/fine-tuning/training-api/introduction)
* [Cookbook recipes](/fine-tuning/training-api/cookbook/overview)
* [Compare multi-turn costs](/fine-tuning/multi-turn-cost-comparison)
