LoRA leert minder en vergeet minder
LoRA Learns Less and Forgets Less
May 15, 2024
Auteurs: Dan Biderman, Jose Gonzalez Ortiz, Jacob Portes, Mansheej Paul, Philip Greengard, Connor Jennings, Daniel King, Sam Havens, Vitaliy Chiley, Jonathan Frankle, Cody Blakeney, John P. Cunningham
cs.AI
Samenvatting
Low-Rank Adaptation (LoRA) is een veelgebruikte, parameter-efficiënte methode voor het finetunen van grote taalmodelen. LoRA bespaart geheugen door alleen laag-rang verstoringen te trainen voor geselecteerde gewichtsmatrices. In dit werk vergelijken we de prestaties van LoRA en volledig finetunen op twee doelgebieden, programmeren en wiskunde. We beschouwen zowel het finetunen met instructies (ongeveer 100K prompt-responsparen) als het voortgezet pretrainen (ongeveer 10B ongestructureerde tokens) als gegevensregimes. Onze resultaten tonen aan dat LoRA in de meeste situaties aanzienlijk minder presteert dan volledig finetunen. Desalniettemin vertoont LoRA een gewenste vorm van regularisatie: het behoudt beter de prestaties van het basismodel op taken buiten het doelgebied. We laten zien dat LoRA sterkere regularisatie biedt in vergelijking met veelgebruikte technieken zoals gewichtsverval en dropout; het helpt ook om meer diverse generaties te behouden. We tonen aan dat volledig finetunen verstoringen leert met een rang die 10-100 keer groter is dan typische LoRA-configuraties, wat mogelijk een deel van de gerapporteerde verschillen verklaart. We sluiten af met het voorstellen van best practices voor finetunen met LoRA.
English
Low-Rank Adaptation (LoRA) is a widely-used parameter-efficient finetuning
method for large language models. LoRA saves memory by training only low rank
perturbations to selected weight matrices. In this work, we compare the
performance of LoRA and full finetuning on two target domains, programming and
mathematics. We consider both the instruction finetuning (approx100K
prompt-response pairs) and continued pretraining (approx10B unstructured
tokens) data regimes. Our results show that, in most settings, LoRA
substantially underperforms full finetuning. Nevertheless, LoRA exhibits a
desirable form of regularization: it better maintains the base model's
performance on tasks outside the target domain. We show that LoRA provides
stronger regularization compared to common techniques such as weight decay and
dropout; it also helps maintain more diverse generations. We show that full
finetuning learns perturbations with a rank that is 10-100X greater than
typical LoRA configurations, possibly explaining some of the reported gaps. We
conclude by proposing best practices for finetuning with LoRA.