The problem with updating everything
Full fine-tuning means updating every single weight in the model during training, the same way the model was originally trained, just continued on your new dataset. For a model with tens of billions of parameters, that means storing gradients and optimizer states for every one of those weights, which typically takes several times more memory than just loading the model. It also produces a full new copy of the model for every fine-tuned variant you create, which gets expensive fast if you need several specialized versions.
For most builders, that cost is simply out of reach, and it's often unnecessary. Research found that you don't need to move every weight to change a model's behavior in a meaningful, targeted way, you need to move the right, much smaller set of them.
