TL;DRFreeze each layer's pretrained block-wise SVD basis and train only a small core plus singular values. The update stays full-rank, is spectrally preconditioned, and costs the same as LoRA — yet beats Full FT on SFT, math RLVR and VLM tuning.
LLaMA-3-8B, Commonsense-170K SFT, single H100. Accuracy bars span 60–90%.
Abstract
Both full fine-tuning and LoRA add weight updates without regard to the spectral structure established by pretraining, letting noisy gradients from a small fine-tuning set perturb robust pretrained features. We identify spectral preconditioning as the missing ingredient: reparameterizing each weight through its full-rank SVD and freezing one singular basis confines every update to the pretrained column space, and already outperforms unconstrained Full FT at the same parameter count.
To make this practical, FuRA (Full-Rank Adaptation) factorizes \(\mathbf W\) with a block tensor-train decomposition \(\mathbf W=\mathbf L\,\mathbf S\,\mathbf R\): the large core \(\mathbf L\) is frozen at the pretrained block-wise SVD basis, and only the small core \(\mathbf R\) and per-block singular values \(\mathbf S\) are trained. One design choice gives full-rank preconditioning, full-rank update capacity, and LoRA-level parameter, time and memory cost. The 4-bit QFuRA also outperforms QLoRA.
Method

Why it works
One gradient step on block \(k\) gives an effective update that is not plain SGD on \(\mathbf W\):
- Column-space projection. \(\mathbf U_k\mathbf U_k^\top\) keeps every update inside the pretrained output subspace of that block.
- Singular-value preconditioning. \(\sigma^2\) scaling amplifies high-signal directions and damps the rest; trainable \(\mathbf S\) decouples magnitude from direction.
- Full-rank capacity. Across blocks the subspaces span \(\mathrm{col}(\mathbf W)\), so \(\mathrm{rank}(\Delta\mathbf W)\) is uncapped — no rank to tune.
- Cheap. ~\(d^{3/2}\) trainable parameters per layer (1.46% on LLaMA-3-8B); forward is one dense GEMM plus one batched GEMM.
Motivation: what Full FT does implicitly


Results
Commonsense reasoning SFT · 8-task avg.
| Method | Trainable % | LLaMA-2-7B | LLaMA-3-8B |
|---|---|---|---|
| Full FT | 100 | 83.53 | 86.64 |
| LoRA (r=64) | 1.39 | 81.25 | 83.46 |
| DoRA (r=64) | 1.42 | 81.80 | 85.04 |
| PiSSA (r=128) | 1.39 | 82.36 | 85.90 |
| MiLoRA (r=64) | 1.39 | – | 84.96 |
| RandLoRA (r=64) | 0.33 | – | 83.28 |
| FuRA | 1.46 | 84.41 | 88.01 |
Trainable % shown for LLaMA-3-8B (FuRA: 1.53% on LLaMA-2-7B). FuRA averaged over 3 seeds (std 0.09).
Math RLVR · GRPO on Qwen3-1.7B, 50 steps
| Method | MATH-500 | AMC23 | AIME-24 | AIME-25 |
|---|---|---|---|---|
| Base | 52.2 | 30.0 | 5.8 | 7.5 |
| Full FT | 61.5 | 46.7 | 13.2 | 14.6 |
| LoRA | 59.6 | 48.3 | 9.2 | 11.1 |
| DoRA | 62.3 | 45.0 | 13.6 | 14.7 |
| PiSSA | 49.1 | 30.8 | 2.2 | 4.7 |
| MiLoRA | 58.5 | 41.7 | 7.6 | 11.7 |
| RandLoRA | 62.2 | 55.0 | 13.8 | 18.3 |
| FuRA | 62.5 | 55.8 | 13.8 | 13.8 |
Mean over 3 seeds. AIME avg@8 at T=0.6; MATH-500/AMC23 greedy. FuRA also matches or beats Full FT on Qwen2.5-7B.
VLM instruction tuning · LLaVA-1.5-7B
| Method | Params | 7-task avg. |
|---|---|---|
| Full FT | 100% | 66.5 |
| LoRA | 4.61% | 66.9 |
| DoRA | 4.63% | 67.6 |
| FuRA | 1.37% | 67.6 |
4-bit quantized fine-tuning
| Method | LLaMA-3-8B CS avg. | LLaMA-3-70B GSM8K |
|---|---|---|
| QLoRA | 83.89 | 81.27 |
| QDoRA | 86.34 | 81.80 |
| QFuRA | 87.30 | 83.78 |
Quick start
from fura import convert_linear_to_btt, configure_blocktt_trainability
convert_linear_to_btt(
model,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
decomp_mode="output_one_block", # freeze L (output subspace)
rank="full",
s_merged_to="keep_trainable", # S as separate trainable vector
)
configure_blocktt_trainability(model, train_position="small") # train R + S
Reproduction scripts for all four tracks (commonsense SFT, math RL, LLaVA, QFuRA) are in the repository.
BibTeX
@inproceedings{zhao2026fura,
title = {{FuRA}: Full-Rank Parameter-Efficient Fine-Tuning with Spectral Preconditioning},
author = {Zhao, Yequan and Zhang, Ruijie and Tan, Liyan and Moran, Niall and Qin, Tong and Zhang, Zheng},
booktitle = {Advances in Neural Information Processing Systems},
year = {2026}
}