VeRA: Vector-based Random Matrix Adaptation
Dawid J. Kopiczko, Tijmen Blankevoort, Yuki M. Asano
TL;DR
VeRA tackles the storage bottleneck of fine-tuning large models by reparameterizing layer updates using a single shared pair of frozen random matrices and trainable per-layer scaling vectors. This design yields a parameter footprint of |Θ| = L_tuned(d_model + r), dramatically smaller than LoRA, while preserving accuracy across GLUE, E2E, and image classification benchmarks and enabling instruction-tuning of 7B/13B models with orders of magnitude fewer trainable parameters. The approach demonstrates strong empirical results, matching or surpassing LoRA with far fewer trainable parameters and offering practical advantages for per-user or per-task deployment due to negligible inference-time changes and seed-based memory efficiency. Ablation studies confirm the necessity of both scaling vectors and show the robustness of VeRA to initialization choices and matrix-sharing strategies, highlighting its potential for scalable, memory-efficient fine-tuning in diverse domains.
Abstract
Low-rank adapation (LoRA) is a popular method that reduces the number of trainable parameters when finetuning large language models, but still faces acute storage challenges when scaling to even larger models or deploying numerous per-user or per-task adapted models. In this work, we present Vector-based Random Matrix Adaptation (VeRA), which significantly reduces the number of trainable parameters compared to LoRA, yet maintains the same performance. It achieves this by using a single pair of low-rank matrices shared across all layers and learning small scaling vectors instead. We demonstrate its effectiveness on the GLUE and E2E benchmarks, image classification tasks, and show its application in instruction-tuning of 7B and 13B language models.
