LoRA Aprende Menos e Esquece Menos
LoRA Learns Less and Forgets Less
May 15, 2024
Autores: 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
Resumo
A Adaptação de Baixa Classificação (LoRA) é um método amplamente utilizado de ajuste fino eficiente em parâmetros para modelos de linguagem de grande escala. O LoRA economiza memória ao treinar apenas perturbações de baixa classificação em matrizes de pesos selecionadas. Neste trabalho, comparamos o desempenho do LoRA e do ajuste fino completo em dois domínios de destino: programação e matemática. Consideramos tanto o regime de ajuste fino por instrução (aproximadamente 100K pares de prompt-resposta) quanto o de pré-treinamento contínuo (aproximadamente 10B tokens não estruturados). Nossos resultados mostram que, na maioria das configurações, o LoRA apresenta desempenho substancialmente inferior ao ajuste fino completo. No entanto, o LoRA exibe uma forma desejável de regularização: ele mantém melhor o desempenho do modelo base em tarefas fora do domínio de destino. Mostramos que o LoRA fornece uma regularização mais forte em comparação com técnicas comuns, como decaimento de peso e dropout; ele também ajuda a manter gerações mais diversas. Demonstramos que o ajuste fino completo aprende perturbações com uma classificação 10 a 100 vezes maior do que as configurações típicas do LoRA, o que possivelmente explica parte das lacunas relatadas. Concluímos propondo práticas recomendadas para o ajuste fino com 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.