Sam Austinon October 16, 202612 min read

Best Cloud GPU Services for Benchmarking Open-Source LLMs

Contents

Same GPU, same benchmark, different number — here's why

You want to know whether a new open-source model runs fast enough, cheaply enough, and well enough for your product. So you rent a GPU, run a benchmark, and get a number. Then you rent a different GPU somewhere else, run the same benchmark, and get a different number.

Welcome to GPU cloud benchmarking. Prices vary wildly, hardware varies quietly, and "the same H100" doesn't always behave the same. This guide helps you pick a cloud GPU service for benchmarking, sets up a method that produces numbers you can trust, and shows how to turn throughput into cost per million tokens — the serving-side companion to the quality benchmarking workflow covered on this site. GPU prices and availability change constantly, and the roundups behind this guide often came from providers or affiliates, so exact prices are skipped here in favor of how to compare them yourself.

Decide What You're Benchmarking

Benchmarking splits into two jobs, and they need different setups.

  • Quality benchmarking: does the model answer well? You run evaluation suites and compare scores. Hardware barely matters, as long as the model fits and runs.
  • Performance benchmarking: how fast and how cheap is serving? You measure latency, throughput, and cost. Hardware matters enormously.

This guide focuses on performance, since that's where your cloud choice changes the result. For quality work, a standard harness like lm-evaluation-harness runs fine on almost any GPU.

Match the GPU to the Model

A model must fit in GPU memory before you can benchmark it. Run this back-of-envelope math first:

  • Weights: multiply parameters by bytes per parameter. A 7B model in 16-bit precision needs about 14 GB. A 70B model needs about 140 GB at 16 bits, or roughly 35 GB with 4-bit quantization.
  • KV cache: memory for the attention cache grows with context length and the number of concurrent requests. Add generous headroom.
  • Overhead: the runtime and activations need space too.
def weights_gb(params_b, bits=16):
    return params_b * (bits / 8) / 1e9

print(round(weights_gb(7e9), 1))       # 14.0 GB (7B at 16-bit)
print(round(weights_gb(70e9), 1))      # 140.0 GB (70B at 16-bit)
print(round(weights_gb(70e9, 4), 1))   # 35.0 GB (70B at 4-bit)

In practice, small models fit on one consumer or mid-range data center GPU. A 70B model at 16 bits needs multiple 80 GB GPUs, while a quantized version might fit on one. Always check that your benchmark setup matches how you plan to serve in production, because quantization and parallelism change both speed and quality.

The Provider Landscape

The main options group by what they do well.

Developer-Friendly GPU Clouds

Lambda targets machine learning teams with fast onboarding and production-grade infrastructure. Reviewers describe it as strong for single-node and small multi-node work, and as quick to go from signup to running code. Its per-GPU prices often run higher than marketplace options.

RunPod offers on-demand and spot GPUs plus serverless endpoints. It splits into a managed "secure" tier in data centers and cheaper community capacity. Reviewers often call it a strong all-rounder for fine-tuning and inference experiments.

Paperspace (now part of DigitalOcean) appears in many roundups as a simple option for smaller teams.

  • Best for: repeatable benchmarking on single nodes, with predictable setup.

GPU Marketplaces

Vast.ai works as a marketplace where hosts list hardware and you rent it, often at auction prices. Reviews describe it as the cheapest option for the same GPU, often by a wide margin.

The catch matters for benchmarking. Marketplace hosts vary in quality, reliability, and sometimes in hardware condition. One reviewer warns against processing sensitive data or storing API keys on these instances.

  • Best for: cheap, fault-tolerant experiments, like batch inference and exploratory runs.
  • Watch out: results may vary between hosts, so repeat runs and record the details.

Large-Scale GPU Clouds

CoreWeave runs on Kubernetes and targets large-scale training and enterprise inference. Reports say it sells its newest GPUs, such as H100, H200, and B200, as 8-GPU nodes, so you can't rent a single one. One roundup reports it was largely sold out of 2026 capacity earlier this year, which may mean waitlists for new customers.

Nebius is a Nasdaq-listed AI cloud with data centers in Europe, offering recent NVIDIA generations and fast networking aimed at large clusters.

  • Best for: multi-node benchmarks, large models, and teams that need enterprise support.
  • Watch out: minimum node sizes and capacity limits can complicate small experiments.

Hyperscalers

AWS, Google Cloud, and Azure all rent GPU instances. They usually cost more per GPU-hour, and new accounts often face quota requests before they can launch big instances. In return, you get mature security, networking, and compliance tooling.

  • Best for: teams that must keep experiments inside an existing cloud account and governance setup.

Serverless and Hosted Inference

Modal bills per second of active compute, which suits short benchmark bursts. Together AI, Fireworks, and similar services sell hosted model APIs.

Here's an important distinction. Benchmarking a hosted API measures the provider's whole stack, including its optimizations and its load. That tells you what you'll experience as a customer. It doesn't tell you what the model can do on hardware you control.

Compare Providers on What Matters

Price per hour tells only part of the story. Compare these factors:

  • Hardware control: can you pin the exact GPU model, driver, and CUDA version?
  • Availability: can you get the GPU you want today, without a waitlist?
  • Time to first run: how long until your container runs?
  • Billing granularity: per second, per minute, or per hour?
  • Storage and egress fees: model downloads and result transfers add up. Some providers advertise no egress fees, so check current terms.
  • Interconnect: multi-GPU and multi-node tests need NVLink or fast networking.
  • Reliability and interruptions: spot and marketplace capacity can vanish mid-run.
  • Isolation: shared hosts add noise to your measurements.

Time to first run and hardware pinning matter more for benchmarking than the lowest hourly rate. A cheap GPU that takes two hours to set up isn't cheap.

Servers and hardware — where benchmark numbers actually come from

Figure 1: Renting the hardware is easy — keeping the measurement clean is the job

Build a Benchmark You Can Trust

Cloud noise ruins more benchmarks than bad models do. Follow this method.

1. Freeze the Environment

Package everything in one container image. Pin the inference engine version, the model revision, the CUDA and driver versions, and the benchmark script. Record them with every result.

2. Choose Realistic Workloads

Use prompts that match your product. Fix the input and output lengths, and test several: short chat, long document, and long generation. Benchmarks that use tiny prompts flatter every system.

3. Warm Up First

The first requests run slower because of compilation, caching, and memory allocation. Run a warm-up phase, then discard it before you measure.

4. Measure the Right Metrics

Track these numbers:

  • Time to first token (TTFT): how long users wait before output starts.
  • Inter-token latency: the pace of streaming after that.
  • Throughput: tokens per second across all requests.
  • Tail latency: p95 and p99, not only averages.
  • Concurrency behavior: how these numbers change at 1, 8, 32, and 128 simultaneous requests.
  • Error and timeout rate under load.

Popular inference engines like vLLM ship benchmark scripts, and other tools exist for load testing LLM servers. Use one tool consistently across providers.

5. Repeat and Report Variance

Run each test several times, and on more than one instance when you use marketplace capacity. Report medians and spread. One lucky run proves nothing.

6. Log Hardware State

Capture GPU model, memory, clocks, and temperature. Thermal throttling and neighboring workloads can change results mid-run.

Turn Throughput Into Cost

The number you care about is cost per million tokens. Compute it from the hourly price and your measured throughput:

def cost_per_million_tokens(gpu_hourly_usd, num_gpus, tokens_per_sec):
    hourly = gpu_hourly_usd * num_gpus
    return hourly / (tokens_per_sec * 3600) * 1_000_000

# Example: $3/GPU-hour, 1 GPU, 2,000 tokens/sec
print(round(cost_per_million_tokens(3.0, 1, 2000), 2))  # about 0.42

Two cautions apply. First, measure throughput at a realistic concurrency, because a half-idle GPU costs the same as a busy one. Second, include storage, egress, and idle time in your real budget, not only active GPU hours.

Control Your Benchmark Spend

  • Start on a cheap tier to debug your scripts, then move to the target hardware.
  • Cache model weights on a persistent volume so downloads don't burn paid hours.
  • Script everything so you can launch, run, and tear down automatically.
  • Use spot or marketplace capacity for fault-tolerant runs, and on-demand for final numbers.
  • Shut instances down the moment a run ends. Idle GPUs cost real money.

Common Pitfalls

  • Comparing different software stacks — you end up measuring the engine, not the GPU.
  • Trusting one run on shared hardware — noise creates false winners.
  • Using unrealistic prompts — tiny inputs hide memory and latency problems.
  • Ignoring warm-up — cold starts distort averages.
  • Forgetting hidden costs — storage, egress, and idle time add up.
  • Benchmarking a hosted API and calling it a GPU result — you measured the provider's stack.
  • Skipping the memory math — you can't benchmark a model that doesn't fit.
  • Leaving instances running — the fastest way to burn a budget is an idle H100.

Best Book to Read

CoverBookDescriptionGet it
Cover of “Machine Learning Engineering” Machine Learning Engineeringby Andriy Burkov serving, benchmarking, and the deployment discipline behind reproducible numbers. View on Amazon
Cover of “High Performance Python” High Performance Pythonby Gorelick & Ozsvald profiling, parallelism, and the measurement habits that keep benchmarks honest. View on Amazon
Cover of “CUDA” CUDAby Sanders & Kandrot how GPUs actually execute your workload, so hardware differences stop being magic. View on Amazon
Cover of “Designing Machine Learning Systems” Designing Machine Learning Systemsby Chip Huyen matching infrastructure choices to the deployment target you actually have. View on Amazon

As an Amazon Associate I earn from qualifying purchases. Links on this page are affiliate links, and I may earn a commission at no extra cost to you.

Unlock AI That Actually Works

Get lifetime access to GPT-6 Astra, Claude Fable 5.1, Gemini 3.5, Grok 4.5, and more — all in one platform. Build websites, apps, videos, content, and digital products from a single command. No monthly fees. No tool-hopping.

Click here to get GPTAstra Max now — one-time payment, lifetime access.

Frequently Asked Questions

What's the difference between quality and performance benchmarking?

Benchmarking splits into two jobs that need different setups. Quality benchmarking asks whether the model answers well: you run evaluation suites and compare scores, and hardware barely matters as long as the model fits and runs — a standard harness like lm-evaluation-harness runs fine on almost any GPU. Performance benchmarking asks how fast and how cheap serving is: you measure latency, throughput, and cost, and hardware matters enormously. This guide focuses on performance, since that's where your cloud choice changes the result. Before any of it, do the memory math: weights are parameters times bytes per parameter (a 7B model in 16-bit precision needs about 14 GB; a 70B model needs about 140 GB at 16 bits, or roughly 35 GB with 4-bit quantization), plus a KV cache that grows with context length and concurrency — add generous headroom — plus runtime and activation overhead. Small models fit on one consumer or mid-range data center GPU; a 70B model at 16 bits needs multiple 80 GB GPUs while a quantized version might fit on one. Always check that your benchmark setup matches how you plan to serve in production, because quantization and parallelism change both speed and quality.

Which type of GPU cloud fits benchmarking?

Developer-friendly GPU clouds (Lambda, RunPod, Paperspace under DigitalOcean) target ML teams with fast onboarding, predictable single-node setups, and production-grade infrastructure; Lambda's per-GPU prices often run higher than marketplace options, RunPod splits into a managed secure tier and cheaper community capacity. GPU marketplaces like Vast.ai list host hardware, often at auction prices — frequently the cheapest option for the same GPU — but hosts vary in quality, reliability, and hardware condition, reviewers warn against processing sensitive data or storing API keys on these instances, and results may vary between hosts, so repeat runs and record details. Large-scale clouds (CoreWeave on Kubernetes, Nebius) sell newest-generation GPUs (H100, H200, B200) as 8-GPU nodes with enterprise support — one roundup reports CoreWeave was largely sold out of 2026 capacity earlier this year — so minimum node sizes complicate small experiments. Hyperscalers (AWS, Google Cloud, Azure) cost more per GPU-hour and gate big instances behind quota requests, but bring mature security and compliance for governed environments. Serverless options like Modal bill per second, suiting short bursts; hosted APIs from Together, Fireworks, and similar measure the provider's whole stack, not what the model does on hardware you control.

How do you build a benchmark you can trust?

Cloud noise ruins more benchmarks than bad models do, so follow six habits. Freeze the environment: package everything in one container image and pin the inference engine version, model revision, CUDA and driver versions, and benchmark script, recording them with every result. Choose realistic workloads that match your product, fix input and output lengths, and test several shapes — short chat, long document, long generation — because tiny prompts flatter every system. Warm up first: the first requests run slower due to compilation, caching, and memory allocation, so run a warm-up phase and discard it. Measure the right metrics: time to first token, inter-token latency, throughput, tail latency (p95 and p99, not only averages), concurrency behavior at 1, 8, 32, and 128 simultaneous requests, and error/timeout rate under load — popular engines like vLLM ship benchmark scripts, so pick one tool and use it consistently across providers. Repeat and report variance: run each test several times, on more than one instance for marketplace capacity, and report medians and spread. Log hardware state: GPU model, memory, clocks, and temperature, since thermal throttling and neighboring workloads change results mid-run.

How do you turn throughput into cost per million tokens?

Compute cost per million tokens from the hourly price and your measured throughput: multiply the GPU hourly rate by the number of GPUs, divide by tokens per second times 3600, then scale to a million — a $3 per GPU-hour node delivering 2,000 tokens/sec costs about $0.42 per million tokens. Two cautions: measure throughput at a realistic concurrency, because a half-idle GPU costs the same as a busy one, and include storage, egress, and idle time in your real budget, not only active GPU hours. Control spend with habits: debug scripts on a cheap tier before moving to target hardware; cache model weights on a persistent volume so downloads don't burn paid hours; script everything so you can launch, run, and tear down automatically; use spot or marketplace capacity for fault-tolerant runs and on-demand for final numbers; and shut instances down the moment a run ends. Compare providers on more than price: hardware pinning (exact GPU model, driver, CUDA), availability without waitlists, time to first run, billing granularity, storage and egress fees, interconnect (NVLink or fast networking for multi-GPU tests), reliability of spot capacity, and isolation — for benchmarking, time to first run and hardware pinning matter more than the lowest hourly rate.

Wrapping This Up

The best cloud GPU service for benchmarking is the one that gives you the exact hardware you need, quickly and repeatably, at a price your experiments can afford. Developer clouds suit most single-node tests, marketplaces suit cheap exploration, large-scale clouds suit big clusters, and hyperscalers suit governed environments.

Pick two providers, run the identical container and workload on both, and compare cost per million tokens. That one comparison will teach you more than any ranking, including this one.

What are You Looking For?

esc