Why full fine-tuning is impractical
A 7B parameter model has 7 billion floating-point numbers. In full fine-tuning, you need to:
- Store the model weights (7B × 2 bytes in fp16 = 14 GB)
- Store the gradients (another 14 GB)
- Store optimizer states (Adam needs 2 states per param = 28 GB)
- Plus activations, batch data, framework overhead...
Total: ~60–80 GB VRAM just for a 7B model. A 70B model needs 600+ GB — multiple A100s.
| Model size | Full FT VRAM (fp16) | GPU needed |
|---|---|---|
| 1B | ~12 GB | RTX 3090 / 4090 |
| 7B | ~60 GB | A100 80 GB |
| 13B | ~120 GB | 2× A100 80 GB |
| 70B | ~600 GB | 8× A100 80 GB |
This is where Parameter-Efficient Fine-Tuning (PEFT) comes in. Instead of updating all 7 billion parameters, you update a tiny added subset — often less than 1% — while keeping the rest frozen.