# Nodus vs Baseten: which should you use for training jobs?

> Nodus vs Baseten for training: per-GPU rates, one 8 x H100 run priced on both, checkpoint recovery, multi-node, serving and where Baseten wins.

Source: https://www.nodus-compute.ai/blog/nodus-vs-baseten/
Build revision: 5154338fbfd8bd5f369efd68ae5432a5a29725a0

<!-- vale Nodus.Providers = NO -->

Pick Baseten if the model you train is going straight into a production endpoint on Baseten, because it can deploy any synced checkpoint with one command. Pick Nodus if training is the expensive part: an NVIDIA H100 is listed at $2.60/hr on the Nodus pricing page against $6.50/hr on Baseten’s training price list, so one 80 GPU-hour run costs $208.00 instead of $519.98. Nodus also restores your checkpoint on new capacity when a machine is lost.

We build Nodus. Every Baseten fact below links to Baseten’s own pricing page or docs, and there is a full section on where Baseten is the better choice.

## How do Nodus and Baseten compare for training at a glance?

They start from opposite ends. Baseten’s pricing page leads with production inference, and its training products are built so your checkpoints land next to your endpoints. Nodus is a compute platform that runs training jobs, functions and sandboxes on the cheapest capacity that will finish them, and hands the weights back as outputs.

||Baseten|Nodus|
|-|-|-|
|Ways to train|Training Jobs (your container), Loops (Python SDK for LoRA and RL on supported base models), RL Rollouts on request|`nodus run` with your own script, Jobs, or managed TrainingJobs (Beta) for SFT, DPO, GRPO and more|
|Training GPUs on the price list|T4, L4, A10G, A100, H100 MIG, H100, B200|RTX 3070 up to B300|
|How you pay|Per minute of GPU time; Pro plan volume discounts by quote|Prepaid credits; each run is estimated and capped before it starts|
|H100 rate|$0.10833 per minute ($6.50/hr)|$2.60/hr|
|Checkpoints|Written to `$BT_CHECKPOINT_DIR`, synced to Baseten storage in the background|Written to `/nodus/state`, checkpointed by Nodus and restored into the next attempt|
|After a lost machine|Start a job that loads the latest checkpoint|The Job resumes on new capacity from the last saved state|
|Multi-node|`node_count` over InfiniBand|Beta, up to 8 nodes|
|Serving the result|`baseten train checkpoint deploy` turns a checkpoint into a production endpoint|Weights come back as job outputs; hosted inference covers catalog models|
|Free credit|New accounts get credits (amount not listed)|$2 on verification, $28 more after a first paid top-up, both expiring in 30 days|

Sources: [Baseten pricing](https://www.baseten.co/pricing/), [Training on Baseten](https://docs.baseten.co/training), [Training Jobs](https://docs.baseten.co/training/overview), [checkpoints](https://docs.baseten.co/training/concepts/checkpoints), [multinode training](https://docs.baseten.co/training/concepts/multinode), [serve your trained model](https://docs.baseten.co/training/deployment); the [Nodus pricing page](https://www.nodus-compute.ai/pricing/) and the Nodus [Jobs](https://www.nodus-compute.ai/docs/guides/jobs/), [checkpoints](https://www.nodus-compute.ai/docs/guides/checkpoints/) and [multi-node](https://www.nodus-compute.ai/docs/guides/multi-node/) guides. Checked November 1, 2026.

## Is Baseten or Nodus cheaper per GPU-hour for training?

Nodus is cheaper on every GPU both price lists share. Baseten prices training per minute, so we multiplied each rate by 60 and rounded to the cent.

|GPU|Baseten training|Nodus|
|-|-|-|
|NVIDIA H100 80 GB|$0.10833/min = $6.50/hr|$2.60/hr|
|NVIDIA A100 80 GB|$0.06667/min = $4.00/hr|$1.09/hr|
|NVIDIA B200 180 GB|$0.16633/min = $9.98/hr|$5.50/hr|

Prices checked November 1, 2026, from the Training section of [Baseten pricing](https://www.baseten.co/pricing/) and the hourly rates listed on the [Nodus pricing page](https://www.nodus-compute.ai/pricing/).

![Per-GPU hourly training rates: H100 $6.50 on Baseten vs $2.60 on Nodus, A100 $4.00 vs $1.09, B200 $9.98 vs $5.50.](https://www.nodus-compute.ai/blog-charts/nodus-vs-baseten/rates.svg) *The gap is widest on the A100, where the Baseten rate is about 3.7 times the Nodus rate.*

Two caveats keep this fair. Baseten says compute discounts can be negotiated on its Pro and Enterprise plans, so a large committed customer may pay less than the list. And Baseten’s per-minute billing means a short job is not rounded up to a full hour, which matters for quick experiments.

## What does one real fine-tuning run cost on each?

We priced one fine-tune on 8 x H100 for 10 hours, which is 80 GPU-hours, at each company’s list rate.

* Baseten: 80 GPU-hours x 60 minutes x $0.10833 = $519.98.
* Nodus: 80 GPU-hours x $2.60 = $208.00.

![The same 80 GPU-hour run on 8 x H100 costs $519.98 on Baseten and $208.00 on Nodus at list prices.](https://www.nodus-compute.ai/blog-charts/nodus-vs-baseten/run-80h.svg) *At list prices, the same run costs 60% less on Nodus, a difference of $311.98.*

The difference compounds with iteration. Training is rarely one run: you sweep learning rates, fix a data bug and run again. Five runs of that size come to 5 x $519.98 = $2,599.90 on Baseten and 5 x $208.00 = $1,040.00 on Nodus. The decision rule we use: if you expect to retrain more than a couple of times before the model is final, the per-hour rate matters more than the convenience of deploying from the same dashboard.

On Nodus you see that number before you pay. A `--dry-run` prices the job without creating it, and `--max-cost` caps what the run can spend ([Nodus quickstart](https://www.nodus-compute.ai/docs/getting-started/quickstart/)).

## What happens to a training run when a machine is lost?

Both platforms save checkpoints off the machine, but they differ in what happens next. On Baseten, your script writes to `$BT_CHECKPOINT_DIR` and a background process uploads it to cloud storage on a recurring cycle ([checkpoints](https://docs.baseten.co/training/concepts/checkpoints)). To continue, you start a job with a `LoadCheckpointConfig` that points at the latest checkpoint, and Baseten downloads it before your start commands run.

On Nodus, your script writes to `/nodus/state`. When capacity is reclaimed, the Job resumes on new capacity from the last saved state, and Nodus also takes a checkpoint when the capacity gives notice that it is about to be reclaimed ([Jobs guide](https://www.nodus-compute.ai/docs/guides/jobs/), [checkpoints guide](https://www.nodus-compute.ai/docs/guides/checkpoints/)). You do not resubmit anything. That is also why a Nodus run can use interruptible capacity without someone watching it, which we cover in [how to resume training after spot preemption](https://www.nodus-compute.ai/blog/resume-training-after-spot-preemption/).

Baseten’s docs flag one trap worth knowing on either platform. A checkpoint becomes durable only when its sync completes, so a script that rotates checkpoints within seconds can delete one before it is uploaded, with no error raised. Keep each checkpoint on disk through at least one sync cycle.

## Can both run multi-node training?

Yes, with different limits. Baseten sets `node_count` on the job’s compute and connects nodes over InfiniBand, and it can bootstrap a Slurm cluster for interactive multi-node work ([multinode training](https://docs.baseten.co/training/concepts/multinode)).

Nodus multi-node is in Beta and on for every organization, with a ceiling of 8 nodes per job. Nodus acquires every member, checks they can reach each other, then starts `torchrun` on all of them ([multi-node guide](https://www.nodus-compute.ai/docs/guides/multi-node/)). If you need more than 8 nodes in one job today, Baseten or a cluster provider is the better fit.

## Where is Baseten the better choice?

Baseten wins in several real cases, and they are not small ones:

* You will serve the fine-tuned model on Baseten. `baseten train checkpoint deploy` turns a synced checkpoint into a production endpoint without moving weights, and production inference is what Baseten’s pricing page leads with ([serve your trained model](https://docs.baseten.co/training/deployment)).
* You want RL or LoRA through an API rather than your own trainer. Loops provisions a trainer and a paired sampler, and each training step is an API call ([Training on Baseten](https://docs.baseten.co/training)).
* Your compliance team needs SOC 2 Type II and HIPAA on the same vendor that serves the model. Baseten lists both on its pricing page.
* You run many short experiments. Per-minute billing on a small GPU such as a T4 at $0.01052 per minute keeps a 5-minute test at about five cents.
* You need more than 8 nodes in one job.

Nodus is the better fit when the training bill is the problem, when runs should recover on their own, or when an AI coding agent launches the jobs. Many teams split the two: train on Nodus, then upload the weights to whichever platform serves them.

## How do you move a Baseten Training Job to Nodus?

Keep your training script and change two things. Point your checkpoint path at `/nodus/state` instead of `$BT_CHECKPOINT_DIR`, and write final weights to `/nodus/outputs` so they come back as outputs. Then run the same command you had in `start_commands`:

Terminal window

```sh
pip install nodus-compute
nodus login
nodus run --name sft-run --gpu H100 --image nodus/pytorch --max-cost 25 --dry-run -- python train.py
```

Check the estimate, then run it again without `--dry-run`. If you would rather not maintain a trainer at all, Nodus TrainingJobs (Beta) run SFT, DPO, GRPO and other recipes from a short manifest ([training guide](https://www.nodus-compute.ai/docs/guides/training/)). For a measured comparison against another per-second platform, see our [Nodus vs Modal fine-tuning benchmark](https://www.nodus-compute.ai/blog/nodus-vs-modal-fine-tuning-benchmark/).

## FAQ

### Does Baseten charge for training by the hour or by the minute?

By the minute of GPU time while the job runs, and again per minute while a deployed checkpoint serves traffic ([Training Jobs quickstart](https://docs.baseten.co/training/getting-started)).

### Which GPUs can Baseten Training Jobs use?

The training price list covers T4, L4, A10G, A100, H100 MIG, H100 and B200, and the Training Jobs overview says jobs start on H100 or H200 GPUs on one or more nodes. Nodus lists GPUs from the RTX 3070 to the B300 on its [pricing page](https://www.nodus-compute.ai/pricing/).

### Are Baseten checkpoints kept forever?

No. When you delete a job or project, Baseten permanently deletes all undeployed checkpoints, with no recovery option ([checkpoints](https://docs.baseten.co/training/concepts/checkpoints)). Download the ones you need first.

### What is a cheaper alternative to Baseten for fine-tuning?

Nodus lists the H100 at $2.60/hr, and its managed TrainingJobs cover LoRA and full fine-tuning. Our [guide to the best platforms to fine-tune open-source LLMs](https://www.nodus-compute.ai/blog/best-platform-to-fine-tune-open-source-llms/) compares more options.
