Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

Parameter-Efficient Fine-Tuning with Discrete Fourier Transform

About

Low-rank adaptation~(LoRA) has recently gained much interest in fine-tuning foundation models. It effectively reduces the number of trainable parameters by incorporating low-rank matrices $A$ and $B$ to represent the weight change, i.e., $\Delta W=BA$. Despite LoRA's progress, it faces storage challenges when handling extensive customization adaptations or larger base models. In this work, we aim to further compress trainable parameters by enjoying the powerful expressiveness of the Fourier transform. Specifically, we introduce FourierFT, which treats $\Delta W$ as a matrix in the spatial domain and learns only a small fraction of its spectral coefficients. With the trained spectral coefficients, we implement the inverse discrete Fourier transform to recover $\Delta W$. Empirically, our FourierFT method shows comparable or better performance with fewer parameters than LoRA on various tasks, including natural language understanding, natural language generation, instruction tuning, and image classification. For example, when performing instruction tuning on the LLaMA2-7B model, FourierFT surpasses LoRA with only 0.064M trainable parameters, compared to LoRA's 33.5M. Our code is released at \url{https://github.com/Chaos96/fourierft}.

Ziqi Gao, Qichao Wang, Aochuan Chen, Zijing Liu, Bingzhe Wu, Liang Chen, Jia Li• 2024

Related benchmarks

TaskDatasetResultRank
Image ClassificationEuroSAT
Accuracy98.02
569
Natural Language UnderstandingGLUE
SST-295.3
531
Image ClassificationSUN397
Accuracy61.92
441
ClassificationCars
Accuracy39.2
395
Image ClassificationRESISC45
Accuracy91.58
349
Natural language generationE2E (test)
ROUGE-L89.45
79
Visual Task AdaptationVTAB 1K
Average Accuracy72.7
78
DialogueMT-Bench (test)
GPT-4 Score8.33
46
Mathematical ReasoningGSM8K
GSM8K Accuracy66.6
30
Logical reasoningBBH (test)
Top@1 Accuracy88.07
27
Showing 10 of 21 rows

Other info

Follow for update