Serverless vs Always-On GPU: LLM Break-Even
Connor Blier
Founding GTM
Serverless vs Always-On GPU: LLM Break-Even
For LLM inference, an always-on GPU becomes cheaper than serverless once your workers would be billed for more than roughly 29 minutes per hour, about 48% utilization, on a RunPod A40. Below that line serverless scale-to-zero wins; above it the always-on pod does. The crossover shifts with concurrency, model size, and how billed time is counted.
The short answer
Serverless GPUs bill you only while a worker is running, so they win when your traffic is bursty and your hardware would otherwise sit idle. Always-on GPUs bill continuously, so they win once you keep the accelerator busy enough to amortize the idle hours. On a RunPod A40, the crossover sits at roughly 29 minutes of billed time per hour (about 48% utilization) - below it serverless is cheaper, above it an always-on pod is. When both are fully saturated, the same benchmark found a busy serverless worker costs about 2.3x more per token than a pod on identical hardware.
That premium is the price of elasticity. The question for a CTO is not "which is cheaper" in the abstract - it is "what is my steady-state utilization, and does it sit above or below the break-even line."
The break-even formula
Every comparison reduces to cost per 1M tokens:
$ per 1M tokens = hourly GPU price / (tokens per second x 3600) x 1,000,000The numerator is what you pay; the denominator is what you produce. For an always-on pod the hourly price is fixed whether or not requests arrive, so your effective cost per token is only as low as your busy utilization allows. For serverless, you pay the (higher) per-second rate but only for billed utilization - the fraction of the hour a worker is actually spun up.
Those two words matter. Busy utilization is how hard the GPU works while it is on. Billed utilization is how much of the wall-clock hour you are charged for. Serverless decouples them: scale-to-zero means billed time can be far below the full hour. An always-on pod collapses them into one - you are billed for all 60 minutes regardless. We walk through the idle-billing side of this trade-off in more depth in reserved GPU capacity for production LLM inference.
A concrete break-even: the RunPod A40
RunPod's own A40 benchmark gives a clean worked example. A busy serverless worker cost about 2.3x as much per token as a pod on the same GPU when both were fully utilized. Working the economics backwards, serverless only comes out ahead when its flex workers would be billed for under about 29 minutes of each hour - roughly 48% utilization.
So the decision rule is blunt: if a single GPU's worth of your traffic keeps that GPU busy more than half the hour, rent it always-on. If your traffic is spikier than that - a few busy minutes, then quiet - serverless scale-to-zero wins despite the per-token premium. For a larger-model version of this same crossover, see Llama 405B serverless GPU inference cost.
GPU hourly rates to plug in
The numerator is just a number you look up. Recent on-demand rates (Runcrate, October 2026):
| GPU | VRAM | Region | On-demand $/hr |
|---|---|---|---|
| RTX A6000 | 48 GB | Des Moines, US | $0.74 |
| L40S | 48 GB | Kansas City, US | $1.14 |
| H100 PCIe | 80 GB | Montreal, CA | $3.55 |
A cheaper card is not automatically the cheaper token. The H100 costs nearly 5x the A6000 per hour, but if it produces more than 5x the tokens per second for your model, it wins on cost per token. That is why the denominator - throughput - usually decides, and throughput is dominated by concurrency.
The concurrency cost curve
Here is the part that quietly moves the break-even line. The same hardware gets dramatically cheaper per token as you batch more concurrent requests onto it. From a vLLM benchmark of Qwen2.5-7B-Instruct on the RTX A6000:
| Concurrency | Tokens/sec | $ per 1M tokens |
|---|---|---|
| 1 | 42 | $4.86 |
| 8 | 307 | $0.67 |
| 32 | 1,012 | $0.20 |
Serving one request at a time, the A6000 managed 42 tokens/sec at $4.86 per 1M tokens. At concurrency 8 it hit 307 tokens/sec and $0.67. At concurrency 32 it reached 1,012 tokens/sec and just $0.20 - a 24x drop in per-token cost from the same GPU, purely from batching.
This reshapes the break-even. High concurrency lowers your always-on cost per token, which pushes the crossover down - an always-on pod running near saturation is very hard for serverless to beat. But it also raises the bar for keeping that pod fed: you need enough steady traffic to sustain concurrency 32, or the throughput (and the cheap token price) evaporates. The deeper treatment of batching economics lives in LLM inference cost at scale.
There is a latency tax, too. In the same benchmark median time-to-first-token started at 82ms at concurrency 1 and climbed as batches grew. Cheaper tokens, slower first token - pick the point on the curve that fits your SLO.
The serverless counter-argument: cold starts
The per-token premium is only half the story. The historical knock on serverless is the cold start - the delay when a scaled-to-zero worker has to boot, pull an image, and load weights before it can serve. If that penalty is large, you either eat latency or keep workers warm (which erases the scale-to-zero savings and pushes you back toward always-on economics).
This is where the platform matters. Cerebrium's own engineering has gone after every layer of that penalty. In our benchmarks, Cerebrium memory snapshots reduced cold starts by an average of 71% versus running the same workloads without snapshots, with reductions as high as 88% on vLLM. We also reworked AWS node startup to cut machine boot time by 83%, and rebuilt container image distribution so a lazy-loading path downloads a ~15MB metadata bootstrap instead of unpacking a full 4.87GB image before the container can start. The net effect, as described on our platform, is serverless CPU/GPU cold starts in the 2-4 second range.
When cold starts shrink to a couple of seconds, the whole calculus shifts: you can run genuinely spiky traffic on serverless without a warm-pool tax, which keeps billed utilization - and therefore cost - low. The cold-start playbook for latency-sensitive workloads is detailed in serverless GPU cold starts for voice AI, and a head-to-head on the cost-versus-cold-start trade-off is in Modal vs RunPod LLM inference cost and cold starts.
A decision checklist for CTOs
Measure your real billed utilization. Not peak - the hourly average per GPU-equivalent of traffic. Above ~48% on comparable hardware, lean always-on; below it, lean serverless.
Compute cost per 1M tokens at your actual concurrency, not at concurrency 1. The 24x spread from the curve above is the single biggest lever.
Price the latency SLO. Higher concurrency is cheaper but slower to first token; cold starts add a one-time penalty on serverless. Confirm your platform's cold start fits your SLO before counting the scale-to-zero savings.
Model the traffic shape, not the average. A flat 50% load and a spiky 50% average behave completely differently - bursty traffic favors serverless even above the naive break-even.
Consider a hybrid. Reserved/always-on capacity for your predictable baseline, serverless for the spikes above it, usually beats either pure strategy.
The break-even is not a universal constant - it is a line you can calculate once you have your hourly rate, your throughput at your concurrency, and your honest utilization. Get those three numbers and the choice makes itself.
Frequently asked questions
- At what utilization does an always-on GPU beat serverless for LLM inference?
- On a RunPod A40 benchmark, an always-on pod becomes cheaper once serverless workers would be billed for more than about 29 minutes per hour, roughly 48% utilization. Below that, serverless scale-to-zero wins.
- How much more does serverless cost per token?
- When both are fully utilized, a busy serverless worker cost about 2.3x more per token than a pod on the same A40 GPU in RunPod's benchmark. That premium is the price of elasticity and scale-to-zero.
- How do I calculate cost per 1M tokens?
- Divide the hourly GPU price by (tokens per second x 3600), then multiply by 1,000,000. Throughput, which is driven heavily by concurrency, usually matters more than the hourly rate.
- Why does concurrency change the break-even point?
- Batching more concurrent requests raises throughput sharply. On an RTX A6000, Qwen2.5-7B dropped from $4.86 per 1M tokens at concurrency 1 to $0.20 at concurrency 32, lowering always-on cost per token and pushing the crossover down.
- Do cold starts make serverless impractical?
- Only on slow platforms. In Cerebrium's benchmarks, memory snapshots cut cold starts by an average of 71% (up to 88% on vLLM), and node boot time dropped 83%, enabling serverless cold starts in the 2-4 second range.
Get started with Cerebrium
Deploy AI models on serverless GPUs in minutes, with no infrastructure to manage. Start for free and pay only for the compute you use.
Sources
- runpod.io
“In our benchmark on an A40 GPU, a busy Serverless worker cost about 2.3 times as much per token as a Pod on the same GPU.”
Serverless per-token premium vs always-on pod when both fully utilized.
- runpod.io
“Serverless costs less only when its flex workers would be billed for under about 29 minutes of each hour.”
Break-even utilization threshold (~48%) on an A40.
- discuss.huggingface.co
“| RTX A6000 | 48 GB | Des Moines, US | 0.74 |”
A6000 on-demand hourly rate, Runcrate Oct 2026.
- discuss.huggingface.co
“| L40S | 48 GB | Kansas City, US | 1.14 |”
L40S on-demand hourly rate.
- discuss.huggingface.co
“| H100 PCIe | 80 GB | Montreal, CA | 3.55 |”
H100 PCIe on-demand hourly rate.
- discuss.huggingface.co
“| RTX A6000 | 1 | 42 | 43 | 82 ms | 85 ms | 4.86 |”
Concurrency 1: 42 tok/s, $4.86 per 1M tokens, 82ms TTFT.
- discuss.huggingface.co
“| RTX A6000 | 8 | 307 | 40 | 289 ms | 529 ms | 0.67 |”
Concurrency 8: 307 tok/s, $0.67 per 1M tokens.
- discuss.huggingface.co
“| RTX A6000 | 32 | 1,012 | 32 | 479 ms | 1,940 ms | 0.20 |”
Concurrency 32: 1,012 tok/s, $0.20 per 1M tokens.
- cerebrium.ai
“Across the benchmark suite, Cerebrium snapshots reduced cold starts by an average of 71% compared to running the same workloads on Cerebrium without snapshots, with reductions as high as 88% on vLLM.”
First-hand Cerebrium cold-start reduction benchmark.
- cerebrium.ai
“In this post, we show how we reworked node startup and initialization on AWS to reduce machine boot time by 83%, cut the long tail of cold starts, and lower the amount of excess capacity we needed to keep running, improving overall utilization.”
First-hand Cerebrium 83% node boot time reduction.
- cerebrium.ai
“A traditional pull must download and unpack the entire 4.87GB image, while the lazy-loading path only downloads a ~15MB metadata bootstrap before the container can start.”
First-hand Cerebrium lazy image-loading cold-start work.
- cerebrium.ai
“**Serverless CPU/GPU Inference**: With cold start times of 2-4 seconds, its the most performant serverless platform on the market.”
First-hand Cerebrium 2-4 second cold-start claim.