Lambda is the stronger choice when you need a reserved InfiniBand cluster of 16 GPUs or more, or a large machine you keep for weeks. Nodus is the better choice for single-machine training and fine-tuning, with lower listed NVIDIA H100 and A100 rates than Lambda's on-demand instances. On Nodus, billing stops when your command exits, and a lost machine is replaced with your checkpoint restored.
We build Nodus. Every Lambda fact below links to Lambda's own pricing page or docs, the arithmetic is shown, and one section covers where Lambda is the better pick.
How do Nodus and Lambda compare at a glance?
They sell different things. Lambda On-Demand Cloud gives you a Linux virtual machine with GPUs that you launch, use and terminate. Nodus runs a command or training job to completion and handles placement, checkpoints and replacement machines for you.
| Lambda | Nodus | |
|---|---|---|
| What you launch | An On-Demand Cloud instance, or a reserved 1-Click Cluster | A Job, TrainingJob, Function or Workspace that Nodus places for you |
| How billing works | Hourly price, billed per minute from launch until you terminate; weekly invoices | Prepaid credits; a funded hold is renewed every 5 minutes while work runs |
| GPUs on the pricing page | Quadro RTX 6000 and V100 up to B200 and GH200 | RTX 3070 up to B300 |
| H100 SXM listed rate | $3.99 per GPU-hour on an 8-GPU instance, $4.29 on 1 GPU | $2.60/hr |
| Start time | Instances "might take several minutes to launch" | The dry-run estimate shows the expected start time |
| Machine lost or stopped | Launch, restart or terminate only; Lambda recommends Docker and regular backups | Replacement machine with your state directory restored |
| Interruptible capacity | Not offered on the pricing page | Opt in per run with --interruptible
|
| Coding agents | Cloud API for instances and filesystems | MCP server for Claude Code, Codex and Cursor |
| Multi-node | 1-Click Clusters of 16 to 2,000+ GPUs on InfiniBand, reserved by the week | Beta: 2 to 8 nodes |
| Free credit | Not listed on the pricing page | $2 after verification, $28 more after the first paid top-up, valid 30 days |
Sources: Lambda pricing, Lambda billing, On-Demand Cloud, creating and managing instances, 1-Click Clusters, the Nodus pricing page and the Nodus recovery docs. Prices checked October 25, 2026.
Is Nodus cheaper than Lambda for a training run?
For the GPUs both list, yes, on listed rates. We priced two common jobs from each company's public pricing page on October 25, 2026, using Lambda's best on-demand rate for each GPU.
| Job | GPU-hours | Lambda | Nodus |
|---|---|---|---|
| Full fine-tune on 8 x H100 SXM for 10 hours | 80 | $319.20 at $3.99 | $208.00 at $2.60 |
| Hyperparameter sweep: 20 runs on 1 x A100 40 GB for 3 hours each | 60 | $119.40 at $1.99 | $54.24 at $0.904 |
Prices checked October 25, 2026: Lambda pricing (per GPU-hour, plus applicable sales tax) and the hourly rates on the Nodus pricing page. GPU rates only.

At listed rates the 8 x H100 run costs 35% less on Nodus, and the A100 sweep costs less than half.
The gap holds on other cards both list. Lambda's 8-GPU instances list the B200 at $6.69 and the A100 80 GB SXM at $2.79 per GPU-hour. The Nodus pricing page lists them at $5.50/hr and $1.09/hr.

On every GPU both companies list, the Nodus rate is lower than Lambda's best on-demand rate.
Two things make Lambda's number fairer than it first looks. An 8 x H100 Lambda instance comes with 208 vCPUs, 1,800 GiB of RAM and 22 TiB of local SSD, which is a lot of machine for data loading and preprocessing. And Lambda is a flat on-demand price, so you know the hourly cost before you launch. On Nodus, nodus run --dry-run prints the expected cost of your exact run first, so check that rather than a table.
What do you pay for a GPU that sits idle?
On Lambda, you pay for every running minute. Lambda's billing docs say instances "are billed for as long as they're running, regardless if they're actively being used", from launch until you terminate (Lambda billing). Lambda also warns that running sudo shutdown -h now inside an instance does not stop it: the instance goes into Alert status and billing continues (creating and managing instances).
This is the most common way a training budget leaks. Say your 10-hour fine-tune finishes on Friday evening and the instance stays up until Monday morning, 60 hours later. On an 8 x H100 Lambda instance that is 60 x 8 x $3.99 = $1,915.20, six times the cost of the run itself, for a total of $2,234.40.

The forgotten weekend costs six times the training run; a finished Nodus Job bills nothing.
A Nodus Job is billed while its command runs, and when the command exits, nothing is running or billed. By default Nodus keeps the capacity warm for 60 seconds in case you launch again, and --no-warm releases it at once. Add --max-cost and the run also stops at a dollar cap you set. If coding agents launch your runs, our post on GPU spending limits for AI agents covers the limits worth setting.
What happens if the machine fails halfway through training?
On Lambda, recovery is yours to build. Instances can only be launched, restarted or terminated, with no suspend, and Lambda recommends containerizing your environment with Docker and backing up important data regularly (creating and managing instances).
A Lambda filesystem is the usual place for checkpoints. It lives in one region, has to be attached when an instance launches, and cannot be attached to a running instance (Lambda filesystems). Plan the filesystem before you launch, not after the first failure.
On Nodus, your script writes its state to /nodus/state and loads it on start. Nodus checkpoints that directory on a cadence it sets from how often the capacity is interrupted. A machine that stops sending heartbeats gets a replacement prepared after 20 seconds and is declared lost after 60. The new attempt starts with your state directory restored, so you lose at most the work since the last committed checkpoint (attempts and recovery).
That same machinery lets you use interruptible capacity, which Lambda's pricing page does not offer. For the code side, see how to resume training after a spot preemption.
Can you keep your Lambda account and use Nodus?
Yes, in Beta. If you have Lambda credits or a negotiated rate, you can connect your own Lambda account with its API key. Nodus then places your Jobs, Workspaces and other single-node work there first, up to a credit limit you set, and adds its checkpoints, recovery and spending caps (connect your cloud accounts). The feature is turned on per organization, so ask Nodus support first.
Lambda takes an API key plus the name of an SSH key registered in the account. The command from our docs:
nodus cloud connect lambda my-lambda --credit-limit 500 --ssh-key my-key --key-env LAMBDA_API_KEY
When the account is full or out of credit, --burst decides what happens: run on Nodus capacity (the default), wait for your approval, or wait for your account. Each attempt's page shows where it ran. Routing work into your own account is a billed feature, and the console shows its price before you turn it on.
Where is Lambda the better choice?
Pick Lambda in these cases:
- You need a large cluster. Lambda 1-Click Clusters run 16 to 2,000+ NVIDIA B200 or H100 GPUs (Lambda pricing), with a Quantum-2 InfiniBand fabric and GPUDirect RDMA at up to 3200 Gb/s, plus management nodes and an attached filesystem (1-Click Clusters). Multi-node training on Nodus is in Beta, with a ceiling of 8 nodes, and public traffic between nodes is not encrypted in the Beta.
- You want a big, ready machine to work on by hand. Each instance comes with Lambda Stack (CUDA, cuDNN, NCCL, PyTorch, JAX, Docker) and JupyterLab preinstalled (On-Demand Cloud), and the 8-GPU H100 instance has 1,800 GiB of RAM.
- You need a GPU Nodus does not list. Lambda offers the NVIDIA GH200 at $2.29/hr on its pricing page.
- Your finance team prefers invoices. Lambda bills on-demand usage weekly in arrears, while Nodus is prepaid.
- You move large datasets in and out. Lambda filesystems carry no ingress or egress charges (Lambda billing).
How do you move a training script from Lambda to Nodus?
If your script already saves checkpoints to a Lambda filesystem, change only the path. Lambda mounts filesystems under /lambda/nfs/<name>; on Nodus, use the state directory, and keep your Lambda path as the fallback so the script runs on both:
import os
# On Nodus this is /nodus/state; on Lambda, your filesystem mount
STATE_DIR = os.environ.get("NODUS_STATE_DIR", "/lambda/nfs/my-fs/ckpt")
Then check the estimate and launch with a cap a little above it:
nodus run --dry-run --gpu H100:8 --expected-duration 10h -- torchrun --nproc_per_node 8 train.py
nodus run --gpu H100:8 --checkpoint /nodus/state --max-cost 230 -d -- torchrun --nproc_per_node 8 train.py
Your program must load its own checkpoint when it starts, because Nodus restores files, not process memory. If you are also looking at Modal, the Nodus vs Modal comparison works through the same questions for it.
FAQ
Does Lambda charge for storage when no instance is running?
Yes. A Lambda filesystem is billed per GiB used for as long as it exists, mounted or not, in one-hour increments (Lambda billing). Lambda's docs also say you can't currently set a usage limit on a filesystem, so delete the ones you no longer need (Lambda filesystems).
Why might a new Lambda account fail to launch an 8-GPU instance?
New Lambda accounts have a limit on how many instances they can launch, which rises automatically as you pay invoices (creating and managing instances). If you hit it, you see a quota notification at launch.
Does Nodus offer managed fine-tuning?
Yes, in Beta. TrainingJobs run managed runtimes for SFT with full, LoRA or QLoRA training, DPO, GRPO, distillation and continued pretraining, and the dry run prices the job before anything runs.
Originally published on the Nodus blog.
Top comments (0)