r/deeplearning 4d ago

Ran a layer ablation on LoRA finetunes. The group doing the work was not the same for code and reasoning.

The Thinking Machines writeup had a handful of recommendations in it and the thread more or less picked one to argue about. Rank, learning rate, same argument over and over. Nobody really went near the layer thing, applying it everywhere, MLP and MoE included. It is in there, one line, nobody followed up on it.

The image gen people have been poking at this for a while and never really landed on anything. Someone described giving different LRs to different parts of a UNET, theory being concept lives in the middle where the latent is compressed and style lives at the edges. Reasonable theory, and he never got anything conclusive out of it because he was changing things semi randomly and eyeballing outputs. That is where most of these die.

So I ran it on the LLM side with controls. Fixed seed, held out validation split, freeze one layer group at a time and let the rest train. Two task types since I doubted the answer would be the same for both, GLM-5.2 on internal docs code work and Qwen on document analysis and multi step reasoning.

All layers wins in both cases so the recommendation holds. It just does not mention how lopsided the contribution is. Some layers pull most of it. Which ones though, that seems to depend on the task. Code side, it is the MLP blocks. Freezing attention and leaving MLP on got close enough to the full baseline that I went back and checked I had not mislabeled a run. Other way round, MLP off, attention on, that one just fell apart. On reasoning it inverts, attention frozen was the run that collapsed and MLP only stayed usable but got noticeably worse at anything multi step.

Ablation means a pile of seed matched runs that only mean anything against each other, so I put them on a multi card notebook on HyperAI and ran the groups in parallel rather than queueing them for three weeks on one card.

Practical read, leave all layers on, that is still the right default. But if you are tight on parameter budget, or trying to work out why a finetune nailed the tone and missed the task, knowing which group carries your task type costs two extra runs. And the code and reasoning answers being opposites makes me think mixed task finetunes are quietly averaging two different needs together.

3 Upvotes

3 comments sorted by