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.