Baseten provides a flexible training platform that enables you to bring your own training scripts, use the latest training techniques, and fine-tune the newest models. Train models and serve them in production, all on one platform. Baseten automatically stores your checkpoints during training and makes them ready for deployment. You don’t need to download weights, re-upload them, or manage separate infrastructure. Your fine-tuned model goes from checkpoint to production endpoint in a single command. The core workflow requires just two commands: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.
Choosing between Truss Train and Loops
Baseten supports two training paths. Truss Train is the bring-your-own-container path documented on the rest of this page: package any training framework as a Truss, configure hardware, and run it on managed infrastructure. Loops is a Tinker-compatible managed path for fine-tuning and RL: writeimport tinker Python, and Baseten provisions a paired trainer and sampling server with weights that move live between them. If your team already uses Tinker, or wants SFT and RL without managing a training container, start with Loops.
| Loops | truss train | |
|---|---|---|
| Training code | Tinker-compatible Python (import tinker) | Any container image |
| Infrastructure setup | None. Baseten provisions trainer and sampling servers. | You define hardware in a Truss config |
| Checkpoint format | Paginated presigned URLs, streamed to sampling server live | Your container’s output artifacts |
| Inference path | Automatic: checkpoint deploys directly to a Baseten inference deployment | Manual: you move artifacts and deploy separately |
| Session lifetime | Open until you call truss loops deactivate | Job runs to completion and exits |
| Documentation | Loops | This section |
Train and serve on one platform
The train-to-serve workflow is seamless:- Set up your training project: Bring any framework or start with a template.
- Configure your training job: Define compute, runtime, and checkpointing settings.
- Run on managed infrastructure: Use H200 or H100 GPUs, single-node or multi-node.
- Checkpoints sync automatically: Baseten stores checkpoints as training progresses.
- Deploy your fine-tuned model: Go from checkpoint to production endpoint in one command.
Supported frameworks
Baseten Training is framework-agnostic. Use whatever framework fits your workflow.| Framework | Best for | Example |
|---|---|---|
| Axolotl | Configuration-driven fine-tuning with LoRA/QLoRA | oss-gpt-20b-axolotl |
| TRL | SFT, DPO, and GRPO with Hugging Face | oss-gpt-20b-lora-trl |
| TRL | LoRA DPO fine-tuning | qwen3-8b-lora-dpo-trl |
| VeRL | Reinforcement learning with custom rewards | qwen3-8b-lora-verl |
| MS-Swift | Long-context and multilingual training | qwen3-30b-mswift-multinode |
Key features
Checkpoint management
Checkpoints sync automatically to Baseten storage during training. You can:- Deploy any checkpoint as a production endpoint with
truss train deploy_checkpoints. - Download checkpoints for local evaluation and analysis.
- Resume from any checkpoint if a job fails or you want to train further.
BDN weight and data loading
Load model weights and training data through Baseten Delivery Network (BDN). Mount weights from Hugging Face, S3, GCS, Azure, R2, or any HTTPS URL directly into your training container with no download code needed. BDN mirrors weights before compute is provisioned, then caches them for faster mounting on subsequent jobs. See storage and data ingestion for setup details.Persistent caching
Speed up training iterations by caching models, datasets, and preprocessed data between jobs. The cache persists across training runs, so you don’t re-download 70B models every time. See the training cache guide for configuration options.Multi-node training
Scale training across multiple GPU nodes with InfiniBand networking. Baseten handles node orchestration, communication setup, and environment variables. You just setnode_count in your configuration.
Learn more about multi-node training.
Remote access
Connect to running training containers to debug, inspect state, and iterate without resubmitting. Baseten offers two options:- SSH: Connect from any OpenSSH client for terminal sessions and file transfer with
scporsftp. - VS Code & Cursor: Connect from VS Code or Cursor Remote Tunnels for a full IDE experience.
Next steps
Get started
Run your first training job and deploy the result.
Loops
Tinker-compatible managed training with paired trainer and sampling servers.
ML Cookbook
Production-ready examples for frameworks and models.