In the runs below, a LoRA fine-tune of a 7B or 8B model on one GPU took about 1.5 to 3 hours. A 65B model took 24 hours. Keeping the tuned model online is the larger bill: a GPU server that answers all month runs about 730 hours.
So most of what fine-tuning costs is hosting the result. This page prices both parts from our weekly price records, using run times that others have reported.
The figures come from the QLoRA paper, torchtune's benchmarks, Sebastian Raschka's experiments and the other sources listed at the end, read on 27 October 2026.

Who this is for
- you plan to fine-tune an open model and need a budget
- you want to know which GPU to rent for training
- you will need to keep the tuned model running afterwards
Not for you if you only want answers from your own documents: see fine-tuning or a document chatbot.
Key numbers
- 24 hours to fine-tune a 65B model with QLoRA on one GPU, in the QLoRA paper (2023) Official page,
- 2,413 tokens/s torchtune's measured QLoRA speed for an 8B model on one RTX 4090 Official page,
- 730 hours in an average month online, against a few hours for one training run Our calculation,
Two bills: the training run and keeping it online
The training run is billed once: GPU hours times the hourly price, plus storage while the server exists. Every repeat run to fix the data or the settings adds the same again.
Hosting is billed every month for as long as people use the model. A GPU server that stays on runs about 730 hours a month, the average of 8,760 hours a year.
A month is counted as 672 hours.
| Example | Part | Cost |
|---|---|---|
| 8B model, QLoRA, one L4 | Training run (about 2.25 hours, billed as 3) | €1.74 |
| 8B model, QLoRA, one L4 | A month online | €389.76 |
| 8B model, QLoRA, one L4 | Total | €391.50 |
| 65B model, QLoRA, one L40S | Training run (24 hours) | €26.64 |
| 65B model, QLoRA, one L40S | A month online | €745.92 |
| 65B model, QLoRA, one L40S | Total | €772.56 |
UpCloud bills by the starting hour and stops charging after 672 hours a month. The 65B run is the QLoRA paper's 24 hours on one GPU; GPUs differ in speed.
A server you switch off between uses costs less, but then the model is not there to answer. Whether fine-tuning pays depends mostly on that second bar.
How long published fine-tuning runs took
On one GPU, LoRA and QLoRA runs on 7B and 8B models took about 1.5 to 3 hours; a 65B model took a day.
| Model | Method | Data | GPU | Time | Source |
|---|---|---|---|---|---|
| Llama 2 7B | LoRA, 16-bit | 50,000 examples (Alpaca) | Not stated | 1.85 hours | Sebastian Raschka, Nov 2023 |
| Llama 2 7B | QLoRA, 4-bit | 50,000 examples (Alpaca) | Not stated | 2.79 hours | Sebastian Raschka, Nov 2023 |
| CodeLlama 7B | QLoRA, three epochs | 10,000 examples | AWS g5.2xlarge | 1 hour 30 minutes | Philipp Schmid, Jan 2024 |
| Llama 3.1 8B | QLoRA | 10,000 examples (Orca-Math) | One L4, 24 GB | About 135 minutes (his estimate) | Philipp Schmid, Dec 2024 |
| Guanaco 33B | QLoRA | About 9,000 examples (OASST1) | One 24 GB consumer card | Under 12 hours | QLoRA paper, May 2023 |
| Guanaco 65B | QLoRA | About 9,000 examples (OASST1) | One professional GPU | 24 hours | QLoRA paper, May 2023 |
The settings matter as much as the card. In Philipp Schmid's table, the same 8B run on one L4 drops from about 360 minutes to 135.
Packing short examples together, Flash Attention, Liger Kernels and a larger batch made the difference. His table marks these times as estimates.
Training speed in tokens per second
PyTorch's torchtune library shared measured speeds for Llama 3.1 8B over one full epoch. Each run used a batch size of two, with examples packed into sequences of 2,048 tokens.
QLoRA saves memory but runs slower: 2,413 tokens a second against 3,083 for LoRA on the same RTX 4090. Raschka saw the same trade: 14.18 GB against 21.33 GB of memory, but 2.79 hours against 1.85.
Work out your own run
Hours for one pass over your data = examples × average tokens per example ÷ tokens per second ÷ 3,600. Multiply by the number of epochs; Unsloth's guide recommends one to three.
At these speeds, even 50 million tokens of training data take under six hours on one card.
| Your data | RTX 4090, QLoRA | RTX 4090, LoRA | RTX A6000, LoRA |
|---|---|---|---|
| 1,000 examples of 500 tokens (0.5 million) | 3 min | 3 min | 2 min |
| 10,000 examples of 1,000 tokens (10 million) | 1.2 hours | 54 min | 35 min |
| 50,000 examples of 1,000 tokens (50 million) | 5.8 hours | 4.5 hours | 3.0 hours |
Add the time to download the model, start up and save the result. Unsloth's benchmarks page notes that torch.compile alone typically takes about five minutes to warm up.
Then run the 60-step test from our Unsloth guide and time it. Your own step times beat any estimate, ours included.
More GPUs finish sooner but use about the same GPU-hours. Schmid's table estimates 33 minutes on four L4s and 18 on eight, or 132 and 144 GPU-minutes against 135 on one, by our calculation.
Why time estimates are often wrong
In January 2025, a user on the Hugging Face forum stopped a fine-tuning run on an L40S after three and a half hours. The model was a 13B, and the data 250 questions and answers.
ChatGPT had estimated 10 minutes, and another user replied that it should probably take under 10 minutes. The thread never found the cause.
Sequence length, batch size, packing and loading the model at 4-bit all change the time. Time the first steps before you trust any figure, including the ones on this page.
GPU memory for each method
Full fine-tuning updates every weight and needs many times the memory of LoRA. LLaMA-Factory, an open-source training tool, gives these estimates:
QLoRA at 4-bit fits a 70B model on one 48 GB card; full fine-tuning of the same model needs at least eight 80 GB cards.
| Method | 7B | 14B | 30B | 70B |
|---|---|---|---|---|
| Full, mixed precision | 120 GB | 240 GB | 600 GB | 1,200 GB |
| Full, 16-bit | 60 GB | 120 GB | 300 GB | 600 GB |
| LoRA, 16-bit | 16 GB | 32 GB | 64 GB | 160 GB |
| QLoRA, 8-bit | 10 GB | 20 GB | 40 GB | 80 GB |
| QLoRA, 4-bit | 6 GB | 12 GB | 24 GB | 48 GB |
The QLoRA paper puts the gap at more than 780 GB against under 48 GB for a 65B model. Unsloth's own table, in our Unsloth guide, lists similar minimums.
In torchtune's tests, an 8B model used 7.4 GiB with QLoRA and 16.2 GiB with LoRA on an RTX 4090. Our GPU memory guide covers what the tuned model needs to run.
Keeping the tuned model online
On a GPU server of your own
A merged model runs like any open model, with vLLM, Ollama or llama.cpp; our serving engine guide compares them. At 4-bit, the QLoRA paper lists 41 GB for its 65B model, so a 48 GB card holds it.
A monthly server costs the same whether it answers one question or thousands. Our dedicated GPU server guide compares monthly and hourly billing.
| Plan | Price | New-customer offer | Link |
|---|---|---|---|
| Liquid Web GPU server, NVIDIA L4 24GB 24 GB GPU | $584.25/month monthly; 25% off the first month, then $779 · VAT not stated checked 25 Oct 2026 | No offer | Visit |
| UpCloud GPU Server, 1 x NVIDIA L4, 8 cores, 64 GB 24 GB GPU | €0.58/hour (about €390/month; no charge after 28 days of use)30-day month: the last 2 days are free.31-day month: the last 3 days are free.February: no free days (one in a leap year).Started mid-month: it may never reach the cap that month. on demand, billed by the starting hour; monthly cost capped at 28 days of use checked 25 Oct 2026 | No offer | Visit |
| GPU Mart Enterprise Dedicated GPU Server - RTX 4090 24 GB GPU | $409/month monthly rate of a 24-month term, paid in advance · VAT not stated checked 25 Oct 2026 | A free 24-hour trial of a VPS, dedicated or GPU server for new clients, on request checked 29 Oct 2026 | Visit |
| Unihost AZM-04, NVIDIA RTX 4090 24 GB GPU | €359.90/month monthly, paid in advance; minimum one month checked 25 Oct 2026 | No offer | Visit |
Monthly costs for hourly prices assume the server runs all month (730 hours), or less where a provider caps the monthly bill.
A model that answers all day suits a monthly plan; one used now and then suits an hourly plan you switch off.
| Plan | Price | New-customer offer | Link |
|---|---|---|---|
| DigitalOcean GPU Droplet, 1 x NVIDIA L40S 48 GB GPU | $1.57/hour (about $1,146/month) on demand, billed per second · VAT not stated checked 25 Oct 2026 | New accounts get a $5 credit that lasts 90 days and covers every product except SaaS add-ons checked 29 Oct 2026 | Visit |
| UpCloud GPU Server, 1 x NVIDIA L40S, 8 cores, 64 GB 48 GB GPU | €1.11/hour (about €746/month; no charge after 28 days of use)30-day month: the last 2 days are free.31-day month: the last 3 days are free.February: no free days (one in a leap year).Started mid-month: it may never reach the cap that month. on demand, billed by the starting hour; monthly cost capped at 28 days of use checked 25 Oct 2026 | No offer | Visit |
| Liquid Web GPU server, NVIDIA L40S 48GB 48 GB GPU | $1,049.25/month monthly; 25% off the first month, then $1,399 · VAT not stated checked 25 Oct 2026 | No offer | Visit |
Per-second and hourly billing also suits the training run: stop the server when it ends.
As an adapter on a shared server
vLLM can serve many LoRA adapters on one base model, chosen per request, with what its docs call minimal overhead. Several tuned versions then share one GPU bill.
Its docs advise setting the maximum adapter rank to the highest rank you use. They also warn that loading adapters while the server runs is a security risk outside a fully trusted environment.
Through a model API
Some API services host fine-tuned models for you. Fireworks, for example, says it serves fine-tuned models for the same price as base models, and bills fine-tuning per million training tokens.
You then pay per token with no server to run, but the adapter must be built on a base model the service runs. Our guide to paying per token or renting a GPU shows where the line falls.
When fine-tuning is worth the money
Fine-tune when you need a fixed format, tone or skill that prompting cannot reach, and you have good examples. For answers from your own documents, compare a document chatbot first.
Quality beats quantity. In the QLoRA paper, a dataset of about 9,000 examples beat one of 450,000 for chatbot quality.
Budget for more than one run: each fix to the data or the settings means training again. Then add the months online, which last as long as people use the model.
How we checked
We read the QLoRA paper, the torchtune and LLaMA-Factory READMEs and Unsloth's benchmarks on 27 October 2026. We also read vLLM's LoRA docs, Fireworks' pricing page and the posts named above.
Run times are the sources' own. The hours per epoch and the GPU-minutes are our calculation.
Our own measurements will be added here, with their dates, when our test bench runs them.
Mistakes to avoid
Pricing only the training run
Instead: Price the month online too; it is often the larger bill.
Trusting a time estimate
Instead: Time the first steps of a short test run.
Choosing full fine-tuning by default
Instead: LoRA and QLoRA need a fraction of the memory.
Leaving the training server on
Instead: Download the files and delete the server when the run ends.
Other questions
How much does it cost to fine-tune an LLM?
The run costs its GPU hours times the hourly price. The runs above took about 1.5 to 3 hours for 7B and 8B models on one GPU, and 24 hours for 65B. Hosting the result all month on the same card costs far more.
How long does it take to fine-tune an LLM?
From about 1.5 hours to a day in the runs above, depending on the model, data and settings. At torchtune's measured speed, 10 million tokens take about 69 minutes per epoch on an RTX 4090 with QLoRA.
What GPU do I need to fine-tune a 70B model?
With QLoRA at 4-bit, a 48 GB card by LLaMA-Factory's estimate; Unsloth lists 41 GB. Full fine-tuning needs 600 GB or more.
Sources and test notes
- QLoRA paper by Tim Dettmers and others (arXiv, May 2023), read
- torchtune on GitHub (memory and training speed table), read
- Sebastian Raschka: practical tips for fine-tuning LLMs with LoRA, read
- Philipp Schmid: fine-tuning open LLMs in 2025, read
- Philipp Schmid: fine-tuning LLMs in 2024 with Hugging Face, read
- Hugging Face forum: a 250-document job taking hours, read
- LLaMA-Factory on GitHub (hardware requirement table), read
- Unsloth benchmarks, read
- Unsloth: fine-tuning LLMs guide, read
- vLLM documentation: LoRA adapters, read
- Fireworks pricing, read
Every page read on 27 October 2026. Run times are the sources' own; hours per epoch and GPU-minutes are our calculation.