Fine-tune cost lab
Estimate what a fine-tune costs on rented GPUs
Type a model size and a token count. The estimator shows every step: training FLOPs, GPU-hours, wall-clock, then the cost on each provider that lists a covered GPU. Results are estimates, not quotes.
Estimate, step by step
- 1. Training FLOPs = 4 × 7 billion parameters × 1000 million tokens = 2.80 × 10^19
- 2. Useful FLOP/s per GPU = 362.05 TFLOPS × 35% MFU = 1.27 × 10^14
- 3. GPU-hours = step 1 ÷ step 2 ÷ 3,600 = 61.4
- 4. Wall-clock on 8 GPUs = step 3 ÷ 8 = 7.7 h, assuming the work spreads evenly
- 5. Cost = step 3 × each provider's lowest listed price per GPU-hour
| Provider | Billing | $/GPU-hr | Estimated cost |
|---|---|---|---|
| CloudRift | per second | $0.69 | $42 |
| Runcrateours, live | per second | $0.85 | $52 |
| Massed Compute | billing not stated | $0.97 | $60 |
| RunPod | per second | $1.09 | $67 |
| Koyeb | per second | $1.20 | $74 |
| Civo | per hour | $1.29 | $79 |
| Crusoe | per hour | $1.50 | $92 |
| DigitalOcean (Paperspace) | per second | $1.57 | $96 |
| Vultr | per hour | $1.67 | $103 |
| OVHcloud | per hour | $1.80 | $110 |
| Amazon Web Services | per second | $1.86 | $114 |
| Verda | billing not stated | $2.00 | $123 |
| CoreWeave | billing not stated | $2.25 | $138 |
| Oracle Cloud | billing not stated | $3.50 | $215 |
Range $42 to $215, median $94 across 14 providers. An estimate, not a quote: real runs differ in utilisation, memory fit, communication and restarts, and providers that bill per hour round up.
Fixed scenarios
Sixteen scenarios, worked out
| Model size | LoRA, 100M tokens | LoRA, 1B tokens | Full, 100M tokens | Full, 1B tokens |
|---|---|---|---|---|
| 7B parameters | from $2.30 | from $23 | from $3.45 | from $35 |
| 13B parameters | from $4.28 | from $43 | from $6.41 | from $64 |
| 34B parameters | from $11 | from $112 | from $17 | from $168 |
| 70B parameters | from $23 | from $230 | from $35 | from $345 |
Lowest estimated cost across every GPU with a printed dense BF16 figure and every provider that lists it, at 35% MFU. LoRA or QLoRA uses 4 FLOPs per parameter per token, full fine-tune 6. Estimates, not quotes.
What the estimate rests on
Training FLOPs are about 6 × parameters × tokens for a full fine-tune, and 4 × for LoRA or QLoRA. Wall-clock time is FLOPs divided by the GPU's dense BF16 throughput times the number of GPUs times MFU, the share of peak that real training reaches. The default MFU is 35%. Every one of these is a field you can change.
Only GPUs whose maker prints a dense BF16 figure are used, because a sparse figure would overstate speed by two. 11 GPU entries qualify and have a price; the others are listed on the GPU coverage page with the reason each is out.
Questions
The lab: common questions
How is the cost worked out?
GPU-hours = 6 (or 4) × parameters × tokens ÷ (dense BF16 TFLOPS × 10^12 × MFU) ÷ 3,600. Cost = GPU-hours × the provider's lowest listed price per GPU-hour.
Which GPUs are included?
MI355X, MI300X, MI325X, H100 SXM, GH200, H100 PCIe, L40S, A100 80GB, L40, A40, A10. Each has a dense BF16 figure printed by its maker and at least one provider with a current on-demand price.
Why is the H200 missing?
NVIDIA prints its BF16 figure with sparsity only, and we do not turn a sparse figure into a dense one. The coverage page lists every exclusion and the reason.
Can I change the assumptions?
Yes. The factor, the MFU, the GPU, the GPU count, the parameters and the tokens are all editable, and the steps update as you type.
Go to
Disclosure
Fine-Tune Cost Lab is published by the Runcrate team, who also run Runcrate, an AI cloud. Runcrate is listed in the table, marked "ours, live". It is sorted by price like every other row, with no pinned position. Other providers' prices are read from their own public pricing pages. We have no paid placement.