The Short Answer
For 7B–13B models: LoRA on a single A100 40GB. Faster, cleaner, no quantization drift. For 30B–70B models: QLoRA on a single A100 80GB or RTX 4090 (70B). The VRAM savings are worth the small accuracy hit. For anything above 70B on consumer hardware: QLoRA is the only realistic option.
What LoRA Actually Does
LoRA (Low-Rank Adaptation) freezes the base model's weights and inserts small trainable rank-decomposition matrices next to each attention layer. Instead of updating billions of parameters, you train a handful of thousands. The result is a fine-tune that's 10,000× smaller than the base model, trains 3× faster, and can be loaded/unloaded at inference.
- Trains only 0.1–1% of the model's parameters (typically rank 8–64 adapters)
- Zero accuracy loss vs full fine-tuning on most benchmarks
- Adapters are portable — swap tasks without reloading the base model
The catch: the base model still lives in GPU memory during training in full precision (FP16 or BF16). A 13B model at BF16 needs ~26GB just to hold the weights, plus another 20–40GB for gradients, optimizer states, and activation checkpoints. That's why 13B LoRA needs a 40GB card.
What QLoRA Adds
QLoRA takes LoRA one step further: it quantizes the frozen base model to 4-bit NF4 (NormalFloat 4), then trains LoRA adapters on top. The base model shrinks by ~4×, and paged optimizers keep gradient memory under control. Result: you can fine-tune a 70B model on a single 48GB card, or a 13B model on a 16GB card.
- Base weights: 4-bit NF4 (75% memory reduction)
- Trainable adapters: still FP16/BF16 (no quality loss on the adapter itself)
- Paged optimizers (bitsandbytes) prevent OOM on long sequences
VRAM Requirements: Real Numbers
| Model Size | Full FT (BF16) | LoRA (BF16) | QLoRA (NF4) | Minimum GPU |
|---|---|---|---|---|
| 7B (e.g. Llama 3) | ~80GB | ~16GB | ~6GB | RTX 4090 (LoRA) · RTX 3060 (QLoRA) |
| 13B (e.g. Qwen) | ~150GB | ~28GB | ~10GB | A100 40GB (LoRA) · RTX 4090 (QLoRA) |
| 30B (e.g. Mistral Large) | ~350GB | ~64GB | ~22GB | A100 80GB (LoRA) · RTX 4090 (QLoRA) |
| 70B (e.g. Llama 3.1) | ~800GB | ~148GB | ~48GB | 2× A100 80GB (LoRA) · A100 80GB (QLoRA) |
VRAM estimates include LoRA rank 32, batch size 1, gradient checkpointing enabled, sequence length 2048.
Quality Gap: Does QLoRA Actually Hurt?
The original QLoRA paper claimed no accuracy loss vs 16-bit LoRA, but 2024–2026 follow-up work has been more nuanced:
- Instruction tuning: QLoRA matches LoRA within 0.5% on MMLU and TruthfulQA.
- Code generation: QLoRA loses 1–3% on HumanEval — small but real.
- Math reasoning: Biggest gap — QLoRA can lose 2–5% on GSM8K, especially for smaller models where quantization noise matters more.
- Long-context tasks: QLoRA underperforms above 8K tokens due to compounding quantization errors on attention.
If your downstream task needs mathematical precision (finance, scientific reasoning, code), LoRA is worth the extra GPU cost. For chat, summarization, and general instruction tuning, QLoRA is functionally equivalent.
Training Speed: LoRA Wins
QLoRA's 4-bit quantization requires dequantization on every forward pass. That overhead is real — expect 20–35% slower training vs LoRA on the same hardware. On a 13B model:
- LoRA on A100 80GB: ~450 tokens/sec
- QLoRA on A100 80GB: ~310 tokens/sec (31% slower)
- QLoRA on RTX 4090: ~180 tokens/sec (60% cheaper hardware but 60% slower)
If wall-clock time is your bottleneck (production model shipping), LoRA on a bigger card usually beats QLoRA on a smaller one — even when QLoRA is technically cheaper per hour.
Cheapest GPU Cloud for LoRA vs QLoRA
For QLoRA on RTX 4090 (7B–30B models):
- RunPod Community Cloud — RTX 4090 from ~$0.35/h. Best price/perf for QLoRA experiments.
- Vast.ai — even cheaper (~$0.18/h interruptible) but less reliable for multi-hour training.
For LoRA on A100 80GB (13B–30B models):
- RunPod Secure Cloud — A100 80GB from ~$1.99/h. Reliable for overnight LoRA runs.
- Lambda Labs — A100 80GB on-demand at ~$1.79/h. Best if you need Lambda Stack (PyTorch pre-installed).
For LoRA on H100 (30B+ or fast iteration):
- CoreWeave — H100 clusters. Enterprise pricing but consistent H100 availability.
- RunPod — H100 PCIe from ~$2.49/h on Secure Cloud.
What a Real Fine-Tune Actually Costs
Hourly rates hide the number that matters. QLoRA's speed penalty means the same job occupies the GPU longer, so the cheaper sticker price does not always win. Take a 13B fine-tune on 10,000 samples at 512 tokens over 3 epochs, or 15.4M tokens total, priced at the rates above.
| Setup | Throughput | Wall-clock | Rate | Total job cost |
|---|---|---|---|---|
| LoRA · A100 80GB (Lambda) | 450 tok/s | 9.5 h | $1.79/h | ~$17 |
| QLoRA · A100 80GB (Lambda) | 310 tok/s | 13.8 h | $1.79/h | ~$25 |
| QLoRA · RTX 4090 (RunPod Community) | 180 tok/s | 23.7 h | $0.35/h | ~$8 |
On identical hardware QLoRA costs about 45% more than LoRA, not less. Quantization only pays for itself when it lets you drop to a cheaper card: the RTX 4090 run lands at half the price of the A100 LoRA run, but you wait 2.5× longer for the checkpoint.
Rule of thumb: if the model already fits in BF16 on a card you can afford, QLoRA is a pure loss on both speed and cost. If it does not fit, QLoRA on consumer hardware beats renting the bigger card, provided you can absorb the overnight wait.
Decision Framework
FAQ
Is QLoRA production-ready?
Yes — QLoRA has been in production at Anthropic, Mistral, and many open-source finetuners since 2023. Just verify the accuracy gap is acceptable for your specific task before shipping.
Can I use QLoRA with FlashAttention?
Yes, and you should. FlashAttention 2 works seamlessly with 4-bit quantized weights via bitsandbytes 0.42+. Expect an additional 15–25% training speedup.
Does LoRA rank matter more for QLoRA?
Slightly. Because QLoRA's base model is noisier (quantization error), higher ranks (r=64 or r=128) can help the adapter compensate. Standard LoRA typically peaks at r=16–32.
Should I use PEFT or Unsloth?
Unsloth in 2026 is roughly 2× faster than PEFT for both LoRA and QLoRA on single-GPU training. For multi-GPU distributed training, PEFT + FSDP is still the standard.
Bottom Line
LoRA and QLoRA solve different problems. LoRA is the default choice when your model fits — cleaner training, no quantization overhead, no accuracy anxiety. QLoRA is the enabler when memory is the constraint, letting you fine-tune 70B models on a single card that would otherwise need a multi-node cluster.
For fastest experimentation, we recommend starting with QLoRA on a RunPod RTX 4090 (~$0.35/h), then graduating to LoRA on an A100 80GB (~$1.79/h) once you've validated your training recipe. See our GPU cloud price comparison for full provider rankings.