AI agents · OpenClaw · self-hosting · automation

Quick Answer

Best Platforms for LoRA Fine-Tuning on Dedicated GPUs

Published:

The short answer

Managed dedicated-GPU training means you bring the recipe and the platform brings provisioned GPUs, checkpoints and a path to production. As of November 8, 2026:

  1. Together AI Post-Training — best for custom SFT and RL loops on managed B200s.
  2. Baseten Training Jobs — best bring-your-own-container training with one-command deployment.
  3. Fireworks Dedicated Training — best when you will serve the adapter on Fireworks.
  4. Modal — best for bursty jobs billed per second with no idle cost.
  5. Lambda and RunPod — best raw dedicated GPUs at the lowest hourly price.

If your job is a standard supervised fine-tune on a supported model and you would rather pay per token, see QLoRA platforms with token billing instead.

The comparison

PlatformWhat “managed” coversGPUsPrice (list, Nov 8, 2026)Serving the result
Together AI Post-TrainingYou write the training loop (SFT or RL); Together runs the infrastructureB200$11 per GPU-hour; $9 promo until Dec 14, 2026; billed per minute per active resourceTogether dedicated endpoints
Together GPU ClustersProvisioned clusters, you run the stackH100, H200, B200, B300H100 $3.99 on-demand, $1.99 preemptible, $3.19 reserved 181+ days · B200 $8.19Your own server
Baseten Training JobsYour container (Axolotl, TRL, VeRL, MS-Swift) on managed GPUs; checkpoints synced automaticallyH100, H200; single or multi-nodeNot shown on Baseten’s public pricing page when checkedbaseten train checkpoint deploy
Fireworks Dedicated Training APIManaged SFT, DPO, ORPO or your own loopH100, H200, B200, B300H100 $8 · H200 $8 · B200 $13 · B300 $15 per GPU-hourOn-demand dedicated deployment (required for trained models)
ModalServerless containers, per-second billing, scale to zeroWide rangeStarter $0 + compute ($30 credits a month, 10 GPU concurrency); Team $250 + computeYour own serving code on Modal
Lambda Instances / 1-Click ClustersDedicated instances or 16–2,000+ GPU clustersA100, H100, B200H100 $4.59 · B200 $7.69 · A100 80GB $3.19 per GPU-hour (from Nov 16, 2026) · B200 clusters $9.86 → $8.87Your own server
RunPod PodsDedicated GPU pods, per-second billingL40S → B300L40S $1.09 · A100 80GB $1.79 · H100 SXM $3.99 · H200 $5.29 · B200 $7.99 · B300 $8.99 per hourRunPod Serverless or your own

Prices from each vendor’s pricing page or documentation on November 8, 2026.

1. Together AI Post-Training — custom loops, no infrastructure

Together launched Post-Training on October 19, 2026 for building custom models with SFT or reinforcement learning: you define the training loop, Together operates the GPUs and optimizes the systems underneath. It bills per minute for each active model resource at $11 per B200 GPU-hour, cut to $9 until December 14, 2026. If you do not need a custom loop, Together’s token-billed Fine-Tuning (LoRA or full) is simpler: $1.05 per million tokens for Qwen3.8 27B, $2.03 for Llama 3.3 70B and $2.50 for gpt-oss-120B, with per-job minimums from $4.

Pick it if you want RL or a bespoke recipe on large open models without running a cluster.

2. Baseten Training Jobs — your container, managed GPUs

Baseten runs your own container and training code (Axolotl configs, TRL scripts for SFT, DPO and GRPO, VeRL for RL, MS-Swift for long context) on H100 or H200 GPUs, single or multi-node. Checkpoints sync to Baseten storage while the job runs, and baseten train checkpoint deploy turns any of them into a production endpoint, so there is no download-and-reupload step between training and inference.

Pick it if you already have a working recipe and the shortest path from a checkpoint to a serving endpoint matters most.

3. Fireworks Dedicated Training — train where you serve

Fireworks uses one GPU rate card for serving and training: the Dedicated Training API bills per GPU-hour at $8 for H100 or H200, $13 for B200 and $15 for B300; region-restricted deployments cost 1.5×. Managed training covers SFT, DPO and ORPO, and Fireworks’ docs state that an on-demand (dedicated) deployment is the only supported way to serve trained models, so budget for that too (idle deployments scale to zero after an hour by default).

Pick it if Fireworks will host the model in production.

4. Modal — per-second jobs, no idle cost

Modal bills GPUs and CPUs per second and scales containers to zero, so a two-hour LoRA run costs two hours. The free Starter plan includes $30 of compute a month and 10 concurrent GPUs; Team costs $250 a month plus compute with $100 of credits and 50 concurrent GPUs. You write the training script in Python and Modal provisions the hardware.

Pick it if you run many short experiments and hate paying for idle machines.

5. Lambda and RunPod — cheapest dedicated GPUs

When “managed” only needs to mean “someone else racks the GPU”, hourly rentals win on price. RunPod lists an H100 SXM at $3.99/hour, H100 PCIe at $2.89, H200 at $5.29 and B200 at $7.99, billed per second (prices updated November 4, 2026). Lambda instances cost $4.59 per H100 GPU-hour and $7.69 per B200 from November 16, 2026, and 1-Click Clusters run 16 to 2,000+ GPUs for two weeks to a year from $9.86 per B200 GPU-hour. Together’s preemptible H100s at $1.99 are cheapest if your job checkpoints and can restart.

Pick it if you are comfortable running Axolotl, Unsloth or TRL yourself.

How to choose

  • Custom RL or SFT loop, no ops: Together Post-Training.
  • Existing container, fast path to an endpoint: Baseten.
  • Serving on Fireworks: Fireworks Dedicated Training.
  • Many short runs: Modal.
  • Lowest hourly price, you run the stack: RunPod, Lambda or Together preemptible.

For hosting the finished adapters, see best inference providers for LoRA fine-tuned models.

Last verified: November 8, 2026.

Sources