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.

TL;DR: QLoRA is not "worse LoRA". It's a memory-efficient variant that unlocks fine-tuning of models that literally do not fit in your GPU otherwise. Use it when you have to; use LoRA when you can afford to.

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 SizeFull FT (BF16)LoRA (BF16)QLoRA (NF4)Minimum GPU
7B (e.g. Llama 3)~80GB~16GB~6GBRTX 4090 (LoRA) · RTX 3060 (QLoRA)
13B (e.g. Qwen)~150GB~28GB~10GBA100 40GB (LoRA) · RTX 4090 (QLoRA)
30B (e.g. Mistral Large)~350GB~64GB~22GBA100 80GB (LoRA) · RTX 4090 (QLoRA)
70B (e.g. Llama 3.1)~800GB~148GB~48GB2× 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.

SetupThroughputWall-clockRateTotal job cost
LoRA · A100 80GB (Lambda)450 tok/s9.5 h$1.79/h~$17
QLoRA · A100 80GB (Lambda)310 tok/s13.8 h$1.79/h~$25
QLoRA · RTX 4090 (RunPod Community)180 tok/s23.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

Choose LoRA when: your model fits in your budget GPU with BF16 base weights, your task needs precise reasoning, or you're iterating fast on hyperparameters.
Choose QLoRA when: the model doesn't fit otherwise, you're prototyping on consumer GPUs, or your accuracy budget can absorb the 1–3% loss.

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.

Find the Cheapest GPU for LoRA →