A Little Rank Goes a Long Way: Random Scaffolds with LoRA Adapters Are All You Need
Organizations: Allen Discovery Center at Tufts University, Medford, Massachusetts, USA · Institute for Theoretical Physics, TU Wien, Wien, Austria · Wyss Institute for Biologically Inspired Engineering, Harvard University, Boston, Massachusetts, USA
Abstract
How many of a neural network's parameters actually encode task-specific information? We investigate this question with LottaLoRA, a training paradigm in which every backbone weight is drawn at random and frozen; only low-rank LoRA adapters are trained. Across nine benchmarks spanning diverse architecture families from single-layer classifiers to 900M parameter Transformers low-rank adapters over frozen random backbones recover 96-100% of fully trained performance while training only 0.5-40% of the parameters. The task-specific signal therefore occupies a subspace orders of magnitude smaller than the full parameter count suggests. Three mechanistic findings underpin this result:(1) the frozen backbone is actively exploited when static the learned scaling~ remains strictly positive across all architectures but when the scaffold is destabilized, the optimizer silences it and the LoRA factors absorb all task information; (2) the frozen backbone is preferable but interchangeable any random initialization works equally well, provided it remains fixed throughout training; and (3) the minimum LoRA rank at which performance saturates estimates the intrinsic dimensionality of the task, reminiscent of the number of components retained in Principal Component Analysis (PCA). The construction is formally analogous to Reservoir Computing unfolded along the depth axis of a feedforward network. Because the backbone is determined by a random seed alone, models can be distributed as adapters plus seed a footprint that grows with task complexity, not model size, so that storage and memory savings compound as architectures scale.
Figures & tables
| Concept | RC (time) | LottaLoRA (depth) |
|---|---|---|
| Propagation axis | Time step | Layer index |
| System state | Hidden state | Layer activation |
| Fixed dynamics | Reservoir | Frozen backbone |
| Injection matrix | Input matrix | Scaled up-projection |
| Drive signal | External input | Projection |
| Trainable output | Readout | Head, embeddings, LoRA |
| Test Accuracy (%) | |||
| Rank | Normal- | No- | |
| 1 | 85.1–89.3 | ||
| 2 | 90.6–92.7 | ||
| 4 | 93.6–95.4 | ||
| 8 | 95.4–96.8 | ||
| Full | 98.1–98.4 | ||
| Rank | Mean (%) | Range (%) | Spread (pp) |
|---|---|---|---|
| Full | 98.03 | 97.91–98.21 | 0.30 |
| 90.88 | 90.84–91.03 | 0.19 | |
| 94.45 | 94.33–94.48 | 0.14 | |
| 96.29 | 96.24–96.44 | 0.19 |
| Schedule | |||
|---|---|---|---|
| Standard (static) | 92.61 | 95.53 | 96.80 |
| Epoch | 67.96 | 89.00 | 95.53 |
| Batch ( ) | 42.46 | 54.94 | 91.19 |
| Microbatch ( ) | 41.49 | 47.67 | 56.29 |
| Rank | AUROC | % | %Trainable |
|---|---|---|---|
| 3,482 | 3.7% | ||
| 5,292 | 5.7% | ||
| 8,912 | 9.6% | ||
| 16,152 | 17.4% | ||
| Full | 92,930 | 100% |
| Scale | Rank | AUROC | Recovery | |
|---|---|---|---|---|
| 32 | Full | — | ||
| 93.7% | ||||
| 99.8% | ||||
| 64 | Full | — | ||
| 98.8% | ||||
| 100.0% |
| Benchmark | Rank | Metric Test | LottaLoRA | Baseline | #seeds | % trainable |
|---|---|---|---|---|---|---|
| CIFAR-10 Plain-20 | 16 | acc | % | % | 3 | 38.3% |
| OGBG-MolHIV (GIN) | 16 | ROC-AUC | 5 | 10.9% | ||
| OGBN-Arxiv (GCN) | 32 | acc | % | % | 10 | 35.6% |
| DT (small) | 32 | Val MSE | 5 | 37.5% | ||
| DT (large) | 8 | Val MSE | 5 | 1.87% | ||
| ViT Flowers-102 | 1 | Top-1 acc | % | % | 5 | 1.19% |
| Scale | Full loss | LottaLoRA loss | Ratio (%) | |
|---|---|---|---|---|
| 3M | 5.007 | 5.639 | 7.68 | +0.63 |
| 30M | 3.757 | 4.681 | 1.39 | +0.92 |
| 300M | 3.252 | 4.191 | 0.51 | +0.94 |
| 600M | 3.185 | 4.058 | 0.40 | +0.87 |
| 900M | 3.156 | 3.950 | 0.31 | +0.79 |
| Scale | Full (GB) | LottaLoRA (GB) | Mem. red. | Tput. ratio |
|---|---|---|---|---|
| 3 M | 1.6 | 1.6 | 1% | 0.62 |
| 30 M | 2.8 | 2.5 | 10% | 0.73 |
| 300 M | 10.7 | 7.7 | 28% | 1.00 |
| 600 M | 19.3 | 13.0 | 33% | 1.00 |
| 900 M | 29.8 | 19.1 | 36% | 1.00 |
| Scale | fp16 (MB) | 4-bit (MB) | LottaLoRA (MB) | vs. fp16 | vs. 4-bit |
|---|---|---|---|---|---|
| 3 M | 5 | 1 | 4 | 1 | 0.3 |
| 30 M | 57 | 16 | 24 | 2 | 0.7 |
| 300 M | 586 | 165 | 103 | 6 | 1.6 |
| 600 M | 1,184 | 333 | 105 | 11 | 3.2 |
| 900 M | 2,312 | 650 | 109 | 21 | 6.0 |
Appendix figures & tables23 assets
Supplementary material from the paper’s appendix.
Appendix
| Scale | Layers | Hidden dim | Heads | MLP dim | Total params |
|---|---|---|---|---|---|
| 3 M | 6 | 64 | 4 | 192 | 2.4 M |
| 30 M | 10 | 384 | 6 | 1,024 | 30.0 M |
| 300 M | 22 | 1,024 | 16 | 2,816 | 315.4 M |
| 600 M | 30 | 1,344 | 21 | 3,584 | 693.4 M |
| 900 M | 34 | 1,664 | 26 | 4,608 | 1,212.0 M |
| Method | Rank | Total params | Internal trainable | Ratio (%) | Final loss |
|---|---|---|---|---|---|
| Full (3M) | – | 2,368,320 | 320,320 | 100.00 | 5.007 |
| LottaLoRA (3M) | 1 | 2,371,416 | 3,096 | 0.97 | 5.855 |
| LottaLoRA (3M) | 2 | 2,374,488 | 6,168 | 1.93 | 5.781 |
| LottaLoRA (3M) | 4 | 2,380,632 | 12,312 | 3.84 | 5.682 |
| LottaLoRA (3M) | 8 | 2,392,920 | 24,600 | 7.68 | 5.639 |
| Full (30M) | – | 29,990,784 | 17,702,784 | 100.00 | 3.757 |
| Family | Distribution | Key parameters |
| Standard | ||
| Normal | ||
| Trunc. Normal | clipped at | |
| Uniform | ||
| Orthogonal | Orthogonal matrix | gain |
| Scale-aware | ||
| Method | Test Acc (%) | Trainable | Ratio (%) |
|---|---|---|---|
| Full_tiny | 98.06 | 109,386 | 100.00 |
| Full_small | 98.37 | 242,762 | 100.00 |
| Full_medium | 98.38 | 575,050 | 100.00 |
| LottaLoRA_tiny_r1 | 85.06 | 1,756 | 1.49 |
| LottaLoRA_tiny_r2 | 90.60 | 2,860 | 2.42 |
| LottaLoRA_tiny_r4 | 93.56 | 5,068 | 4.28 |
| Preset | B-init | ||||
|---|---|---|---|---|---|
| tiny | zeros | 86.47 | 90.38 | 93.47 | 95.65 |
| tiny | kaiming | 84.12 | 90.03 | 92.73 | 95.53 |
| small | zeros | 87.68 | 91.07 | 94.64 | 96.24 |
| small | kaiming | 75.23 | 89.93 | 93.27 | 96.03 |
| medium | zeros | 89.40 | 92.92 | 95.74 | 96.94 |
| medium | kaiming | 70.59 | 90.19 | 94.38 | 96.96 |
| Preset | Output | ||||
|---|---|---|---|---|---|
| tiny | full | 86.46 | 90.38 | 93.47 | 95.65 |
| tiny | lora | 75.74 | 87.96 | 92.70 | 95.40 |
| tiny | lora+bias | 77.83 | 88.30 | 92.90 | 95.47 |
| small | full | 87.68 | 91.07 | 94.64 | 96.26 |
| small | lora | 83.20 | 90.15 | 94.27 | 96.21 |
| small | lora+bias | 85.06 | 90.92 | 94.24 | 96.27 |
| Rank | AUROC | #Trainable params | %Trainable |
|---|---|---|---|
| 1 | 3,482 | 3.7% | |
| 2 | 5,292 | 5.7% | |
| 4 | 8,912 | 9.6% | |
| 8 | 16,152 | 17.4% | |
| 16 | 30,632 | 25.1% | |
| 32 | 59,592 | 39.5% |
| Method | Rank | Mean ROC-AUC | Std | Trainable |
|---|---|---|---|---|
| Baseline (fully trained) | — | 0.7755 | 0.0060 | 1,863,906 (100%) |
| LottaLoRA | 0.7520 | 0.0194 | 131,416 (7.1%) | |
| LottaLoRA | 0.7562 | 0.0158 | 203,416 (10.9%) | |
| LottaLoRA | 0.7456 | 0.0152 | 347,416 (18.6%) |
| Rank | Acc (%) | Std | % Trainable |
|---|---|---|---|
| Baseline | 71.86 | 0.22 | 100% |
| 70.11 | 0.21 | 35.6% | |
| 69.04 | 0.14 | 18.3% | |
| 67.51 | 0.24 | 9.6% | |
| 65.21 | 0.40 | 5.3% | |
| 61.96 | 0.53 | 3.1% |
| Method | Rank | Mean Top-1 | Std | Trainable Ratio |
|---|---|---|---|---|
| Baseline (full fine-tune) | — | 96.83% | 0.08% | 100% |
| LottaLoRA (pre-trained) | 1 | 94.53% | 0.35% | 1.19% |
| LottaLoRA (pre-trained) | 4 | 93.99% | 0.28% | 1.76% |
| LottaLoRA (pre-trained) | 8 | 94.01% | 0.35% | 2.51% |
| LottaLoRA (pre-trained) | 32 | 94.68% | 0.22% | 6.76% |
| LottaLoRA (pre-trained) | 64 | 94.89% | 0.16% | 11.89% |
| Method | Rank | Mean Acc | Std | Trainable | % Trainable |
|---|---|---|---|---|---|
| Baseline (full) | — | 85.69% | 0.44% | 10,315,030 | 100% |
| LottaLoRA (fan-in) | 1 | 83.30% | 0.48% | 6,673 | 0.06% |
| LottaLoRA (fan-in) | 2 | 84.39% | 0.28% | 12,817 | 0.12% |
| LottaLoRA (fan-in) | 4 | 84.59% | 0.53% | 25,105 | 0.24% |
| LottaLoRA (fan-in) | 8 | 85.12% | 0.57% | 49,681 | 0.48% |
| LottaLoRA (fan-in) | 16 | 84.93% | 0.46% | 98,833 | 0.95% |
| Rank | Vanilla | +Residual | +DoRA+Res | Trainable ratio |
|---|---|---|---|---|
| 1 | 3.1% | |||
| 2 | 5.2% | |||
| 4 | 10.1% | |||
| 8 | 19.5% | |||
| 16 | 38.3% | |||
| 32 | 43.3% |
| Method | Val MSE | Std | D4RL (%) | Ratio | |
| Small scale (128-d, 3-layer) | |||||
| Baseline (full) | — | 0.02718 | 0.00173 | 100.00% | |
| Static scaffold ( noise_lora ) | |||||
| LottaLoRA | 1 | 0.03482 | 0.00169 | 19.23% | |
| LottaLoRA | 2 | 0.03221 | 0.00169 | 19.98% | |
| LottaLoRA | 4 | 0.02985 | 0.00173 | 21.44% | |
| Component | Status | Notes |
|---|---|---|
| Frozen | Required | Any distribution; values interchangeable but actively exploited when static ( , magnitude varies by architecture; Sections 5.2 , 5.3 ) |
| LoRA factors ( , ) | Required | Core trainable parameters |
| scalar | Recommended | Stabilizes training; can be fixed at 1.0 |
| scaling | Standard | Follows LoRA convention [ 2 ] |
| LayerNorm | Optional | Adds params/layer; helps at low rank |
| Fan-in scaling | Req. if no LN | Either fan-in or LN needed; both removed divergence |
Random Feature Methods
Random feature methods approximate kernels and neural networks with finite randomized embeddings to reduce computation while retaining useful accuracy.
See all 46 papers