SpectralLoRA: Is Low-Frequency Structure Sufficient for LoRA Adaptation? A Spectral Analysis of Weight Updates
Organizations: Indian Institute of Technology Roorkee
Abstract
We present a systematic empirical study of the spectral structure of LoRA weight updates. Through 2D Discrete Cosine Transform (DCT) analysis of trained adaptation matrices across BERT-base and RoBERTa-base on four GLUE benchmarks (SST-2, MNLI, CoLA, QQP), we establish that LoRA updates are universally dominated by low-frequency components: on average, just 33% of DCT coefficients capture 90% of total spectral energy. Retaining only 10% of frequency coefficients reduces adapter storage by 10x while sacrificing only 1.95 percentage points on SST-2. Notably, frequency masking at k=50% improves over full LoRA on 3 of 8 model-task pairs, suggesting high-frequency components act as adaptation noise. We further discover that RoBERTa-base is systematically more spectrally compressible than BERT-base across all tasks, and that task complexity governs spectral sensitivity: NLI tasks require more frequency budget than sentiment classification. A subsequent SVD-DCT correlation analysis (Pearson r=0.906, p<1e-9) connects the empirical 33% constant to the spectral dynamics of SGD (Olsen et al., 2025), suggesting a theoretical grounding for this finding. These findings motivate a new design principle for PEFT: spectral sparsity in adaptation.
Figures & tables
| Method | Core Idea | Gap vs. This Work |
|---|---|---|
| LoRA ( Hu et al., 2021 ) | Low-rank decomposition | No frequency analysis |
| AdaLoRA ( Zhang et al., 2023 ) | SVD-based rank allocation | Spatial domain only |
| LoRA-Mini ( Ahmed et al., 2024 ) | Decompose + selective training | No spectral motivation |
| KronA ( Edalati et al., 2022 ) | Kronecker product structure | Spatial domain only |
| SpectralLoRA (Ours) | DCT analysis of LoRA updates | First frequency-domain study |
| Component | Details |
|---|---|
| Models | BERT-base-uncased, RoBERTa-base ( 110M parameters each) |
| Tasks | SST-2 (sentiment), MNLI (NLI), CoLA (linguistics), QQP (paraphrase) |
| LoRA config | , , target = [query, value], dropout = 0.1 |
| Train samples | 5,000 per task (consistent budget across all experiments) |
| Hardware | NVIDIA T4-15GB, PyTorch 2.10, transformers 4.45.2 |
| DCT library | scipy.fft.dctn with norm=’ortho’ (2D DCT-II) |
| Method | Trained Params | Stored Params | Reduction | SST-2 |
|---|---|---|---|---|
| Full Fine-tuning | 109,780,228 | 109,780,228 | 1.0 | 93.0% |
| LoRA (baseline) | 296,450 | 296,450 | 1.0 | 87.73% |
| SpectralLoRA =50% | 296,450 | 148,225 | 2.0 | 88.19% (+0.46) |
| SpectralLoRA =20% | 296,450 | 59,290 | 5.0 | 87.04% ( 0.69) |
| SpectralLoRA =10% | 296,450 | 29,645 | 10.0 | 85.78% ( 1.95) |
| SpectralLoRA =5% | 296,450 | 14,823 | 20.0 | 79.82% ( 7.91) |
| Model | Task | Metric | Full LoRA | =10% | =20% | =50% | @10% |
|---|---|---|---|---|---|---|---|
| BERT-base | SST-2 | Acc | 87.73 | 85.78 | 87.04 | 88.19 | 1.95pp |
| BERT-base | MNLI | Acc | 63.50 | 56.30 | 61.10 | 63.40 | 7.20pp |
| BERT-base | CoLA | Mcc | 80.35 | 75.17 | 78.10 | 80.10 | 5.18pp |
| BERT-base | QQP | F1 | 72.10 | 75.44 | 77.60 | 75.20 | +3.34pp |
| RoBERTa-base | SST-2 | Acc | 92.43 | 91.40 | 92.20 | 92.30 | 1.03pp |
| RoBERTa-base | MNLI | Acc | 76.92 | 74.66 | 76.10 | 76.50 | 2.26pp |
| Model | SST-2 | MNLI | CoLA | QQP | Mean |
|---|---|---|---|---|---|
| BERT-base | 33.8% | 33.5% | 34.5% | 33.3% | 33.8% |
| RoBERTa-base | 31.1% | 32.1% | 33.2% | 32.0% | 32.1% |
| Task | Type | Classes | Drop @ =10% | Interpretation |
|---|---|---|---|---|
| SST-2 | Sentiment | 2 | 1.95pp | Simple, highly compressible |
| QQP | Paraphrase | 2 | +3.34pp | Regularization beneficial |
| CoLA | Linguistic | 2 | 5.18pp | Fine structure needed |
| MNLI | Inference | 3 | 7.20pp | Most sensitive – complex reasoning |
| Model | Task | Acc @ =100% | Acc @ =50% | Acc @ =10% | Best |
|---|---|---|---|---|---|
| BERT-base | SST-2 | 87.73% | 88.19% (+0.46) | 85.78% | 50% |
| BERT-base | QQP | 72.10% | 75.20% (+3.10) | 75.44% (+3.34) | 10% |
| RoBERTa-base | CoLA | 79.00% | 79.40% (+0.40) | 73.35% | 50% |
Low-Rank Adaptation
Low-rank adaptation (LoRA) fine-tunes pretrained models with compact weight updates, reducing trainable parameters and deployment costs.
See all 542 papers