DoRA: Enhancing Parameter-Efficient Fine-Tuning with Dynamic Rank Distribution

Yulong Mao, Kaiyu Huang, Changhao Guan, Ganglin Bao, Fengran Mo +1 more
5/27/2024
cs.CL

Official code: MIkumikumi0116/DoRA (8 stars, last commit 2024-05-28). 1 more implementation below.

Abstract

Fine-tuning large-scale pre-trained models is inherently a resource-intensive task. While it can enhance the capabilities of the model, it also incurs substantial computational costs, posing challenges to the practical application of downstream tasks. Existing parameter-efficient fine-tuning (PEFT) methods such as Low-Rank Adaptation (LoRA) rely on a bypass framework that ignores the differential parameter budget requirements across weight matrices, which may lead to suboptimal fine-tuning outcomes. To address this issue, we introduce the Dynamic Low-Rank Adaptation (DoRA) method. DoRA decomposes high-rank LoRA layers into structured single-rank components, allowing for dynamic pruning of parameter budget based on their importance to specific tasks during training, which makes the most of the limited parameter budget. Experimental results demonstrate that DoRA can achieve competitive performance compared with LoRA and full model fine-tuning, and outperform various strong baselines with the same storage parameter budget. Our code is available at https://github.com/MIkumikumi0116/DoRA

View on arXivView PDF

Code Implementations(2)

Code for "DoRA: Enhancing Parameter-Efficient Fine-Tuning with Dynamic Rank Distribution."

81PythonMay 28, 20242 years ago
Yulongmao1/DoRACommunity100%
MIT

Implementation code for 'Enhancing LoRA with Dynamic Rank Distribution' Code will be uploaded soon.

20Feb 10, 20242 years agoMIT

Similar Papers

Cite this paper

@article{mao2024dora,
  title  = {DoRA: Enhancing Parameter-Efficient Fine-Tuning with Dynamic Rank Distribution},
  author = {Yulong Mao and Kaiyu Huang and Changhao Guan and Ganglin Bao and Fengran Mo and Jinan Xu},
  year   = {2024},
  eprint = {2405.17357},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.17357v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.17357.svg)](https://codeofpaper.com/paper/2405.17357)

Discussion