What's Inside
I manage a small AI startup. Last year, I blew through $50,000 on GPU rentals before I realized I was being robbed. I'm not talking about some theoretical savings, I mean I literally watched my AWS bill hit $18,000 in one month for a single training job. That hurt.
So I did what any desperate founder would do: I spent two months diving deep into every GPU rental option out there. I compared rates, I begged for discounts, I signed up for every free trial. Now I want to share what I found, including the honest numbers that most blog posts gloss over.
Real GPU Rental Costs: My Spreadsheet Doesn't Lie
Let's cut through the marketing. Here are the actual hourly rates I paid (or could have paid) for some of the most common GPUs. These are for on-demand instances in US East regions, without any discounts or reservations.
| GPU Model | AWS | GCP | Azure | Lambda Labs |
|---|---|---|---|---|
| NVIDIA A100 80GB | $4.21/hr | $3.50/hr | $4.05/hr | $1.10/hr |
| NVIDIA V100 32GB | $2.48/hr | $2.10/hr | $2.35/hr | $0.89/hr |
| NVIDIA RTX 4090 | N/A | N/A | N/A | $0.55/hr |
| NVIDIA L40S | $2.99/hr | $2.60/hr | $2.85/hr | $0.95/hr |
Right away you see the variance. For A100s, Lambda Labs is about 75% cheaper than AWS. But there's a catch: Lambda Labs doesn't have the same global footprint or support. I once had a node go down during a critical training run, and it took them 6 hours to respond. That's a hard trade-off.
Another surprise: smaller providers like Vast.ai and RunPod offer rates as low as $0.30/hr for older GPUs like RTX 3090s. I tested Vast.ai for a week, and while the pricing was absurdly good, I had to deal with occasional preemption (someone else's job kicked mine off). Fine for experiments, scary for production.
Hidden Fees That Inflate GPU Rental Rates
When I first compared GPU rental rates, I only looked at the per-hour compute cost. Big mistake. Here are the silent killers that added 20-40% to my bill:
Data transfer (egress) fees. AWS charges $0.09/GB for data going out to the internet. If you're training on a large dataset stored in S3, you could be paying hundreds just to move data to the GPU instance. I once paid $1,200 in egress fees without realizing it.
Storage attached to the instance. Provisioned IOPS volumes on AWS can cost $0.10/GB/month. A 1TB gp3 volume runs $80/month. For a month-long training job, that's an extra $80 you didn't factor into your GPU rental rate calculation.
Idle time. Most cloud providers charge for the entire hour even if you use only 10 minutes. I've run jobs that took 45 minutes, and I paid for a full hour. Over a month, idle rounding added up to $400.
Software licensing. Some GPU instances come with pre-installed software (like NVIDIA CUDA) that's free, but if you use third-party frameworks, you might need licenses. I use a specific optimization library that costs $0.50/hr per GPU on top of the compute.
How I Track Hidden Costs Now
I created a simple script that logs every cost component for each training run: compute, egress, storage, and licensing. It's a pain to set up, but it showed me that my effective GPU rental rate on AWS was $5.80/hr for A100s, not $4.21.
Cheap GPU Providers Nobody Talks About
Most people compare the big three clouds. But there are alternatives that offer wild discounts if you're willing to accept some limitations. Here's my experience with three non-traditional options:
1. Vast.ai (peer-to-peer marketplace). You're essentially renting someone's personal GPU rig. Prices start at $0.20/hr for RTX 3080. I tried it for a toy model and it worked fine. But security? The host can see your data. I would never put proprietary client data on there.
2. Paperspace Gradient. They offer dedicated and free GPU (up to 8 hours on a basic GPU). Their paid rates are comparable to AWS but with simpler pricing. I used them for quick prototyping. No hidden fees, but GPU selection is smaller.
3. CoreWeave. Built specifically for AI workloads. They quote rates publicly: A100 80GB at $2.30/hr, but you need to commit to at least $5k/month minimum. I tried negotiating a smaller commitment and they refused. Great for established teams, not for indie hackers.
4. Fluidstack. A newer player focusing on ultra-low latency interconnect. Their pricing is opaque (you need to request a quote), but when I asked, they quoted $1.85/hr for A100s with a 3-month commitment. That's half of AWS.
I ultimately decided not to go with any of these for my main workload because of reliability concerns. But for dev and testing, they're fantastic.
How I Saved 60% on GPU Rental Rates
Here's the concrete strategy that cut my cloud GPU bill from $18k/month to $7k/month, without sacrificing performance:
1. Reserved instances with 1-year commitment. AWS offers up to 42% discount if you commit to a full year. I was scared of lock-in, but I calculated that even if I switched providers, the savings in the first 3 months covered the early termination fee. I reserved 4 A100s and instantly saved $1.50/hr per GPU.
2. Spot instances for preemptible workloads. For data preprocessing and hyperparameter tuning, I switched to spot instances. On GCP, spot prices are typically 60-91% lower than on-demand. I had to build retry logic (instances can be killed any time), but it was worth it. I now run 80% of my compute on spot.
3. Right-sizing GPUs. I was using A100s for everything. But for smaller models, a V100 or even a T4 is enough. I benchmarked my models and found that 60% of my jobs could run on a V100 with only 15% longer training time. V100s are half the price. I shifted those jobs and saved $3k/month.
4. Using preemptible VMs on GCP (they call them 'preemptible'). They can be terminated at any time but max runtime is 24 hours. I set up checkpointing every 30 minutes, so even if a VM dies, I lose at most 30 minutes of work. This saved me another 60% on those instances.
5. Negotiating with smaller providers. I email providers like Lambda Labs and CoreWeave with my monthly budget ($10k) and asked for a custom rate. Lambda Labs gave me an extra 15% off their already cheap prices. Didn't hurt to ask.
My Savings Breakdown
After 2 months of optimization: on-demand A100 went from $4.21/hr to $2.10/hr (reserved + spot mix). Overall GPU rental cost dropped from $18k to $7k monthly. The catch: I had to invest 40 hours in scripting and monitoring. Worth it.
Spot vs On-Demand: When Each Makes Sense
I used to think spot instances were only for hobbyists. I was wrong. Here's my pragmatic rule:
Use spot for: batch jobs, hyperparameter sweeps, data preprocessing, any workload that can handle interruptions. If you can save checkpoints every 10 minutes, spot is your friend.
Use on-demand for: production inference, long training runs that would cost more to restart than to keep running, and any job with strict deadlines. I currently run all my client-facing inference on on-demand (reliability) and all training on spot.
One nuance: spot pricing fluctuates based on supply/demand. During holidays, spot prices on AWS can spike to near on-demand levels. I built a simple price monitor that alerts me when spot prices exceed 70% of on-demand, and I switch to reserved on-demand instances.
Also, not all providers handle preemption the same. GCP gives you a 30-second warning before termination. AWS gives you 2 minutes. Azure... sometimes you just get killed. I prefer GCP for spot.
FAQs About GPU Rental Rates
This article reflects my personal experience managing GPU costs. No specific URLs are provided for pricing pages because rates change frequently; always verify on provider websites. I've fact-checked the numbers against my actual bills from Q1 and Q2.
Reader Comments