LoRA's Second Descent Extends Beyond Parameter Parity
Organizations: The University of Queensland Brisbane, Australia
Abstract
Double descent has sparked considerable interest, with recent work relating it to the data, the model and the learning configuration. Practical fine-tuning commonly involves training a small adapter on top of frozen pretrained weights, as in low-rank adaptation (LoRA). The adapter's rank is the hyperparameter that sets its capacity, yet how this rank relates to double descent has not been well explored. We quantify this relation under label noise on four vision backbones and a 7B language model with a module-matched rank sweep (MMRS), which extends past full rank and compares every rank with dense fine-tuning of the same modules, paired by seed. On DeiT-Tiny, risk is lowest at rank one and rises sharply as the adapter becomes able to fit the noisy labels, forming an interpolation cliff. Past the peak, risk falls again, but every tested post-peak rank that still saves parameters remains above dense risk. Rank-one LoRA outperforms dense fine-tuning on three of the four vision backbones, consistent with strong regularization at small rank. LoRA thus exhibits a second descent, but matches dense risk only after losing its parameter advantage, first on DeiT-Tiny at four times dense's projection weights. Code is available at https://anonymous.4open.science/r/lora-second-descent-C7B5.
Figures & tables
| DeiT-Tiny | ViT-Tiny | ||||
| adapter rank | params | test NLL | paired diff. | test NLL | paired diff. |
| dense qkv, | — | — | |||
| (valley) | |||||
| / (peak) | / | — | — | ||
| (below parity) | |||||
| (full rank) | |||||
Appendix figures & tables24 assets
Supplementary material from the paper’s appendix.
Appendix
| block | purpose | sweep / setting | seeds | where |
|---|---|---|---|---|
| E1 | main rank sweep | incl. , | 5 | § 3 |
| E2 | budget interaction | epochs | 3 | § 5.6 |
| E7 | high-rank, long-time tail | , epochs | 5 | § 5.6 |
| E9 | scaling to interpolation | , epochs | 5 | § 5.6 |
| E5 | from-scratch control | ResNet-18 widths , CIFAR-10 k, ep | 3 | § 3 |
| E8 | from-scratch, identical data | widths , CIFAR-100 k, ep | 3 | § 3 |
| backbone | rank | seeds | LoRA NLL | dense NLL | paired diff. | signs |
| DeiT-Tiny | (peak) | 5 | ||||
| 5 | ||||||
| 5 | ||||||
| 5 | ||||||
| 5 | ||||||
| 5 |
| backbone | arm | params | best rate | NLL | minus best dense |
| DeiT-Tiny | dense qkv | — | |||
| , | |||||
| , | |||||
| , fresh | , 9 of 10 | ||||
| , | |||||
| , |
| axis | variable | valley | peak | end | gap | |||
| LoRA rank, DeiT-Tiny (E1, E30, E33) | ( ) | ( ) | ( ) | |||||
| LoRA rank, ViT-Tiny (E26, E35) | ( ) | ( ) | ( ) | |||||
| LoRA rank, DeiT-Small (E12) | ( ) | ( ) | ( ) | |||||
| LoRA rank, CIFAR-100N human noise (E14) | ( ) | ( ) | ( ) | |||||
| LoRA rank, Qwen2.5-7B (E27) | ( ) | ( ) | ( ) | |||||
| Dense blocks (E11) | ( ) | ( ) | ( ) | — |
| DeiT-Tiny | ViT-Tiny | ||||
|---|---|---|---|---|---|
| training coordinates | test NLL | test NLL | |||
| Dense qkv | — | ||||
| AdamW on | |||||
| AdamW on | |||||
| AdamW on | |||||
| Lifted AdamW | |||||
| rank | sel. lr | sel. wd | sel. epoch | train acc (sel., %) | val NLL | test NLL (mean std) |
|---|---|---|---|---|---|---|
| noise | clean | |||||
| test NLL | test acc (%) | train acc (%) | test NLL | test acc (%) | train acc (%) | |
| 0 | ||||||
| 1 | ||||||
| 4 | ||||||
| 8 | ||||||
| 16 | ||||||
| configuration | trainable params | test NLL | train acc (%) |
|---|---|---|---|
| head only ( ) | |||
| E11 dense blocks | |||
| E11 dense blocks | |||
| E11 dense blocks | |||
| E11 dense blocks | |||
| E11 dense blocks , ep |
| 1 | 24 | 64 | 192 | 384 | 768 | |
|---|---|---|---|---|---|---|
| test NLL | ||||||
| train acc (%) |
| E7 (fixed) | E9 ( ) | |||||
|---|---|---|---|---|---|---|
| epochs | ||||||
| 80 | ||||||
| 160 | ||||||
| NLL raw | NLL calibrated | ECE | Brier | AURC | ||
| 1 (valley) | ||||||
| 64 (peak) | ||||||
| 192 | ||||||
| clean, 1 | — | — | — | |||
| clean, 192 | — | — | — |
| configuration | test NLL | test acc (%) | train acc (%) |
|---|---|---|---|
| E14 | |||
| E14 (valley) | |||
| E14 | |||
| E14 | |||
| E14 (peak) | |||
| E14 |
| configuration | test NLL | test acc (%) | train acc (%) |
|---|---|---|---|
| ViT-Tiny | |||
| ViT-Tiny (valley) | |||
| ViT-Tiny | |||
| ViT-Tiny (peak) | |||
| ViT-Tiny | |||
| Swin-Tiny |
Double Descent
Double descent describes non-monotonic test error that can peak near interpolation and fall again as model capacity increases.
See all 20 papers