When a model already has billions of parameters, updating every weight for every new task is often wasteful. PEFT (parameter-efficient fine-tuning) keeps most of the pretrained model frozen and trains only a small add-on — or a small change — instead.
Full fine-tuning a large model can need huge GPU memory and many cards. PEFT asks a simpler question:
Why update 7 billion parameters when a few million will do?
In practice, PEFT often trains well under 1% of the parameters, while still adapting the model to a new task.
It helps with:
Bigger models can be more capable — but full fine-tuning them gets “astronomically costly.” You may need many high-end GPUs just to update all weights. PEFT is the practical escape hatch: keep the big brain, train a small skill module.
If you fully fine-tune one shared model for task after task, later tasks can wipe earlier skills (forgetting). PEFT lets many tasks share one frozen backbone and keep only tiny task-specific pieces.
| Family | Plain-English idea | Examples |
|---|---|---|
| Selective | Train only some existing weights (or sparse differences) | BitFit, Diff Pruning |
| Additive | Add small new modules into the network | Adapters, AdapterFusion |
| Re-parameterization | Rewrite the weight update in a cheaper form | LoRA, QLoRA |
| Soft prompting | Learn virtual prompt tokens instead of editing the backbone | Prefix tuning, prompt tuning, SMoP, APT, IDPG |
The next lessons go deep on two tracks: additive PEFT (adapters) and soft prompting. LoRA-style methods sit in the taxonomy as another PEFT family.
PEFT adapts huge language models by training a tiny fraction of parameters (or a tiny prompt), so you save cost and protect general skills.